bootstrap: port to OpenBSD sed
[gnulib.git] / ChangeLog
1 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
2
3         bootstrap: port to OpenBSD sed
4         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
5         does not interpret `-' as a file argument to mean stdin.
6
7 2013-08-15  Eric Blake  <eblake@redhat.com>
8
9         warnings: minor optimization
10         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
11
12         warnings: check -Wfoo rather than -Wno-foo
13         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
14         -Wno-, test if the compiler recognizes the positive form instead.
15
16 2013-08-15  Karl Berry  <karl@gnu.org>
17
18         * config/srclist-update: add option "doclicense" to placate
19         pulling *.texi files from Emacs.  Write terse usage
20         documentation at the top.
21
22 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
23
24         xvasprintf-tests: port to GCC with hardening flags
25         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
26         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
27         http://lists.gnu.org/archive/html/bug-diffutils/2013-08/msg00002.html
28
29 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
30
31         fpending: port to recent Cygwin change to stdio_ext.h
32         Reported by LRN in
33         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00028.html>.
34         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
35         just declare __fpending unless it's a macro.
36         A duplicate decl shouldn't hurt.
37         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
38         call compiles and links, instead of separately checking for
39         decl and lib function.
40         * modules/fpending (configure-ac):
41         Adjust to fpending.m4's renaming of shell variable.
42
43 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
44
45         sys_time: port to OpenBSD
46         * lib/sys_time.in.h: Simply delegate to the system's header
47         in the BSDish cases as well.  Problem reported by Mike Miller in
48         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00016.html>.
49         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
50         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
51         wider than time_t.
52
53 2013-08-09  Pádraig Brady <P@draigBrady.com>
54
55         bootstrap: support checksum utils having -c but not --status
56         * build-aux/bootstrap: Only look for sha1sum if updating po files.
57         Add sha1 to the list of supported checksum utils since it's now
58         supported through adjustments below.
59         (update_po_files): Remove the use of --status
60         in a way that will suppress all error messages, but since this is
61         only used to minimize updates, it shouldn't cause an issue.
62         Exit early if there is a problem updating the po file checksums.
63         (find_tool): Remove the check for --version support as this
64         is optional as per commit 86186b17.  Don't even check for the
65         presence of the command as if that is needed, it's supported
66         through configuring prerequisites in bootstrap.conf.
67         Prompt that when a tool isn't found, one can define an environment
68         variable to add to the hardcoded search list.
69
70 2013-08-05  Jim Meyering  <meyering@fb.com>
71
72         regex: port to non-glibc/lock-using systems
73         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
74         system with GNULIB_LOCK would fail due to absence of the
75         included "glthread/lock.h".  This would affect any package
76         for which the "lock" module is used only by the regex module,
77         and not explicitly used.
78         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
79         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
80         Add a dependency on the "lock" module.
81
82 2013-07-20  Daiki Ueno  <ueno@gnu.org>
83
84         localecharset: make locale_charset thread-safe on Mac OS X
85         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
86         instead of MB_CUR_MAX.
87
88 2013-07-20  Daiki Ueno  <ueno@gnu.org>
89
90         gettext: update to version 0.18.3
91         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
92         require AC_PROG_SED to allow user to specify custom sed command when
93         generating en@quot PO file.
94
95 2013-07-18  Werner Lemberg <wl@gnu.org>  (tiny change)
96
97         bootstrap: use correct source when copying build-aux files
98         * build-aux/bootstrap (gnulib_extra_files): This variable is
99         relative to upstream gnulib layout, not downstream.
100
101 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
102
103         tmpdir: fix bug in VMS port
104         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
105         See Steven M. Schweda in
106         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00026.html>.
107
108 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
109
110         tmpdir: port to VMS, to // != /, and to long dirs
111         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
112         __secure_getenv, so that we're more like the glibc version.
113         All uses changed.
114         (path_search): Don't put slash after directory if __VMS.
115         Problem reported by Steven M. Schweda in
116         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00019.html>.
117         Simplify code to add slash; no need for a loop.
118         Do not remove trailing slash from "//".
119         Do not assume dlen <= INT_MAX.
120
121 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
122
123         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
124         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
125         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
126         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00015.html>.
127
128         accept4, dup3, pipe2: port to Cygwin
129         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
130         * lib/accept4.c (accept4) [O_BINARY]:
131         * lib/dup3.c (dup3) [O_BINARY]:
132         * lib/pipe2.c (pipe2) [O_BINARY]:
133         Use set_binary_mode, not setmode.
134         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
135         * modules/binary-io (Depends-on): Remove module indicator.
136         These last two bits undo the previous change to pipe2 and binary-io.
137
138 2013-07-09  Pádraig Brady  <P@draigBrady.com>
139
140         mountlist: add support for deallocating returned list entries
141         * lib/mountlist.c (free_mount_entry): A new exported function
142         to deallocate a mount list entry.
143         (read_file_system_list): Refactor to use the new deallocation function.
144         Suggested by Anton Ovchinnikov.
145
146 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
147
148         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
149         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
150         * lib/stdalign.in.h (_Alignas, _Alignof):
151         Port to FreeBSD 9.1, and to C11 and C++11.
152         (_Alignas): Also support ICC.
153         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
154         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
155
156 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
157
158         fnmatch: don't goto over declaration
159         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
160         undefined behavior for goto over a declaration.
161         Problem reported by Charlie Brown in
162         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
163
164         pipe2: decouple from binary-io a bit
165         This is for Emacs, which needs pipe2 but not binary-io.
166         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
167         * modules/binary-io (Depends-on): Add module indicator.
168
169 2013-07-03  Eric Blake  <eblake@redhat.com>
170
171         mgetgroups: relax license to LGPLv2+
172         * modules/getugroups (License): Change from GPLv3+.
173         * modules/mgetgroups (License): Likewise.
174         * modules/getgroups (License): Change from LGPLv3+.
175
176         xalloc-oversized: relax license to LGPLv2+
177         * modules/xalloc-oversized (License): Change from GPLv3+.
178
179         nproc: relax license to LGPLv2+
180         * modules/nproc (License): Change from LGPLv3+.
181
182         bootstrap: honor --no-git
183         * build-aux/bootstrap: Don't even try to use git when user is
184         pointing to a static checkout.
185
186 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
187
188         ignore-value: port to gcc -pedantic
189         * lib/ignore-value.h (ignore_value):
190         Port to gcc -pedantic, by using __extension__.
191         Reindent as per usual gnulib style nowadays.
192         Simplify GCC version check.
193
194 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
195
196         extern-inline: port to gcc -std=c89
197         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
198         Do not use __gnu_inline__ if pedantic and pre-C99.
199
200 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
201
202         doc: document extern-inline
203         * doc/extern-inline.texi: New file.
204         * doc/gnulib.texi (alloca-opt): Include it.
205         * m4/extern-inline.m4: Move some comments to documentation,
206         and others closer to what they describe.
207
208         doc: chatter less
209         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
210         (updated-stamp): Use it.  This causes 'make' to output just
211         one file name rather than zillions.
212
213         fflush, fseeko: port to musl cross-compiles
214         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
215         on some implementation that (1) is not known to be buggy,
216         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
217         cross-compiled to so we can't easily check for lack of
218         conformance.  This is for cross-compiling to musl.
219         Reported by Rich Felker in
220         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
221         * m4/fclose.m4 (gl_FUNC_FCLOSE):
222         * m4/fflush.m4 (gl_FUNC_FFLUSH):
223         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
224         Adjust to above change.
225         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
226         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
227         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
228         known not to work, or unknown.
229
230 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
231
232         msvc-inval: port to mingw-w64
233         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
234         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
235         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00039.html>.
236
237 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
238
239         getcwd-lgpl: port to Tru64
240         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
241         Problem reported by Steven M. Schweda in
242         <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
243
244         tests: port large-fd POSIX spawn tests to OS X
245         Problem reported by Daiki Ueno in
246         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
247         * tests/test-posix_spawn_file_actions_addclose.c:
248         * tests/test-posix_spawn_file_actions_adddup2.c:
249         * tests/test-posix_spawn_file_actions_addopen.c:
250         Include <limits.h>, for OPEN_MAX, if available.
251         (big_fd): New static function.
252         (main): Use it.
253
254 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
255
256         tests/nap.h: use an adaptive delay to avoid ctime update issues
257         The recent change in nap.h (5191133e) decreased the probability of lost
258         races to about a third, however such problems could still be observed
259         in virtual machines and openSUSE's OBS.
260         Before, nap() detected the needed time once empirically and then used
261         that delay (together with a small correction multiplier) in further
262         calls.  This problem has been reported and discussed several times,
263         including guesses about possible kernel issues:
264         https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
265         http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
266         https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
267         http://bugs.gnu.org/12820
268         https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
269         https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html
270         Now, nap() avoids the race alltogether by verifying on a reference
271         file whether a timestamp difference has happened.
272         * tests/nap.h (nap_fd): Define file descriptor variable for the
273         witness file.
274         (nap_works): Change return value to bool.  Change passing
275         the old file's status by value instead of by reference as this function
276         does no longer update that timestamp; rename the function argument from
277         st to old_st.  Remove the local variables cdiff and mdiff because that
278         function now returns true/false instead of the precise delay.
279         (guess_delay): Remove function.
280         (clear_tmp_file): Add new function to close and unlink the witness file.
281         (nap): Instead of re-using the delay which has been calculated during
282         the first call, avoid the race by actually verifying that a timestamp
283         difference can be observed on the current file system.  Use an adaptive
284         approach for the delay to minimize execution time.  Assert that the
285         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
286         = 2^31 - 1 = 2.1s.
287         Use atexit to call clear_tmp_file when the process terminates.
288
289 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
290
291         sig2str: port to C++
292         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
293         Reported by Daniel J Sebald in
294         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.
295
296 2013-05-30  Eric Blake  <eblake@redhat.com>
297
298         docs: mention cygwin shortcoming in <sys/un.h>
299         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
300
301         vasnprintf: silence mingw compiler warning
302         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
303
304 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
305
306         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
307         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
308         This fixes a porting bug I recently reintroduced in regex, and
309         some other instances that I discovered while testing the fix.
310         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
311         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
312         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
313         with an empty argument if this is a pedantic pre-C99 GCC.
314         * lib/verify.h: Do not use _Static_assert if this is a pedantic
315         pre-C11 GCC.
316
317         regex: adapt to locking regime instead of depending on pthread
318         Instead of depending on pthread, adapt to whatever thread
319         modules are in use.  Problem reported by Ludovic Courtès in
320         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
321         and by Mats Erik Andersson in
322         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
323         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
324         Support either the 'lock' module, or the 'pthread' module, or
325         no module.
326         (lock_lock, lock_unlock): New macros.
327         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
328         * modules/lock, modules/pthread (configure.ac): Add module indicator.
329         * modules/regex (Depends-on): Remove pthread.
330
331 2013-05-22  Eric Blake  <eblake@redhat.com>
332
333         getgroups: document portability issues
334         * doc/glibc-functions/initgroups.texi (initgroups): Mention
335         multithread safety.
336         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
337         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
338         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
339         getugroups.
340         * doc/posix-functions/getgroups.texi (getgroups): Mention
341         multithread safety and mgetgroups.
342
343 2013-05-22  Bernhard Voelker <mail@bernhard-voelker.de>
344
345         test-lchown, test-chown: also skip test if chown fails with EPERM
346         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
347         skip this test, to handle FAT file systems.
348         * tests/test-chown.h (test_chown): Likewise.
349
350 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
351
352         regex: fix dfa race in multithreaded uses
353         Problem reported by Ludovic Courtès in
354         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
355         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
356         New macros.  All uses of __libc_lock_define, __libc_lock_init
357         changed to use the first two of these.
358         (__libc_lock_lock, __libc_lock_unlock): New macros, for
359         non-glibc platforms.
360         (struct re_dfa_t): Define the lock unconditionally.
361         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
362         '#ifdef _LIBC"s.
363         * modules/regex (Depends-on): Add pthread, if we use the
364         included regex.
365
366         * lib/regcomp.c: Do actions that are not needed for glibc,
367         but may be needed elsewhere.
368         (regfree, re_compile_internal): Destroy the lock.
369         (re_compile_internal): Check for lock-initialization failure.
370
371         malloca: port to compilers that reject size-zero arrays
372         This fixes a bug introduced in my previous patch.
373         * lib/malloca.c (struct preliminary_header): Use an int
374         rather than a character array of size int; that's simpler.
375         (struct header): Remove, replacing with ...
376         (union header): New type.  This avoids the need for declaring a
377         character array of size zero, which is not allowed on some platforms.
378         All uses changed.
379
380 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
381
382         parse-datetime, tests: don't use "string" + int
383         Recent versions of 'clang' complain about C source code that
384         uses expressions of the form '"string literal" + integer',
385         I guess on the theory that it's confusing for readers who are
386         used to C++.  On those grounds I suppose it's OK to make this
387         minor style change.
388         * lib/parse-datetime.y (parse_datetime):
389         * tests/test-fchdir.c (main):
390         * tests/test-snprintf-posix.h (test_function):
391         * tests/test-snprintf.c (main):
392         * tests/test-vasnprintf-posix.c (test_function):
393         * tests/test-vasnprintf.c (test_function):
394         * tests/test-vsnprintf.c (main):
395         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
396         Rewrite '"str" + E' to '&"str"[E]'.
397
398 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
399
400         argmatch: port to C++
401         * lib/argmatch.h [__cplusplus]: Add extern "C".
402
403         argp: typo fix
404         * lib/argp-help.c: Typo in comment.
405
406 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
407
408         manywarnings: update for GCC 4.8.0
409         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
410         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
411         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
412         -Wmissing-noreturn, as they are duplicates of other warnings.
413         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
414         was documented to be flaky in earlier versions of GCC.
415
416         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
417         * tests/test-spawn.c (main):
418         * tests/test-sys_socket.c (main):
419         * tests/test-sys_wait.c (main):
420         Don't have a switch value that isn't covered by a case.
421
422         getaddrinfo-tests: port --enable-gcc-warnings to clang
423         * tests/test-getaddrinfo.c (simple):
424         Avoid casts from looser to stricter-aligned pointers.
425
426         thread: port --enable-gcc-warnings to clang
427         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
428         Include <signal.h>, to pacify a warning about pthread_sigmask.
429
430         stdio: use __REDIRECT for fwrite, fwrite_unlocked
431         * lib/stdio.in.h (fwrite):
432         When working around bug 11959, use __REDIRECT rather than '#define
433         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
434         fix the -Wunused-value issue with clang, and it works with GCC too.
435         Problem with targeting reported by Eric Blake in
436         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
437         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
438         debugging the fwrite issue.
439
440         stdio: port --enable-gcc-warnings to clang
441         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
442         since the GCC workaround for fwrite does not pacify clang.
443
444         sig2str: port --enable-gcc-warnings to clang
445         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
446
447         obstack: port --enable-gcc-warnings to clang
448         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
449         Avoid casts from looser to stricter-aligned pointers.
450
451         memchr2: port --enable-gcc-warnings to clang
452         * lib/memchr2.c (memchr2):
453         Avoid casts from looser to stricter-aligned pointers.
454
455         mbsstr: port --enable-gcc-warnings to clang
456         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
457         Avoid casts from looser to stricter-aligned pointers.
458
459         malloca: port --enable-gcc-warnings to clang
460         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
461         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
462
463         inttostr: port --enable-gcc-warnings to clang
464         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
465
466         warnings: port to clang
467         Problem reported by Daniel P. Berrange via Eric Blake in
468         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
469         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
470         (gl_WARN_ADD): Use it.
471
472 2013-05-11  Jim Meyering  <meyering@fb.com>
473
474         quotearg: do not read beyond end of buffer
475         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
476         end of an ARG for which no length was specified.  With an N-byte
477         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
478         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
479         via coreutils' misc/sort-debug-keys.sh test and detected by running
480         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
481         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
482         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
483         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
484         characters correctly."
485
486 2013-05-11  Daiki Ueno  <ueno@gnu.org>
487
488         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
489         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
490         compilation target is Mac OS X 10.6.
491         Problem reported by parafin and Andoni Morales in
492         <http://savannah.gnu.org/bugs/?37844> and
493         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
494
495 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
496
497         mkdir-p: remove assumptions about umask and mode
498         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
499         umask is 0, or that MODE is a subset of MODE_BITS.
500
501 2013-05-10  Eric Blake  <eblake@redhat.com>
502
503         maint.mk: catch more abuse of HAVE_DECL in syntax-check
504         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
505
506 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
507
508         deps: require Automake >= 1.9.6 in generated Makefile fragments
509
510         That is the same minimal version required in the DEPENDENCIES file.
511         Moreover, the old code generated a requirement of Automake >= 1.5,
512         and that is an insanely outdated version.
513
514         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
515         * tests/havelib/rpathlx/Makefile.am: Likewise.
516         * tests/havelib/rpathly/Makefile.am: Likewise.
517         * tests/havelib/rpathlyx/Makefile.am: Likewise.
518         * tests/havelib/rpathlz/Makefile.am: Likewise.
519         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
520         * tests/havelib/rpathx/Makefile.am: Likewise.
521         * tests/havelib/rpathy/Makefile.am: Likewise.
522         * tests/havelib/rpathz/Makefile.am: Likewise.
523
524 2013-05-08  Eric Blake  <eblake@redhat.com>
525
526         bootstrap: AC_INIT may have more than four parameters
527         * build-aux/bootstrap (extract_package_name): Correctly extract
528         non-empty tarname field.  Avoid range in regex.
529         Based on a report by Sami Kerola <kerolasa@iki.fi>.
530
531 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
532
533         qacl: port to MS-Windows port of GNU Emacs
534         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
535         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
536         port of GNU Emacs.  Problem reported by Eli Zaretskii in
537         <http://bugs.gnu.org/14295#14>.
538
539 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
540
541         acl: include quote.h
542         * lib/copy-acl.c: Include quote.h.
543         * lib/set-acl.c: Likewise.
544
545 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
546
547         fchownat, renameat, unlinkat: update statat dependencies
548         These modules use statat and lstatat, not fstatat; so depend on
549         the statat module, which was split out recently from fstatat.
550         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
551         * modules/renameat: Likewise.  Also delete fstat.
552         URL: http://bugs.gentoo.org/468790
553
554 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
555
556         Assume gnulib is checked out from Git, not CVS
557
558         In fact, access to the gnulib repository through CVS has been
559         disabled, or more precisely, got broken and was never restored; see:
560         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
561
562         Note that support for CVS is not removed completely and unthinkingly
563         by this change: only support for CVS checkouts of gnulib itself is
564         removed.  For example, the 'bootstrap' script still cater to .cvsingore
565         files and CVS directories, for the benefit of those poor gnulib clients
566         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
567
568         * gnulib-tool: Simplify accordingly.
569         * posix-modules: Likewise.
570         * MODULES.html.sh: Likewise.
571         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
572         repository.
573         * doc/gnulib-intro.texi: Likewise.
574         * doc/gnulib-readme.texi: Likewise.
575         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
576         sample '.gitignore' file rather than a sample '.cvsignore'.
577         * NEWS: Update.
578         * m4/extensions.m4: While at it, remove a comment mistakenly referring
579         to "CVS Autoconf" rather than "git Autoconf".
580
581 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
582
583         utimensat-tests, etc.: try to fix some races
584         Problem reported by Bernhard Voelker in
585         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
586         I don't know whether this patch fixes that race condition, but it
587         fixes *some* race conditions, so it should be a win.
588         * modules/chown-tests (Depends-on):
589         * modules/fchownat-tests (Depends-on):
590         * modules/fdutimensat-tests (Depends-on):
591         * modules/futimens-tests (Depends-on):
592         * modules/lchown-tests (Depends-on):
593         * modules/stat-time-tests (Depends-on):
594         * modules/utimens-tests (Depends-on):
595         * modules/utimensat-tests (Depends-on):
596         Depend on nanosleep, not usleep.
597         * modules/chown-tests (test_chown_LDADD):
598         * modules/lchown-tests (test_lchown_LDADD):
599         * modules/stat-time-tests (test_stat_time_LDADD):
600         New macro.
601         * modules/fchownat-tests (test_fchownat_LDADD):
602         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
603         * modules/futimens-tests (test_futimens_LDADD):
604         * modules/utimens-tests (test_utimens_LDADD):
605         * modules/utimensat-tests (test_utimensat_LDADD):
606         Add $(LIB_NANOSLEEP).
607         * modules/stat-time-tests (Files): Add tests/nap.h.
608         * tests/nap.h: Include <limits.h>, for INT_MAX.
609         (lt_mtime): Remove.
610         (diff_timespec): New function.
611         (get_stat): Rename from get_mtime.  All callers changed.
612         (nap_works): Determine the needed delay by inspecting the
613         file system's timestamp jumps; this should be more reliable.
614         Look at both mtime and ctime, and take the maximum of the two jumps.
615         (nap_works, guess_delay):
616         Return a nanosecond cound, not a microsecond count.
617         All callers changed.
618         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
619         failure.
620         (nap): Multiply the guess by 1.125, to accommodate the case where
621         the file system's clock is a bit slower than nanosleep's clock.
622         * tests/test-stat-time.c (BASE): New macro.
623         Include nap.h.
624         (nap): Remove; nap.h now defines this.  This removes a duplicate
625         implementation of 'nap'.
626
627         utimens, utimensat: work around Solaris UTIME_OMIT bug
628         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
629         Linux kernel 2.6.32 does.  Work around it in the same way.
630         * doc/posix-functions/futimens.texi (futimens):
631         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
632         * lib/utimens.c (fdutimens, lutimens):
633         * lib/utimensat.c (rpl_utimensat): Work around the bug.
634
635         gettext: now it's your responsibility to add -I$(top_builddir)/intl
636         Formerly, it was your responsibility to do this for all Makefile.ams
637         other than Gnulib's.  Now it's your responsibility to do it for
638         Gnulib's Makefile.am, too.
639         * NEWS: Document this.
640         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
641
642         acl: include errno.h to get errno
643         Reported by Daiki Ueno in
644         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
645         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
646
647 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
648
649         tests: don't assume getdtablesize () <= 10000000
650         * modules/cloexec-tests:
651         * modules/dup2-tests:
652         * modules/dup3-tests:
653         * modules/nonblocking-tests:
654         * modules/posix_spawn_file_actions_addclose-tests:
655         * modules/posix_spawn_file_actions_adddup2-tests:
656         * modules/posix_spawn_file_actions_addopen-tests:
657         * modules/unistd-safer-tests:
658         Depend on the getdtablesize module.
659         * tests/test-cloexec.c:
660         * tests/test-dup-safer.c:
661         * tests/test-dup2.c:
662         * tests/test-dup3.c:
663         * tests/test-fcntl.c:
664         * tests/test-nonblocking.c:
665         * tests/test-posix_spawn_file_actions_addclose.c:
666         * tests/test-posix_spawn_file_actions_adddup2.c:
667         * tests/test-posix_spawn_file_actions_addopen.c:
668         Don't assume getdtablesize () <= 10000000.
669
670 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
671
672         extern-inline: work around bug in Sun c99
673         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
674         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
675
676 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
677
678         qacl: new module, broken out from the acl module
679         This is for GNU Emacs, which wants the acl functions but does
680         not want 'error' invoked when they fail.
681         * lib/acl-internal.h: Do not include error.h, quote.h.
682         (ENOSYS, ENOTSUP): Remove; no longer needed.
683         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
684         * lib/acl.h: Include <stdbool.h>.
685         (acl_errno_valid): New function.
686         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
687         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
688         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
689         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
690         (ACL_INTERNAL_INLINE): Remove; no longer needed.
691         * lib/file-has-acl.c (file_has_acl):
692         * lib/qcopy-acl.c (qcopy_acl):
693         * lib/qset-acl.c (qset_acl):
694         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
695         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
696         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
697         lib/file-has-acl.c, m4/acl.m4 to qacl module.
698         Add lib/set-acl.c.
699         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
700         Add qacl.
701         (configure.ac): Move gl_FUNC_ACL to qacl module.
702         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
703         Rename set-mode-acl.c to set-acl.c.
704         * lib/acl-errno-valid.c: New file.
705         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
706         copy_acl function remains in copy-acl.c.
707         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
708         (_): Remove; not needed.
709         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
710         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
711         * modules/qacl: New file, moved from the old modules/acl.
712         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
713         Remove set-mode-acl.c, copy-acl.c.
714         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
715
716         alignof, intprops, malloca: port better to IBM's C compiler
717         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
718         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
719         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
720
721 2013-04-25  Daiki Ueno  <ueno@gnu.org>
722
723         wctype-h: fix gettext link error on mingw
724         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
725         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
726         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
727         rpl_towupper and rpl_towupper.
728
729 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
730
731         regex-tests, regex: allow glibc re_search behavior
732         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
733         re_search input data to make the multi-character collating element
734         in it clearly visible, and treat re_search return code 0 as valid.
735         * m4/regex.m4 (gl_REGEX): Likewise.
736
737 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
738
739         stdalign: doc fix
740         * doc/posix-headers/stdalign.texi (stdalign.h):
741         Gnulib doesn't support '_Alignof expr'.
742
743 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
744
745         stdalign: port to stricter ISO C11
746         ISO C11 says that _Alignof's operand must be a parenthesized type.
747         Problem reported by Eli Zaretskii in
748         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
749         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
750         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
751
752 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
753
754         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
755         Problem reported by Marco Atzeri in
756         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
757         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
758         Simply delegate to the system <sys/select.h> in this case too.
759         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
760         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
761         be needed on Solaris either.
762         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
763         Simply delegate to the system <sys/time.h> in this case.
764
765 2013-03-19  Karl Berry  <karl@gnu.org>
766
767         * build-aux/gnupload: check for erroneous (with gnupload) use of
768         ftp-upload.gnu.org, tweak help.
769
770 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
771
772         copy-file, rpmatch: fix problems found by cppcheck
773         Reported by Arno Onken in
774         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
775         * lib/rpmatch.c (try): Fix memory leak.
776         * lib/copy-file.c: Include "ignore-value.h".
777         (qcopy_file_preserving): Ignore chown value.
778         * modules/copy-file (Depends-on): Add ignore-value.
779
780 2013-01-27  Jim Meyering  <jim@meyering.net>
781
782         prefix-gnulib-mk: give better diagnostics
783         * build-aux/prefix-gnulib-mk: Don't just "die".
784         Give better diagnostics upon failure.
785
786 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
787
788         putenv: port to Solaris 10
789         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
790         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
791         is not what is wanted here.
792         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
793         declaration, not for its existence.
794
795 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
796
797         mktime: fix configure typo
798         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
799
800 2013-03-12  Eric Blake  <eblake@redhat.com>
801
802         regex-tests: skip UTF-8 test on mingw
803         * modules/regex-tests (Depends-on): Add localcharset.
804         * tests/test-regex.c (main): Use it to skip test on mingw.
805
806 2013-03-11  Eric Blake  <eblake@redhat.com>
807
808         tests: make it easier to bypass alarm time in debugger
809         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
810         * tests/test-memmem.c (main): Likewise.
811         * tests/test-passfd.c (main): Likewise.
812         * tests/test-ptsname.c (main): Likewise.
813         * tests/test-ptsname_r.c (main): Likewise.
814         * tests/test-strcasestr.c (main): Likewise.
815         * tests/test-strstr.c (main): Likewise.
816
817         regex: port to mingw's recent addition of undeclared alarm
818         * doc/posix-functions/alarm.texi (alarm): Document that alarm
819         exists but still doesn't work in newer mingw.
820         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
821         not existence.  Ensure SIGALRM is not trapped.
822         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
823         * m4/regex.m4 (gl_REGEX): Likewise.
824         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
825         * tests/test-regex.c (main): Use correct probe for alarm.
826
827         putenv: avoid compilation warning on mingw
828         * lib/putenv.c (_unsetenv): Protect variable declaration.
829         (putenv): Fix indentation.
830
831 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
832
833         unistd: don't prevent Tru64 Unix from using gnulib strtod.
834         * lib/unistd.in.h: be careful not to include un-needed system
835         stdlib.h from here, because that prevents gnulib stdlib.h from
836         defining rpl_strtod correctly.
837
838 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
839
840         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
841         changesets, but for the 'precision 0' test.
842         * tests/test-vasprintf-posix.c (test_function): Don't insist on
843         round-to-even, since POSIX says rounding is implementation-defined
844         and OS X 10.8.2 rounds 1.51 to 1 here.
845
846         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
847         changeset.
848         * tests/test-vasprintf-posix.c (test_function): Don't insist on
849         round-to-even, since POSIX says rounding is implementation-defined
850         and OS X 10.8.2 rounds 1.5 to 1 here.
851
852 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
853
854         vasnprintf-posix-tests: allow rounding 1.5 to 1
855         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
856         round-to-even, since POSIX says rounding is implementation-defined
857         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
858         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
859
860         bootstrap: port to FreeBSD
861         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
862         that treat '--' differently.  Reported by Mats Erik Andersson in
863         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
864
865 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
866
867         regex: rename remaining __attribute calls to __attribute__.
868         2012-02-25 changed definition of __attribute, but left some uses
869         unchanged, preventing compilation of regex module on most non-gcc
870         environments.
871         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
872         (lookup_collation_sequence_value, build_range_exp)
873         (build_collating_symbol): Set attributes with newly renamed
874         __attribute__ decorator.
875         * lib/regex_internal.c (re_string_peek_byte_case)
876         (re_node_set_compare, re_node_set_contains): Likewise.
877         * lib/regexec.c (acquire_init_state_context): Likewise.
878
879 2013-03-06  Bruno Haible  <bruno@clisp.org>
880
881         execute: Revert last change, but use a different condition.
882         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
883         on Windows.
884
885 2013-03-05  Eric Blake  <eblake@redhat.com>
886
887         execute: drop dead code
888         * lib/execute.c (nonintr_close, nonintr_open): Delete.
889
890 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
891
892         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
893         * m4/non-recursive-gnulib-prefix-hack.m4
894         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
895         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
896         <http://bugs.gnu.org/10305#237>.
897
898 2013-03-04  Eric Blake  <eblake@redhat.com>
899
900         test-getsockopt: avoid compiler warning
901         * tests/test-getsockopt.c (includes): Ensure close is declared.
902
903 2013-03-02  Bruno Haible  <bruno@clisp.org>
904
905         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
906         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
907
908 2013-03-02  Bruno Haible  <bruno@clisp.org>
909
910         gettext: Update to version 0.18.2.
911         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
912         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
913                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
914
915 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
916
917         regex: merge patches from libc
918
919         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
920         * lib/regex_internal.h (__attribute__): Rename from __attribute.
921         All uses changed.
922         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
923         (re_string_wchar_at, re_string_elem_size_at):
924         Mark function as possibly unused.
925
926         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
927         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
928         elements compare against the byte sequence of it, not its name.
929
930 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
931
932         putenv: port better to native Windows
933         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
934         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
935         (_unsetenv): Use _putenv if available.
936         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
937         a bit less likely to cause damage.
938         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
939         Fix the wrong value with SetEnvironmentVariable.
940         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
941         code better.
942
943 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
944
945         regex: ignore old-style-definition warnings
946         * lib/regex.c: Add pragma to ignore these warnings.
947         Problem reported for GNU tar by Pavel Raiskup.
948
949 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
950
951         getcwd: support coreutils better
952         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
953         but this might not be correct in coreutils, which disables
954         the raw decl checks.  Problem reported by Nagendra in
955         <http://bugs.gnu.org/10305#192>.
956         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
957         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
958         Test the getcwd function, not any macro, since getcwd.c wants the
959         function.
960         * m4/getcwd.m4 (gl_FUNC_GETCWD):
961         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
962         compile, as might happen if there's a macro but no function.
963
964         strtod: support coreutils better
965         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
966         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
967         disables the raw decl checks.  This assumes there is an underlying
968         strtod, but that's a safe assumption these days.
969         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
970
971         mountlist: port to HP NonStop
972         Reported by Joachim Schmitz in
973         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
974         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
975         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
976
977 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
978
979         extern-inline: avoid compilation error with HP-UX cc
980         Reported by Richard Lloyd in
981         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
982         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
983         Suppress extern inline with HP-UX cc.  This should be safe,
984         though it may hurt performance.  Perhaps someone with some HP-UX
985         experience can come up with a higher-performance fix.
986
987 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
988
989         putenv: fix heap corruption with mixed putenv/_putenv
990         Problem reported by Michael Goffioul in
991         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
992         * lib/putenv.c (putenv) [HAVE__PUTENV]:
993         Rely on _putenv to allocate the new environment.
994         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
995         * modules/putenv (configure.ac): Use it.
996
997 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
998
999         unsetenv etc.: port to Solaris 11 + GNU Emacs
1000         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
1001         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
1002         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
1003         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
1004         idea but is too painful to fix right now), and without this gnulib
1005         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
1006         compiling unsetenv.c on Solaris 11.  Fix the problem for
1007         unsetenv.c, and fix other similar occurrences.
1008
1009 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1010
1011         secure_getenv: fix C++ declaration typo
1012         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
1013         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
1014         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
1015
1016 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1017
1018         careadlinkat: stop exporting careadlinkatcwd
1019         Only Emacs used it directly, and Emacs no longer needs it.
1020         * NEWS: Document this simplification.
1021         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
1022         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
1023         for readlink.
1024         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
1025         Don't include stdlib.h; no longer needed.
1026         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
1027         * lib/relocwrapper.c: Adjust comment to match new dependencies.
1028         * modules/areadlink (Depends-on): Add readlink.
1029         (Maintainer): Add self.
1030         * modules/careadlinkat (Depends-on): Remove readlink.
1031
1032         extensions: port better to HP-UX
1033         This is merged from git Autoconf.
1034         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1035         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
1036         so that it's compatible with the value used when compiling.
1037
1038         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
1039         Problem reported by Mats Erik Andersson in
1040         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
1041         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1042         openpty function exists, not merely when we intend to replace it.
1043         This corrects the 2013-01-31 patch, which mistakenly defined
1044         HAVE_OPENPTY even on hosts that lacked it.
1045
1046 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1047
1048         secure_getenv: fix include typo
1049         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
1050
1051         secure_getenv: port better to FreeBSD and Solaris
1052         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
1053         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
1054         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
1055         This works better on BSDish platforms.
1056         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
1057         Test for issetugid if __secure_getenv is missing.
1058
1059 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
1060
1061         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
1062         Some of these changes are merged in from git Autoconf.
1063         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1064         When deciding whether to define _XOPEN_SOURCE, inspect the
1065         preprocessor macro __hpux instead of the more-heavyweight
1066         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
1067         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
1068         as the key for __EXTENSIONS__.
1069
1070         unistd: avoid namespace pollution on non-glibc systems
1071         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
1072         This avoids namespace pollution on non-glibc systems, by causing
1073         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
1074         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
1075         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
1076
1077 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1078
1079         tmpdir: use secure_getenv
1080         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
1081         Define to secure_getenv, not getenv.
1082         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
1083         as that's now secure_getenv's job.
1084         * modules/tmpdir (Depends-on): Add secure_getenv.
1085
1086         tempname: use secure_getenv
1087         * lib/tempname.c (__secure_getenv) [!_LIBC]:
1088         Define to secure_getenv, not getenv.
1089         * modules/tempname (Depends-on):
1090         Add secure_getenv.
1091
1092         secure_getenv: new module
1093         * MODULES.html.sh (Extra functions based on ANSI C 89):
1094         Add secure_getenv.
1095         * doc/glibc-functions/secure_getenv.texi: New file.
1096         * doc/gnulib.texi: Include it.
1097         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
1098         New files.
1099         * lib/stdlib.in.h (secure_getenv): New decl.
1100         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
1101         * modules/stdlib (stdlib.h):
1102         Add secure_getenv checks.
1103
1104 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1105
1106         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
1107         Reported for OS X 10.8.2 by Assaf Gordon in
1108         <http://bugs.gnu.org/13516>.
1109         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
1110         !HAVE_OPENAT && !HAVE_FDOPENDIR.
1111         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
1112         so that they can be kept in sync more easily.  Avoid PATH_MAX
1113         test on the Hurd.  Sync from test-getcwd.c for errno tests after
1114         mkdir or chdir failure.
1115         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
1116         lib/getcwd.c.
1117         (test_abort_bug): Do not test for the deep directory bug unless we
1118         have openat support.  Avoid PATH_MAX test on the Hurd.
1119
1120         regex-tests, regex: fix bug: memset undeclared
1121         * tests/test-regex.c: Don't include regex.h twice.  Include
1122         string.h, to declare memset.  Christensen's report also mentioned
1123         this issue.
1124         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
1125         test-regex.c, to avoid future problems like this.  Remove
1126         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
1127         twice.
1128
1129         regex-tests: fix link errors on older Solaris
1130         These need to link with @LIBINTL@ to get libintl_gettext.
1131         Problem reported by Tom G. Christensen in
1132         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
1133         * modules/regex-tests (test_regex_LDADD): New macro.
1134
1135 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1136
1137         regex-tests: new module
1138         * modules/regex-tests, tests/test-regex.c: New files.
1139
1140         regex: fix off-by-one error in configure test
1141         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
1142
1143 2013-01-31  Eric Blake  <eblake@redhat.com>
1144
1145         regex: avoid infinite configure test
1146         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
1147
1148 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
1149
1150         openpty: fix bug where HAVE_OPENPTY wasn't defined
1151         See the thread starting at:
1152         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
1153         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1154         openpty function exists, not merely when we intend to replace it.
1155
1156 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1157
1158         sys_time: port to Solaris 2.6
1159         There is a circularity problem on Solaris 2.6, where <time.h> includes
1160         <sys/time.h> for struct timespec.  The include nesting is gnulib
1161         <time.h>, system <time.h>, gnulib <sys/time.h>, system
1162         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
1163         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
1164         <sys/siginfo.h>; the last, innermost file needs struct
1165         timestruc_t, which is defined in <sys/time.h>, which has not been
1166         fully parsed.  Problem reported by Tom G. Christensen in
1167         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
1168         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
1169         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
1170         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
1171         uses split double-inclusion guards.
1172
1173 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1174
1175         regex: test for buffer overrun
1176         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
1177         for the just-fixed regex bug.
1178
1179 2013-01-29  Andreas Schwab  <schwab@suse.de>
1180
1181         regex: fix buffer overrun in regexp matcher [BZ #15078]
1182         * lib/regexec.c (extend_buffers): Add parameter min_len.
1183         (check_matching): Pass minimum needed length.
1184         (clean_state_log_if_needed): Likewise.
1185         (get_subexp): Likewise.
1186
1187 2013-01-28  Pádraig Brady  <P@draigBrady.com>
1188
1189         mountlist: don't consider "devtmpfs" as dummy
1190         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
1191         as there is storage associcated with it.
1192
1193 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1194
1195         futimens-tests, utimens-tests: Depend on gettext.
1196         This works around a problem introduced in my 2013-01-12 patch,
1197         which added @LIBINTL@ to these modules.
1198         * modules/futimens-tests (Depends-on):
1199         * modules/utimens-tests (Depends-on): Add gettext.
1200
1201 2013-01-26  Eric Blake  <eblake@redhat.com>
1202
1203         test-getpeername: fix typo
1204         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
1205
1206 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
1207
1208         bootstrap: remove the need for a sorted .gitignore file
1209         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
1210         rename to insert_if_absent(), so that we don't need or generate
1211         a sorted .gitignore file.  We do require a .gitignore with no
1212         existing duplicate entries and enforce that.
1213         (sort_patterns): Remove this function as we now use the simpler
1214         technigue of inserting blacklist entries at the top of the file,
1215         assuming gnulib won't be inserting !whitelist entries.
1216
1217 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1218
1219         readlinkat: don't depend on gl_FUNC_OPENAT
1220         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
1221         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
1222         renameat.m4, symlinkat.m4; but one thing at a time.
1223
1224         statat: new module, split out from fstatat
1225         GNU Emacs needs the POSIX-specified fstatat, but not the
1226         gnulib-specified statat and lstat.  Split the latter two into a
1227         new module 'statat'.
1228         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
1229         * lib/openat.h, lib/statat.c (STATAT_INLINE):
1230         Rename from FSTATAT_INLINE. All uses changed.
1231         * modules/fstatat (Files): Remove lib/statat.c.
1232         (gl_MODULE_INDICATOR([fstatat])): Remove.
1233         (lib_SOURCES): Remove.
1234         (Maintainer): Add self.
1235         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
1236         * tests/test-fstatat.c (BASE): Don't define if already defined.
1237         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
1238
1239 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1240
1241         tests: don't assume fd 99 is closed
1242         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
1243         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
1244         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
1245         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
1246         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
1247         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
1248         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
1249         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
1250         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
1251         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
1252         * tests/test-fwrite.c, tests/test-getpeername.c:
1253         * tests/test-getsockname.c, tests/test-getsockopt.c:
1254         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
1255         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
1256         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
1257         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
1258         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
1259         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
1260         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
1261         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
1262         * tests/test-unlinkat.c, tests/test-unlockpt.c:
1263         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
1264         Close file descriptor 99, instead of assuming it's already closed.
1265
1266 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1267
1268         stpncpy: port to OS X 10.8
1269         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
1270         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
1271
1272 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
1273
1274         unistd: port to recent mingw
1275         * lib/unistd.in.h: Remove special invocation convention for mingw,
1276         which breaks for the latest mingw version.  See John W. Eaton in
1277         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
1278
1279         largefile: port better to Mac OS X 10.5
1280         This patch is backported from Autoconf git.
1281         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
1282         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
1283         with ino_t size being different for configuration time versus
1284         build/run time.  Problem reported by PHO in
1285         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
1286
1287 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
1288
1289         doc: clarify -Werror
1290         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
1291         clarify that it's intended for developers, not for ordinary builds,
1292         and mention --enable-gcc-warnings as one possible use.
1293
1294 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
1295
1296         stdint: fix build with Android's Bionic fox x86
1297         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
1298         was already included as _SSIZE_T_DEFINED_ might also be defined
1299         in include/machine/_types.h, which is included by stdio.h
1300
1301 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1302
1303         net_if-tests: port to Solaris 7 + GCC 3.4.6
1304         Problem reported by Tom G. Christensen in
1305         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
1306         * tests/test-net_if.c (ni): Move to next the code that uses it,
1307         so that it's declared only if needed.
1308
1309 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1310
1311         net_if-tests: port to older Solaris
1312         Problem reported by Tom G. Christensen in
1313         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1314         * modules/net_if-tests (NET_IF_LIB): New substitution.
1315         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
1316         (HAVE_IF_NAMEINDEX): New C macro.
1317         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
1318
1319         system-quote-tests: port to older Solaris
1320         Problem reported by Tom G. Christensen in
1321         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1322         * tests/test-system-quote-child.c (fopen, fread): Undef.
1323
1324         c-xvasprintf etc.: fix link errors on older Solaris
1325         These need to link with @LIBINTL@ to get libintl_gettext.
1326         Problem reported by Tom G. Christensen in
1327         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1328         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
1329         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
1330         * modules/futimens-tests (test_futimens_LDADD):
1331         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
1332
1333 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1334
1335         locale: port to Solaris 2.6 and 7 + GNU gettext
1336         * lib/locale.in.h: Just include_next <locale.h> when
1337         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
1338         when combining the localename module with GNU gettext 0.18.2.
1339         Problem reported by Tom G. Christensen in
1340         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
1341
1342 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
1343
1344         stdlib: port to Solaris 2.6
1345         Also, the code worked on Solaris 7 through 9 only by accident.
1346         Problem reported by Tom G. Christensen in
1347         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
1348         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
1349         simply include the system stdlib.h.
1350         * lib/getopt.in.h (__need_system_stdlib_h):
1351         * lib/pthread.in.h (__need_system_stdlib_h):
1352         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
1353         Define when including <stdlib.h>, to avoid problems at least for
1354         the pthread case on Solaris 2.6 and 7.  These .h files can get by
1355         with the system stdlib.h.
1356
1357 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1358
1359         doc: update main copyright year
1360         * doc/gnulib.texi: Update copyright date.
1361
1362         doc: improve ISO 8601 discussion
1363         * doc/parse-datetime.texi (Combined date and time of day items):
1364         Specify more carefully what formats are supported and what is
1365         done with excess precision.
1366
1367 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1368
1369         doc: avoid small caps
1370         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
1371         they're more trouble than they're worth.  Suggested by Karl Berry
1372         in <http://bugs.gnu.org/13360>.
1373
1374         regex: conform to strict C
1375         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
1376         From Aharon Robbins.
1377
1378         gnulib-tool: fix incompatibility with autopoint 0.18.2
1379         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
1380         Problem reported by Tom G. Christensen in
1381         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
1382
1383 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1384
1385         fprintftime: bring back and reword fwrite comment
1386         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
1387
1388         stdio: remove now-unnecessary stdio.c
1389         Since stdio.in.h no longer uses inline functions, we no longer
1390         need to compile the extern versions.
1391         * lib/stdio.c: Remove.
1392         * modules/stdio (Files): Remove lib/stdio.c.
1393         (lib_SOURCES): Remove.
1394
1395         unicodeio: depend on stdio, not ignore-value
1396         * lib/unicodeio.c: Do not include ignore-value.h.
1397         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
1398         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
1399
1400         fprintftime: depend on stdio, not ignore-value
1401         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
1402         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
1403         since the stdio module arranges to silence that warning now.
1404         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
1405
1406 2012-10-04  Simon Josefsson  <simon@josefsson.org>
1407
1408         stdint-tests: Fix expanded-before-required-warning.
1409         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
1410
1411 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1412
1413         fwrite: silence __wur only for older glibc versions
1414         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
1415         This will help us remove this workaround some time in the far future.
1416
1417 2013-01-03  Eric Blake  <eblake@redhat.com>
1418
1419         fwrite: silence __wur without using inline
1420         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
1421         just gcc, and in a way that avoids inline issues.
1422         * modules/stdio (Depends-on): Drop extern-inline.
1423
1424 2013-01-03  Jim Meyering  <jim@meyering.net>
1425
1426         update-copyright: avoid copyright notice date corruption
1427         Given a sequence of copyright year numbers in which the final
1428         one was a two-digit number that happened to be a substring of
1429         a preceding four-digit year number, we would mistakenly update
1430         the substring (from two- to four-digit) rather than the two-digit
1431         number at the end, which, combined with the addition of the current
1432         4-digit year number would yield two 5-digit year numbers, e.g.,
1433         here, it would convert the first "99" to "1999, 2013" rather than
1434         the final one:
1435           1991, 99
1436           11999, 20131, 1999
1437         * build-aux/update-copyright: Tighten a regexp.
1438         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
1439         Reported by Joseph Myers in
1440         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
1441
1442 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1443
1444         regex: omit needless signed-pointer casts
1445         * lib/regcomp.c (build_charclass, build_charclass_op):
1446         Use char *, not unsigned char *, for class name and extra.
1447         The char values are always nonnegative so there's no need to
1448         insist on unsigned char * here, and using char * removes the need
1449         for casts.  Reported by Aharon Robbins in
1450         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1451
1452         regex: support Gawk, which never uses alloca
1453         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
1454         Do not include in this case.  Gawk doesn't supply a substitute
1455         alloca.h and doesn't need one.
1456
1457         regex: port __libc_lock_define usage to C89
1458         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1459         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1460         does not conform to C89, as it has an empty macro argument.
1461         Reported by Aharon Robbins in
1462         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1463
1464 2013-01-01  Eric Blake  <eblake@redhat.com>
1465
1466         maint: update all copyright year number ranges
1467         Run "make update-copyright".
1468
1469         version-etc: bump copyright year reported in --version
1470         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1471
1472 2012-12-31  Eric Blake  <eblake@redhat.com>
1473
1474         sigprocmask-tests: skip test if pid is unexpectedly large
1475         * tests/test-sigprocmask.c (main): Add range check.
1476
1477         git-version-gen: avoid test -z portability glitch
1478         * build-aux/git-version-gen: Prefer portable test spelling, since
1479         git-version-gen is run on more than just developer machines.
1480
1481 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1482
1483         git-version-gen: add --fallback option to use if git is not present
1484         * build-aux/git-version-gen: Add support for the new option --fallback,
1485         which comes into play when there is no $tarball_version_file and
1486         git is not working.
1487         (scriptversion): Update.
1488
1489         maint.mk: handle missing git with more grace
1490         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1491         Quietly proceed if git is not present.
1492
1493 2012-12-31  Eric Blake  <eblake@redhat.com>
1494
1495         dup2: work around cygwin bug
1496         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1497         * lib/dup2.c (rpl_dup2): Work around it.
1498         * doc/posix-functions/dup2.texi (dup2): Document it.
1499
1500 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1501
1502         regex: remove unnecessary dependency on localcharset.h
1503         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1504         hasn't been needed for years.
1505         * modules/regex (Depends-on): Remove localcharset.
1506
1507         regex: revert single-byte change
1508         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1509         to this function.  This was alredy fixed in a different way, at
1510         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1511         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1512         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1513
1514         regex: simplify based on Gawk version
1515         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1516         Reported by Aharon Robbins in
1517         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1518
1519 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1520
1521         regex: check that pattern char is single-byte
1522         Reported by Aharon Robbins in
1523         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1524         * lib/regexec.c (check_node_accept_bytes):
1525         Return 0 if the pattern string has a multibyte character here.
1526
1527         regex: implement rational ranges
1528         Reported by Aharon Robbins in
1529         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1530         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1531         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1532         Implement rational ranges.
1533
1534         regex: avoid redefining __wctype
1535         Reported by Aharon Robbins in
1536         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1537         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1538         #undef before defining.
1539
1540         regex: port to hosts where malloc (0) == NULL
1541         Reported by Aharon Robbins in
1542         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1543         * lib/regex_internal.c (re_node_set_alloc):
1544         Don't assume that malloc (0) yields nonnull.
1545         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1546         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1547         * modules/regex (Files): Add m4/eealloc.m4.
1548
1549         regex: port to C89
1550         Reported by Aharon Robbins in
1551         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1552         * lib/regcomp.c (init_word_char): Declaration before statement.
1553
1554         regex: merge glibc changes
1555         Also, copy the license wording from glibc.  This simplifies
1556         merging changes.  gnulib-tool will change the wording to GPL as
1557         appropriate, when importing it to other packages.  The only
1558         glibc change made since the last merge, which needs merging, is:
1559         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1560         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1561
1562         * users.txt: Add Emacs.
1563
1564         doc: omit mention of version when not needed
1565         * doc/gnulib-intro.texi (Portability and Application Code):
1566         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1567         Don't mention particular dates or versions when not necessary, so
1568         that the documentation won't go out of date so quickly.
1569
1570         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1571
1572 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1573
1574         bootstrap: pass --force to autoreconf.
1575         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1576         Add "--force" so that Automake's ylwrap and other such tools
1577         be updated at each bootstrap invocation.
1578         Use it.
1579
1580 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1581
1582         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1583         The earlier patch forgot to update one of the #if conditions, causing
1584         a problem on Debian testing i386 reported by Mats Erik Andersson
1585         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1586         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1587         (__argp_fmtstream_puts, argp_fmtstream_puts)
1588         (__argp_fmtstream_write, argp_fmtstream_write)
1589         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1590
1591         * doc/gnulib-readme.texi: Minor fixups.
1592         (Portability guidelines): Modernize URLs.  Remove some repetition.
1593         (Indent with spaces not TABs): Reword to avoid too-long lines.
1594         Remove some '@ifset standalone' stuff that isn't used.
1595
1596         * doc/gnulib-readme.texi (Portability guidelines):
1597         ctype.h, not ctime.h.
1598
1599         Correct name of POSIX.1-2001.
1600         * doc/posix-functions/fgetc.texi (fgetc):
1601         * doc/posix-functions/fgets.texi (fgets):
1602         * doc/posix-functions/fread.texi (fread):
1603         * doc/posix-functions/fscanf.texi (fscanf):
1604         * doc/posix-functions/getc.texi (getc):
1605         * doc/posix-functions/getchar.texi (getchar):
1606         * doc/posix-functions/scanf.texi (scanf):
1607         POSIX.1-2001, not POSIX-2001.
1608
1609         doc: move README into manual
1610         * README: Move contents to new file doc/gnulib-readme.texi.
1611         Replace with a one-line summary.
1612         * doc/gnulib.texi (Brief Overview): New section,
1613         with old intro preface.  Include gnulib-readme.texi for contents.
1614         (Philosophy): Rename from "Introduction", since this
1615         section no longer introduces the rest.  Write a new preface.
1616         * doc/gnulib-readme.texi: New file, with the old contents of
1617         README texinfo-ized.  This way, the README info appears
1618         in the online and printed manual.
1619
1620 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1621
1622         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1623         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1624         c_vasprintf() prototype.
1625
1626 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1627
1628         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1629         * lib/c-vasprintf.h: Remove stray semicolon.
1630
1631 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1632
1633         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1634         It is obsolete and is planned to be removed from Automake 1.14; see
1635         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1636         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1637         (installdirs-data, installdirs-data-yes):
1638         Use $(MKDIR_P), not $(mkdir_p).
1639         * m4/intl.m4 (AM_INTL_SUBDIR):
1640         * m4/po.m4 (AM_PO_SUBDIRS):
1641         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1642
1643 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1644
1645         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1646         On this platform, we are not optimizing but we are using
1647         the substitute for extern inlines, so compile as if
1648         C99-style extern inline, or a substitute, is available.
1649         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1650         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1651         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1652         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1653         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1654         Declare as ARGP_FS_EI, not as extern.
1655         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1656         (__option_is_short, _option_is_end, __option_is_end)
1657         [!_LIBC && __USE_EXTERN_INLINES]:
1658         Declare as ARGP_EI, not as extern.
1659
1660 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1661
1662         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1663         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1664         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1665         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1666         ...), as the latter is fatal with older Autoconfs.
1667         Problem reported and fix suggested by Eric Blake in thread starting at
1668         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1669
1670 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1671
1672         AC_PROG_MKDIR_P: don't workaround if not buggy
1673         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1674         Define only for Autoconf versions before 2.62.
1675         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1676         undocumented m4_PACKAGE_VERSION, for consistency with the
1677         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1678         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1679         was introduced in 2.62.
1680
1681 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1682
1683         New 'c-*printf' modules for formatted output in C locale.
1684
1685         New module 'c-vasnprintf'.
1686         * modules/c-vasnprintf: New file.
1687         * lib/c-vasnprintf.c: New file.
1688         * lib/c-vasnprintf.h: New file.
1689
1690         New module 'c-snprintf'.
1691         * modules/c-snprintf: New file.
1692         * modules/c-snprintf-tests: New file.
1693         * lib/c-snprintf.c: New file.
1694         * lib/c-snprintf.h: New file.
1695         * tests/test-c-snprintf.c: New file.
1696         * tests/test-c-snprintf.sh: New file.
1697
1698         New module 'c-vsnprintf'.
1699         * modules/c-vsnprintf: New file.
1700         * modules/c-vsnprintf-tests: New file.
1701         * lib/c-vsnprintf.c: New file.
1702         * lib/c-vsnprintf.h: New file.
1703         * tests/test-c-vsnprintf.c: New file.
1704         * tests/test-c-vsnprintf.sh: New file.
1705
1706         New module 'c-vasprintf'.
1707         * modules/c-vasprintf: New file.
1708         * modules/c-vasprintf-tests: New file.
1709         * lib/c-asprintf.c: New file.
1710         * lib/c-vasprintf.c: New file.
1711         * lib/c-vasprintf.h: New file.
1712         * tests/test-c-vasprintf.c  +: New file.
1713         * tests/test-c-vasprintf.sh: New file.
1714
1715         New module 'c-xvasprintf'.
1716         * modules/c-xvasprintf: New file.
1717         * modules/c-xvasprintf-tests: New file.
1718         * lib/c-xasprintf.c: New file.
1719         * lib/c-xvasprintf.c: New file.
1720         * lib/c-xvasprintf.h: New file.
1721         * tests/test-c-xvasprintf.c: New file.
1722         * tests/test-c-xvasprintf.sh: New file.
1723
1724 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1725
1726         argp: better 'inline'
1727         Use extern-inline module to declare extern inline functions.
1728         This avoids some bogus warning diagnostics.  Problem discovered
1729         when modifying GNU tar to use the manywarnings module.
1730         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1731         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1732         Define based on extern-inline.
1733         * modules/argp (Depends-on): Add extern-inline.
1734
1735 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1736
1737         filemode, sys_stat: Handle MPX files a la AIX.
1738         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1739         * lib/sys_stat.in.h (S_ISMPX): New macro.
1740         * tests/test-sys_stat.c: Add tests for MPX files.
1741
1742 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1743
1744         x-to-1: honor $PERL
1745         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1746         a chance to use his preferred version of Perl.  This is typically
1747         required by Darwin users whose default /usr/bin/perl does not have all
1748         the libraries required by help2man, and who need to use their MacPorts
1749         installation of Perl instead.
1750
1751 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1752
1753         gnu-web-doc-update: add all the new files, even in new directories
1754         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1755         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1756         Use it.
1757         (main): Don't use cvsutils to get the list of unknown files,
1758         just add all the existing files and directories.
1759
1760 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1761
1762         gnu-web-doc-update: improve --help
1763         * build-aux/gnu-web-doc-update: Move comments into --help.
1764
1765 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1766
1767         mountlist: recognize more "dummy" file systems
1768         * lib/mountlist.c (ME_DUMMY_0):
1769         Add these dummy FS names to the list:
1770         - "debugfs" virtual filesystem for kernel debugging
1771         - "devpts" PTY slave filesystem
1772         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1773         - "fusectl" control filesystem for FUSE
1774         - "mqueue" enumerates POSIX message queues
1775         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1776         - "sysfs" is for exporting kernel objects
1777         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1778
1779 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1780
1781         extern-inline: avoid incompatibility with Darwin Libc
1782         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1783         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1784         Problem reported by Akim Demaille in
1785         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1786
1787 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1788
1789         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1790         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1791         let it handle password prompting.
1792
1793 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1794
1795         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1796         * lib/canonicalize.c (canonicalize_filename_mode):
1797         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1798         fetching the current directory.  Don't overrun the beginning of
1799         rpath if there's no slashes after the MS-Windows drive letter.
1800
1801 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1802
1803         maint.mk: avoid extra forks
1804         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1805         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1806         So use that instead of "$(shell test -f FILE && echo FILE)".
1807
1808 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1809
1810         vasnprintf: fix ASCII_ONLY typo
1811         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1812         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1813         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1814         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1815         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1816
1817 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1818
1819         list, oset, xlist, xoset: fix extern inline issue with C99
1820         This was introduced by my recent changes for 'inline'.
1821         Problem reported for gettext by Daiki Ueno in
1822         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1823         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1824         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1825         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1826         (gl_list_previous_node, gl_list_get_at)
1827         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1828         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1829         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1830         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1831         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1832         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1833         (gl_list_iterator_free, gl_sortedlist_search)
1834         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1835         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1836         (gl_sortedlist_remove):
1837         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1838         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1839         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1840         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1841         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1842         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1843         (gl_list_add_at, gl_sortedlist_add):
1844         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1845         Wrap these extern decls inside "#if 0", because they are implemented
1846         as inline functions, and extern inline is not what's wanted here.
1847         It would simplify these .h files to remove the extern decls entirely,
1848         although a downside would be less-clear separation between
1849         specification and implementation.
1850
1851 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1852
1853         sys_stat: no 'static inline'
1854         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1855         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1856
1857         extern-inline: no 'static inline'
1858         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1859         Do not require AC_C_INLINE.
1860         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1861         'static inline', for older compilers.
1862
1863         snippet/warn-on-use: no 'static inline'
1864         * build-aux/snippet/warn-on-use.h:
1865         Remove unnecessary 'inline' in comment.
1866
1867         rbtree-list, rbtreehash-list: no 'static inline'
1868         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1869         * lib/gl_anytree_list2.h (node_at):
1870         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1871         (gl_oset_first, add_nodes_to_buckets):
1872         Now static, not static inline.
1873
1874         regex: no 'static inline'
1875         * lib/regex_internal.c (calc_state_hash):
1876         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1877         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1878         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1879         Now static, not static inline.
1880         (inline) [__GNUC__ < 3 && _LIBC]:
1881         Remove macro; no longer needed.
1882
1883         xvasprintf: no 'static inline'
1884         * lib/xvasprintf.c (xstrcat):
1885         Now static, not static inline.
1886         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1887         Do not require AC_C_INLINE.
1888
1889         parse-datetime, parse-duration: no 'static inline'
1890         * lib/parse-datetime.y (to_uchar):
1891         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1892         (scale_n_add):
1893         Now static, not static inline.
1894         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1895         * modules/parse-duration (configure.ac):
1896         Do not require AC_C_INLINE.
1897
1898         getaddrinfo: no 'static inline'
1899         * lib/getaddrinfo.c (validate_family):
1900         Now static, not static inline.
1901         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1902         Do not require AC_C_INLINE.
1903
1904         ftruncate, fts, lstat, openat, raise: no 'static inline'
1905         * lib/ftruncate.c (chsize_nothrow):
1906         * lib/fts.c (opendirat, diropen):
1907         * lib/lstat.c (orig_lstat):
1908         * lib/openat.c (orig_openat):
1909         * lib/raise.c (raise_nothrow):
1910         Now static, not static inline.
1911         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1912         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1913         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1914         * m4/openat.m4 (gl_PREREQ_OPENAT):
1915         * m4/raise.m4 (gl_PREREQ_RAISE):
1916         Do not require AC_C_INLINE.
1917
1918         fflush, stat: no 'static inline'
1919         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1920         (clear_ungetc_buffer, disable_seek_optimization)
1921         (restore_seek_optimization, update_fpos_cache):
1922         * lib/stat.c (orig_stat):
1923         Now static, not static inline.
1924         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1925         (update_fpos_cache):
1926         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1927         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1928         * m4/stat.m4 (gl_PREREQ_STAT):
1929         Do not require AC_C_INLINE.
1930
1931         error, filevercmp: no 'static inline'
1932         * lib/error.c (is_open, flush_stdout):
1933         * lib/filevercmp.c (order):
1934         Now static, not static inline.
1935         * m4/error.m4 (gl_PREREQ_ERROR):
1936         * modules/filevercmp (configure.ac):
1937         Do not require AC_C_INLINE.
1938
1939         dup, execute, fatal-signal, etc.: no 'static inline'
1940         * lib/dup.c (dup_nothrow):
1941         * lib/execute.c (nonintr_close, nonintr_open):
1942         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1943         * lib/fopen.c (orig_fopen):
1944         * lib/freadseek.c (freadptrinc):
1945         * lib/freopen.c (orig_freopen):
1946         * lib/fstat.c (orig_fstat, fstat_nothrow):
1947         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1948         (get_rusage_as_via_iterator):
1949         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1950         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1951         * lib/isatty.c (_isatty_nothrow):
1952         * lib/open.c (orig_open):
1953         * lib/read.c (read_nothrow):
1954         * lib/sigprocmask.c (signal_nothrow):
1955         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1956         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1957         * lib/wait-process.c (unregister_slave_subprocess):
1958         * lib/write.c (write_nothrow):
1959         Now static, not static inline.
1960         * lib/spawn-pipe.c (nonintr_open): Define only if
1961         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1962         * m4/dup.m4 (gl_PREREQ_DUP):
1963         * m4/execute.m4 (gl_EXECUTE):
1964         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1965         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1966         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1967         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1968         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1969         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1970         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1971         * m4/open.m4 (gl_PREREQ_OPEN):
1972         * m4/read.m4 (gl_PREREQ_READ):
1973         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1974         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1975         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1976         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1977         * m4/write.m4 (gl_PREREQ_WRITE):
1978         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1979         Do not require AC_C_INLINE.
1980
1981         c-strtod, memcoll, readutmp: no 'static inline'
1982         * lib/c-strtod.c (c_locale):
1983         * lib/memcoll.c (strcoll_loop):
1984         * lib/readutmp.c (desirable_utmp_entry):
1985         Now static, not static inline.
1986         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1987         * m4/memcoll.m4 (gl_MEMCOLL):
1988         * m4/readutmp.m4 (gl_READUTMP):
1989         Do not require AC_C_INLINE.
1990
1991         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1992         * lib/arctwo.c (to_uchar):
1993         * lib/md4.c (set_uint32):
1994         * lib/md5.c (set_uint32):
1995         * lib/sha1.c (set_uint32):
1996         * lib/sha256.c (set_uint32):
1997         * lib/sha512.c (set_uint64):
1998         Now static, not static inline.  This is a bit simpler, and doesn't
1999         affect performance with GCC and default optimization.
2000         * m4/arctwo.m4 (gl_ARCTWO):
2001         * m4/md4.m4 (gl_MD4):
2002         * m4/md5.m4 (gl_MD5):
2003         * m4/sha1.m4 (gl_SHA1):
2004         * m4/sha256.m4 (gl_SHA256):
2005         * m4/sha512.m4 (gl_SHA512):
2006         Do not require AC_C_INLINE.
2007
2008         cond, lock, thread: better 'inline'
2009         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
2010         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
2011         New macros.  Use them instead of static inline, for header functions.
2012         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
2013         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
2014         * lib/glthread/lock.c (gl_waitqueue_init)
2015         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
2016         * lib/glthread/thread.c (get_current_thread_handle):
2017         Change 'static inline' to 'inline'.
2018         * lib/glthread/cond.h, lib/glthread/thread.h:
2019         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2020         * m4/cond.m4 (gl_COND):
2021         * m4/lock.m4 (gl_PREREQ_LOCK):
2022         * m4/thread.m4 (gl_THREAD):
2023         Do not require AC_C_INLINE.
2024         * modules/cond, modules/thread (Depends-on): Add extern-inline.
2025
2026         chdir-long, cycle-check, savewd: better 'inline'
2027         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
2028         (find_non_slash):
2029         * lib/cycle-check.c (is_zero_or_power_of_two):
2030         * lib/savewd.c (savewd_delegating):
2031         Change 'static inline' to 'inline'.
2032         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
2033         Replace all remaining uses of 'static inline' with it.
2034         * lib/savewd.h:
2035         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2036         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
2037         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
2038         * m4/savewd.m4 (gl_SAVEWD):
2039         Do not require AC_C_INLINE.
2040         * modules/savewd (Depends-on): Add extern-inline.
2041
2042         base32, base64: no need for 'inline'
2043         * lib/base32.c (to_uchar, get_8, decode_8):
2044         * lib/base64.c (to_uchar, get_4, decode_4):
2045         Change 'static inline' to 'inline'.
2046         * m4/base32.m4 (gl_PREREQ_BASE32):
2047         * m4/base64.m4 (gl_PREREQ_BASE64):
2048         Do not require AC_C_INLINE.
2049
2050         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
2051         * lib/gl_array_oset.c (gl_array_nx_add_at):
2052         (gl_array_remove_at):
2053         * lib/gl_linkedhash_list.c (hash_resize_after_add)
2054         (add_to_bucket, remove_from_bucket):
2055         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
2056         Change 'static inline' to 'static', as it's simpler to omit
2057         'inline' unless there's a significant performance advantage.
2058
2059         list, oset, xlist, xoset, xsublist: simplify via extern inline
2060         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
2061         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
2062         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
2063         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
2064         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
2065         New macro.  Replace all uses of 'static inline' with it.
2066         [HAVE_INLINE]: Implement functions as *_INLINE functions,
2067         instead of as macros FOO that are defined to static inline
2068         functions FOO_inline.
2069         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
2070         * lib/gl_xsublist.c:
2071         Reimplement from scratch, by defining the corresponding *_INLINE
2072         macro and including the corresponding .h file.  This is simpler.
2073         * modules/list, modules/oset, modules/xlist, modules/xoset:
2074         (Files): Remove m4/gl_list.m4.
2075         (configure.ac): Remove gl_LIST.
2076         * m4/gl_list.m4: Remove.
2077         * modules/list, modules/oset, modules/xlist, modules/xoset:
2078         * modules/xsublist:
2079         (Depends-on): Depend on extern-inline, not inline.
2080
2081         xalloc: better 'inline'
2082         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
2083         New macro.  Replace all uses of 'static inline' with it.
2084         (static_inline): Remove.
2085         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
2086         Let 'extern inline' do the work automatically, instead of doing
2087         it by hand.
2088         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
2089         Remove.  All uses removed.
2090         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
2091
2092         gethrxtime: better 'inline'
2093         * lib/xtime.c: New file.
2094         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
2095         * lib/xtime.h (XTIME_INCLUDE):
2096         New macros.  Replace all uses of 'static inline' with them.
2097         * lib/gethrxtime.c (gethrxtime): Define only if
2098         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
2099         this source file is now always compiled, because of the extern inline.
2100         * lib/gethrxtime.h, lib/xtime.h:
2101         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2102         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
2103         if gethrtime works, as they're not needed in that case.
2104         (gl_XTIME): Do not require AC_C_INLINE.
2105         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
2106         compiled now.  Move the check into gl_GETHRXTIME.
2107         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
2108         (Depends-on): Add extern-inline.
2109         (configure.ac): gethrxtime is always compiled now.
2110         (lib_SOURCES): Add gethrxtime.c.
2111
2112         wctype-h: better 'inline'
2113         * lib/wctype-h.c: New file.
2114         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
2115         New macro.  Replace all uses of 'static inline' with it.
2116         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2117         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
2118         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
2119         (Depends-on): Add extern-inline.
2120
2121         unistd: better 'inline'
2122         * lib/unistd.c: New file.
2123         * lib/unistd.in.h (_GL_UNISTD_INLINE):
2124         New macro.  Replace all uses of 'static inline' with it.
2125         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2126         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
2127         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
2128         (Depends-on): Add extern-inline.
2129
2130         sys_socket: better 'inline'
2131         * lib/sys_socket.c: New file.
2132         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
2133         New macro.  Replace all uses of 'static inline' with it.
2134         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2135         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
2136         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
2137         (Depends-on): Add extern-inline.
2138
2139         stdio: better 'inline'
2140         * lib/stdio.c: New file.
2141         * lib/stdio.in.h (_GL_STDIO_INLINE):
2142         New macro.  Replace all uses of 'static inline' with it.
2143         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2144         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
2145         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
2146         (Depends-on): Add extern-inline.
2147
2148         sigaction: better 'inline'
2149         * lib/sig-handler.c: New file.
2150         * lib/sig-handler.h (SIG_HANDLER_INLINE):
2151         New macro.  Replace all uses of 'static inline' with it.
2152         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2153         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
2154         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
2155         (Depends-on): Add extern-inline.
2156
2157         selinux-h: better 'inline'
2158         * lib/se-context.c, lib/se-selinux.c: New files.
2159         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
2160         * lib/se-context.in.h (SE_CONTEXT_INLINE):
2161         New macro.  Replace all uses of 'static inline' with it.
2162         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2163         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
2164         New macro.  Replace all uses of 'static inline' with it.
2165         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2166         * modules/selinux-h (Files, lib_SOURCES):
2167         Add lib/se-context.c, lib/se-selinux.c.
2168         (Depends-on): Add extern-inline.
2169         (configure.ac): Do not require AC_C_INLINE.
2170
2171         pthread: better 'inline'
2172         * lib/pthread.c: New file.
2173         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
2174         New macro.  Replace all uses of 'static inline' with it.
2175         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2176         * m4/pthread.m4 (gl_PTHREAD_CHECK):
2177         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
2178         * modules/pthread (Files): Add lib/pthread.c.
2179         (Depends-on): Add extern-inline.
2180
2181         math: better 'inline'
2182         * lib/math.c: New file.
2183         * lib/math.in.h (_GL_MATH_INLINE):
2184         New macro.  Replace all uses of 'static inline' with it.
2185         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2186         * m4/math_h.m4 (gl_MATH_H):
2187         Do not require AC_C_INLINE.
2188         * modules/math (Files, lib_SOURCES):
2189         Add lib/math.c.
2190         (Depends-on): Add extern-inline.
2191
2192         count-one-bits: better 'inline'
2193         * lib/count-one-bits.c: New file.
2194         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
2195         New macro.  Replace all uses of 'static inline' with it.
2196         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2197         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
2198         Do not require AC_C_INLINE.
2199         * modules/count-one-bits (Files, lib_SOURCES):
2200         Add lib/count-one-bits.c.
2201         (Depends-on): Add extern-inline.
2202
2203         count-leading-zeros: better 'inline'
2204         * lib/count-leading-zeros.c: New file.
2205         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
2206         New macro.  Replace all uses of 'static inline' with it.
2207         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2208         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
2209         Do not require AC_C_INLINE.
2210         * modules/count-leading-zeros (Files, lib_SOURCES):
2211         Add lib/count-leading-zeros.c.
2212         (Depends-on): Add extern-inline.
2213
2214         bitrotate: better 'inline'
2215         * lib/bitrotate.c: New file.
2216         * lib/bitrotate.h (BITROTATE_INLINE):
2217         New macros.
2218         Replace all uses of 'static inline' with them.
2219         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2220         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
2221         (Depends-on): Add extern-inline.
2222         (configure.ac): Do not require AC_C_INLINE.
2223
2224 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
2225
2226         maint.mk: avoid gratuitous failure
2227         Reported by Stefano Lattarini in
2228         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
2229         * top/maint.mk (public-submodule-commit): Quote more safely.
2230
2231 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
2232
2233         canonicalize, canonicalize-lgpl: support MS-Windows file names
2234         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
2235         for test cases, which it'd be nice to add at some point.
2236         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
2237         * lib/canonicalize.c (canonicalize_filename_mode):
2238         * lib/canonicalize-lgpl.c (__realpath):
2239         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
2240         slash is at the beginning of the file name.  Use ISSLASH, instead
2241         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
2242         the first character with '/'.  Test for
2243         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
2244         with a drive letter.
2245         * lib/canonicalize.c (SLASHES): New macro.
2246         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
2247
2248 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
2249
2250         fts: introduce FTS_VERBATIM
2251         * lib/fts_.h (FTS_VERBATIM): New bit flag.
2252         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
2253         * lib/fts.c (fts_open): Honor it.
2254
2255 2012-11-09  Pádraig Brady  <P@draigBrady.com>
2256
2257         getlogin-tests: allow errno == ENXIO
2258         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2259         with errno == ENXIO (No controlling tty).
2260         getlogin_r-tests: Likewise. Also allow errno == ENOENT
2261         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
2262         with errno == ENOENT.  This was reported to happen in various
2263         situations on GNU/Linux.
2264
2265 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2266
2267         getlogin-tests: allow errno == ENOENT
2268         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2269         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
2270         when running a test in an Emacs shell buffer.
2271
2272 2012-11-08  Jim Meyering  <jim@meyering.net>
2273
2274         tests/nap.h: avoid warning about unused variable
2275         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
2276
2277         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
2278         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
2279         white space before each of the special-cased file names, to avoid
2280         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
2281         in http://bugs.gnu.org/12830.
2282
2283 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2284
2285         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
2286         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
2287         fails with errno == EBADF when fd is opened with O_PATH.
2288         Reported by Jim Meyering in
2289         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
2290         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2291         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
2292
2293 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2294
2295         test-utimens: speed up by taking shorter naps
2296         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
2297         New functions.
2298         (nap): Use them, to do a better job of guessing the delay.
2299         On Fedora 17 with ext4 atop md atop hard disks, this made
2300         test-utimens run 10x faster, because the test napped for
2301         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
2302         <http://bugs.gnu.org/12820#11>.
2303
2304 2012-11-07  Jim Meyering  <jim@meyering.net>
2305
2306         mountlist.c: fix a compilation failure
2307         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
2308         I introduced while transforming commit v0.0-7683-g613bcb6
2309
2310 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2311
2312         errno: port to LynxOS 178 2.2.2
2313         Problem reported by Joel Brobecker in
2314         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
2315         * doc/posix-headers/errno.texi (errno.h): Document this.
2316         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
2317         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
2318         Supply a string for EILSEQ.
2319         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
2320
2321 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2322
2323         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
2324         Linux kernel 2.6.39 introduced O_PATH (see
2325         <http://lwn.net/Articles/433854/>) and this is a better fallback
2326         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
2327         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2328         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
2329         * lib/fcntl.in.h (O_ACCMODE):
2330         * tests/test-fcntl-h.c (main):
2331         Do not reject O_ACCMODE merely because it has more than the
2332         minimal number of bits, as POSIX allows extensions here.
2333
2334 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
2335
2336         mountlist: do not classify a bind-mounted dir entry as "dummy"
2337         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
2338         the "none"-testing clause.
2339         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
2340         exception for bind-mounted directories.
2341
2342 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
2343
2344         quote: provide a means to escape strings with nul characters
2345         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
2346         (quote, quote_n): Rename formal arguments for consistency with
2347         quotearg.
2348
2349 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
2350
2351         test-raise: don't assume 199 is an invalid signal
2352         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
2353
2354         sh-quote-tests: port to Solaris 9
2355         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
2356         Problem reported by Dagobert Michelsen in
2357         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
2358
2359 2012-10-28  Jim Meyering  <jim@meyering.net>
2360
2361         maint.mk: rename a new configurable variable
2362         * top/maint.mk (_gl_translatable_string_re): Rename from
2363         translation-markers: _gl_ prefix to insulate from user Makefile code,
2364         and the _re suffix to inform that it's a regular expression.
2365
2366 2012-10-26  Eric Blake  <eblake@redhat.com>
2367
2368         maint.mk: let packages tweak sc_po_check pattern
2369         * top/maint.mk (sc_po_check): Add translation-markers, to allow
2370         finding files with other translation markers.
2371
2372 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2373
2374         euidaccess: speed up 'configure' on GNU hosts
2375         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
2376         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
2377         it's needed only in this case.  Use AC_CHECK_DECLS, not
2378         AC_CHECK_DECLS_ONCE.
2379         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
2380         or AC_REQUIRE for AC_FUNC_GETGROUPS.
2381
2382         * lib/regexec.c (re_search_internal): Fix grammar in comment.
2383
2384 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2385
2386         fchmodat, fchownat, fstatat: port to non-inlining compilers
2387         Problem reported for FreeBSD 9 by Jim Meyering in
2388         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
2389         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
2390         New files, which define FCHMODAT_INLINE etc.
2391         * lib/fchmodat.c (FCHMODAT_INLINE):
2392         * lib/fchownat.c (FCHOWNAT_INLINE):
2393         * lib/fstatat.c (FSTATAT_INLINE):
2394         Remove, as chmodat.c etc. now do this.
2395         * modules/fchmodat (Files): Add lib/chmodat.c.
2396         * modules/fchownat (Files): Add lib/chownat.c.
2397         * modules/fstatat (Files): Add lib/statat.c.
2398
2399 2012-10-15  Jim Meyering  <jim@meyering.net>
2400
2401         fchmodat.c, fchownat.c: compile-impeding typos
2402         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
2403         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
2404         Introduced in commit v0.0-7636-gd202279.
2405
2406 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2407
2408         fcntl-h: support GNU flags like O_IGNORE_CTTY
2409         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
2410         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
2411         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
2412         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
2413         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
2414         Define to 0 if not already defined.
2415         * tests/test-fcntl-h.c: Test these new flags.
2416
2417 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2418
2419         faccessat, etc.: support AT_FDCWD-only use
2420         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
2421         this function only if its first argument is AT_FDCWD.
2422         Emacs wants faccessat for AT_EACCESS but not for any first-arg
2423         values other than AT_FDCWD, so it doesn't want all the openat
2424         machinery with fchdir etc.
2425         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
2426         * modules/fstatat, modules/mkdirat, modules/openat (Files):
2427         * modules/unlinkat (Files):
2428         Remove lib/openat-priv.h, as at-internal supplies this file.
2429         Removing this file here allows us to support programs like Emacs
2430         that avoid at-internal.
2431
2432         faccessat: speed up 'configure' on mainstream hosts
2433         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
2434         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
2435         since it's only on unusual platforms that we need to check for
2436         'access', and it's better not to slow 'configure' down on all
2437         platforms.
2438
2439         faccessat: port to Solaris 10
2440         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
2441         Needed on Solaris 10, which doesn't have AT_EACCESS,
2442         so we need the Gnulib fcntl.h, which defines it.
2443
2444 2012-10-14  Pádraig Brady  <P@draigBrady.com>
2445         canonicalize: fix C89 compilation
2446         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
2447         declarations so C89 is supported.  Also remove the comment
2448         referencing memorty allocation as the suggested feature could
2449         not be implemented as suggested.
2450         Reported by Michael Goffioul.
2451
2452 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2453
2454         group-member: omit unnecessary dependencies
2455         This is for Emacs, which has its own allocator and where we
2456         don't want to use xalloc.
2457         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2458         since we no longer use xmalloc.  Do not include stdbool.h, since
2459         the changes below happen to remove the only use of bool.
2460         (GROUPBUF_SIZE): New constant.
2461         (struct group_info): Remove n_groups member.  Add groupbuf member.
2462         This lets us get the groups without using malloc, usually.
2463         (free_group_info, get_group_info): Adjust to this.
2464         (get_group_info): Return the number of groups found, or -1 on error.
2465         Use plain malloc not xmalloc, and treat its failure as if there
2466         are no groups, as the user already loses in case of error.
2467         (group_member): Simplify, based on changes to get_group_info.
2468         * modules/group-member (Depends-on): Remove dependencies on
2469         xalloc and stdbool.  Add dependency on xalloc-oversized.
2470
2471 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2472
2473         gethrxtime: port to C++
2474         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2475
2476 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2477
2478         ptsname: fix macro-name typo
2479         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2480
2481 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2482
2483         inttostr: Relax license.
2484         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2485
2486 2012-10-03  Eric Blake  <eblake@redhat.com>
2487
2488         ptsname_r: support ptys returned by FreeBSD posix_openpt
2489         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2490         lives in /dev/pts/.
2491
2492 2012-10-02  Eric Blake  <eblake@redhat.com>
2493
2494         pselect: reject invalid file descriptors
2495         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2496         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2497         * modules/pselect (Depends-on): Add dup2.
2498         * doc/posix-functions/pselect.texi (pselect): Document this.
2499
2500         select: reject invalid file descriptors
2501         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2502         * lib/select.c (rpl_select) [!win32]: Work around it.
2503         * modules/select (Depends-on): Add dup2.
2504         * doc/posix-functions/select.texi (select): Document this.
2505
2506         select: enhance test
2507         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2508         New functions.
2509         (test_function): Enhance test.
2510         (do_select_bad_fd): Avoid any stale errno values.
2511
2512         ptsname: reject invalid file descriptors
2513         http://www.austingroupbugs.net/view.php?id=503
2514         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2515         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2516         * modules/stdlib (Makefile.am): Replace witness.
2517         * lib/stdlib.in.h (ptsname): Allow for replacement.
2518         * modules/ptsname (configure.ac): Trigger replacement.
2519         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2520
2521 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2522
2523         hash-pjw-bare: new module
2524         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2525         * lib/hash-pjw-bare.h: Likewise.
2526         * modules/hash-pjw-bare: New file.
2527         * MODULES.html.sh (Misc): Add it.
2528
2529 2012-10-02  Eric Blake  <eblake@redhat.com>
2530
2531         manywarnings: cater to more gcc infelicities
2532         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2533         -Wuninitialized without -O.
2534
2535 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2536
2537         select, poll tests: Make setsockopt invocation effective.
2538         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2539         the bind() call.
2540         * tests/test-select.h (open_server_socket): Likewise.
2541
2542 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2543
2544         sockets, sys_stat: restore AC_C_INLINE
2545         This undoes the 2012-09-22 patch.
2546         * m4/sockets.m4 (gl_SOCKETS):
2547         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2548         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2549         and does not support plain 'inline'.  Reported by Bruno Haible in
2550         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2551
2552 2012-09-30  Bruno Haible  <bruno@clisp.org>
2553
2554         localeconv tests: Avoid test failure on OpenIndiana.
2555         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2556         skip the 'grouping' and 'mon_grouping' tests.
2557         Reported by Jim Meyering.
2558
2559 2012-09-30  Bruno Haible  <bruno@clisp.org>
2560
2561         havelib: Follow libtool developments.
2562         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2563         Suggested by Simon Josefsson.
2564
2565 2012-09-29  Jim Meyering  <meyering@redhat.com>
2566
2567         fstatat.c: fix a compile-impeding typo
2568         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2569         Introduced in commit v0.0-7636-gd202279.
2570         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2571
2572 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2573
2574         extern-inline: provide a -Wundef safe config.h
2575         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2576         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2577         to produce a -Wundef warning free config.h.
2578
2579 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2580
2581         hash-pjw: relax license to LGPLv2+
2582         * modules/hash-pjw (License): Relax, with consent of author.
2583
2584 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2585
2586         maint.mk: fix strict vs. lazy variable issues with RELEASE
2587         * top/maint.mk (_equal): New function.
2588         (member_check): Strip the result to avoid spurious spaces.
2589         (url_dir_list): Do not use ifeq, which is strict, as it will
2590         require RELEASE_TYPE to be defined.
2591         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2592         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2593         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2594         (announcement_Cc_beta,announcement_mail_headers_beta)
2595         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2596         (release): Do not depend on $(release-type), as it forces its
2597         evaluation.  Bounce to it.
2598
2599 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2600
2601         maint.mk: formatting changes
2602         * top/maint.mk: Indent bodies of if's.
2603
2604 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2605
2606         maint.mk: factor the validation of RELEASE_TYPE
2607         With help from Jim Meyering.
2608         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2609         * top/maint.mk (_empty, _sp): Move their definition earlier.
2610         (member-check, release-type): New.
2611         Use the latter instead of $(RELEASE_TYPE).
2612         Remove now useless local checks.
2613
2614 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2615
2616         maint.mk: provide "make upload" to ease uploading
2617         See
2618         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2619         Do not depend simply on the current $(VERSION), as there may have been
2620         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2621         as "make release-commit" already does.
2622
2623         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2624         "make TYPE".
2625
2626         * top/maint.mk (upload_command, upload, release): New.
2627         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2628         (VERSION): first word of $(RELEASE) is always right.
2629         (emit_upload_commands): Adjust.
2630         * top/README-release: Update.
2631
2632 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2633
2634         maint.mk: silent rules
2635         With help from Stefano Lattarini.
2636         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2637         (announcement): Use $(AM_V_at).
2638
2639 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2640
2641         localename: port gl_locale_name_thread_unsafe to FreeBSD
2642         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2643         and use the simpler FreeBSD implementation on Mac OS X as well.
2644         Original idea suggested by Ed Maste in
2645         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2646
2647 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2648
2649         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2650         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2651         * lib/mbuiter.c, lib/xsize.c: New files.
2652         * lib/binary-io.h (BINARY_IO_INLINE):
2653         * lib/eealloc.h (EEALLOC_INLINE):
2654         * lib/mbfile.h (MBFILE_INLINE):
2655         * lib/mbiter.h (MBITER_INLINE):
2656         * lib/mbuiter.h (MBUITER_INLINE):
2657         * lib/xsize.h (XSIZE_INLINE):
2658         New macros.
2659         Replace all uses of 'static inline' with them.
2660         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2661         * m4/eealloc.m4 (gl_EEALLOC):
2662         * m4/mbfile.m4 (gl_MBFILE):
2663         * m4/mbiter.m4 (gl_MBITER):
2664         * m4/xsize.m4 (gl_XSIZE):
2665         Do not require AC_C_INLINE.
2666         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2667         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2668         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2669         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2670         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2671         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2672         * modules/binary-io, modules/eealloc, modules/mbfile:
2673         * modules/mbiter, modules/mbuiter:
2674         (Depends-on): Add extern-inline.
2675
2676         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2677         * lib/pipe-filter-aux.c: New file.
2678         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2679         Replace all uses of 'static inline' with it.
2680         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2681         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2682         (filter_retcode): No real need for inline here.
2683         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2684         (Files): Add lib/pipe-filter-aux.c.
2685         (Depends-on): Add extern-inline.
2686         (configure.ac): Do not require AC_C_INLINE.
2687         (lib_SOURCES): Add pipe-filter-aux.c.
2688
2689         fdutimensat: omit unnecessary AC_C_INLINE
2690         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2691
2692         fchmodat, fchownat, fstatat: use extern-inline
2693         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2694         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2695         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2696         New macros.
2697         * lib/openat.h:
2698         Replace all uses of 'static inline' with them.
2699         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2700         * modules/fchmodat, modules/fchownat, modules/fstatat:
2701         * modules/openat-h:
2702         (Depends-on):
2703         Add extern-inline.
2704         (configure.ac): Remove AC_C_INLINE.
2705
2706         acl, mbchar, priv-set: use extern-inline
2707         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2708         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2709         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2710         New macros.
2711         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2712         Replace all uses of 'static inline' with it.
2713         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2714         * m4/acl.m4 (gl_FUNC_ACL):
2715         * m4/mbchar.m4 (gl_MBCHAR):
2716         * m4/priv-set.m4 (gl_PRIV_SET):
2717         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2718         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2719         Add extern-inline.
2720
2721         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2722         * m4/sockets.m4 (gl_SOCKETS):
2723         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2724         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2725         environments where it's already guaranteed to work, so we needn't
2726         check for it at 'configure'-time.
2727
2728         tls-tests: omit unnecessary 'inline'
2729         * tests/test-tls.c (perhaps_yield): No longer inline.
2730         Simplicity and portability trump efficiency in test cases.
2731
2732         utimens-tests: avoid unnecessary 'inline'
2733         * modules/fdutimensat-tests (configure.ac):
2734         * modules/futimens-tests (configure.ac):
2735         * modules/utimens-tests (configure.ac):
2736         * modules/utimensat-tests (configure.ac):
2737         Remove AC_C_INLINE.
2738         * tests/test-utimens-common.h (ctime_compare):
2739         No longer inline.  Simplicity and portability trump efficiency here.
2740
2741         misc: don't limit commentary to inline functions
2742         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2743         * lib/xalloc-oversized.h, lib/xsize.h:
2744         Contrast macros to functions in general, not just to inline functions,
2745         when the commentary does not apply only to inline functions.
2746
2747 2012-09-20  Jim Meyering  <meyering@redhat.com>
2748
2749         non-recursive-gnulib-prefix-hack: new module
2750         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2751         the file that originated in Bison.
2752         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2753         largely copied from a snippet that resided in bison's configure.ac.
2754         * modules/non-recursive-gnulib-prefix-hack: New file.
2755         * MODULES.html.sh (Support for maintaining and releasing projects):
2756         Add it.
2757
2758 2012-09-18  Jim Meyering  <meyering@redhat.com>
2759
2760         maint.mk: generalize _gl_tight_scope for non-recursive make
2761         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2762         that *.h would describe additional .h files in the directory
2763         specified by $(_gl_TS_dir).  I.e., add this...
2764         (_gl_TS_other_headers): New variable.
2765
2766         maint.mk: exempt trailing blanks found in "binary" files
2767         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2768         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2769         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2770
2771 2012-09-17  Jim Meyering  <meyering@redhat.com>
2772
2773         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2774         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2775         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2776         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2777
2778 2012-09-17  Jim Meyering  <meyering@redhat.com>
2779
2780         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2781         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2782         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2783         It is not in the same category as "exit (0)" or "exit (1)", and
2784         besides, I know of no symbolic name for that 77.  Reported by
2785         Richard W.M. Jones in
2786         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2787
2788 2012-09-17  Jim Meyering  <meyering@redhat.com>
2789
2790         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2791         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2792         all uses of #define, not just those that start in column 1.
2793         Richard W.M. Jones reported a false positive in
2794         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2795
2796 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2797
2798         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2799         * lib/localcharset.c (locale_charset) [DARWIN7]:
2800         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2801         as these two values are incompatible.  Problem reported by Max Horn.
2802         For more discussion, please see
2803         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2804
2805         doc: document sticky-EOF issue
2806         * doc/posix-functions/fgetc.texi (fgetc):
2807         * doc/posix-functions/fgets.texi (fgets):
2808         * doc/posix-functions/fread.texi (fread):
2809         * doc/posix-functions/fscanf.texi (fscanf):
2810         * doc/posix-functions/getc.texi (getc):
2811         * doc/posix-functions/getchar.texi (getchar):
2812         * doc/posix-functions/scanf.texi (scanf):
2813         Mention that glibc and default Solaris do not conform to
2814         C99 and POSIX-2001 or later, with respect to how getchar
2815         etc. behave when feof reports nonzero.
2816
2817 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2818
2819         poll: fix poll(0, NULL, msec)
2820         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2821         but nfd is 0.  In that case poll should behave like select.
2822
2823 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2824             Paolo Bonzini <bonzini@gnu.org>
2825
2826         poll: fix for systems that can't recv() on a non-socket
2827         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2828         is readable.  In this case POLLHUP will not be supported.
2829         * doc/posix-functions/poll.texi: Document this.
2830
2831 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2832
2833         poll/select: document portability problems not fixed by Gnulib.
2834         * doc/posix-functions/poll.texi: poll does not work well on
2835         pipes under Windows.  It has the same limitations as select on
2836         BeOS.
2837         * doc/posix-functions/select.texi: select does not work well
2838         on pipes under Windows.
2839
2840 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2841
2842         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2843         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2844         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2845         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2846
2847 2012-09-06  Eric Blake  <eblake@redhat.com>
2848
2849         net_if: give more details about the bug being fixed
2850         * doc/posix-headers/net_if.texi: Add clarification.
2851
2852 2012-09-05  Eric Blake  <eblake@redhat.com>
2853
2854         net_if: new module
2855         * modules/net_if: New module, borrowing ideas from netinet_in.
2856         * m4/net_if_h.m4: New file.
2857         * lib/net_if.in.h: Likewise.
2858         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2859         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2860         * tests/test-net_if.c: Make function checks conditional.
2861         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2862
2863 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2864
2865         readutmp: fix non-portable UT_PID use
2866         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2867         Use `UT_PID (u) > 0' as absolute condition.
2868
2869 2012-09-04  Jim Meyering  <meyering@redhat.com>
2870
2871         fts: reduce two or more trailing spaces to just one, usually
2872         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2873         or more slashes, trim all but the final one.  But if a name consists
2874         solely of two slashes, don't modify it.  If it consists solely of
2875         three or more slashes, strip all but one.
2876
2877         This is part of the solution to a minor problem with rm:
2878         it would print a bogus ELOOP diagnostic when failing to remove
2879         the slash-decorated name of a symlink-to-directory:
2880
2881             $ mkdir d && ln -s d s && env rm -r s/
2882             rm: cannot remove 's': Too many levels of symbolic links
2883
2884         With the change below and a trivial don't-trim-trailing-slashes
2885         adjustment to remove.c, it does this:
2886
2887             $ env rm -r s/
2888             rm: cannot remove 's/': Not a directory
2889
2890         Improved by: Eric Blake
2891
2892         fts: when there is no risk of overlap, use memcpy, not memmove
2893         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2894
2895 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2896
2897         stdbool: be more compatible with mixed C/C++ compiles
2898         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2899         Define to bool, true, false, respectively, as GCC's builtin
2900         stdbool.h does.  Problem reported by Michael Goffioul in
2901         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2902
2903 2012-08-28  Jim Meyering  <meyering@redhat.com>
2904
2905         revert last change: it was not needed
2906         * tests/test-vc-list-files-git.sh: There's already a test for
2907         a working git, just below.
2908
2909 2012-08-28  Jim Meyering  <meyering@redhat.com>
2910
2911         tests: test-vc-list-files-git.sh: skip if git is not available
2912         * tests/test-vc-list-files-git.sh: Skip this test when git is
2913         not available.
2914
2915 2012-08-26  Bruno Haible  <bruno@clisp.org>
2916
2917         gnulib-tool: Remove no-op option --no-changelog.
2918         * gnulib-tool (func_usage): Don't mention --no-changelog.
2919         (do_changelog): Remove variable.
2920         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2921
2922 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2923
2924         doc: remove fdl-1.2.texi
2925         It is no longer used or maintained, and its use of @acronym
2926         is problematic.  See the thread containing
2927         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2928         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2929         * doc/old-licenses/fdl-1.2.texi: Remove.
2930
2931         execinfo: port to FreeBSD
2932         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2933         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2934         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2935         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2936
2937 2012-08-23  Jim Meyering  <meyering@redhat.com>
2938
2939         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2940         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2941         to placate gcc's -Wold-style-declaration.
2942
2943 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2944
2945         doc: do not use @acronym
2946         * doc/inet_ntoa.texi (inet_ntoa):
2947         * doc/parse-datetime.texi (Seconds since the Epoch)
2948         (Specifying time zone rules):
2949         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2950         Don't use @acronym.  Problem reported by John Darlington in
2951         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2952
2953 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2954
2955         stdnoreturn: port to newer GCCs
2956         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2957         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2958         Problem reported by Jim Meyering in
2959         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2960         Also, rename the 'test' function to a void a clash with the
2961         already-supplied 'main' function; this fixes a bug that incorrectly
2962         rejected GCC 4.7.1's <stdnoreturn.h>.
2963         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2964         Document GCC problem.
2965
2966 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2967
2968         pipe-filter: fix comment typo
2969         * lib/pipe-filter.h: Mention correct function.
2970
2971 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2972
2973         execinfo: new module
2974         This is for Emacs.  Currently, it provides a no-effect stub
2975         on all platforms where it does not already work.
2976         It already works on glibc-based systems, and on Solaris 11.
2977         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2978         New files.
2979         * doc/glibc-headers/execinfo.texi (execinfo.h):
2980         * MODULES.html.sh (Misc): Document it.
2981
2982 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2983
2984         extern-inline: support old GCC 'inline'
2985         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2986         if available.  This applies to GCC versions 2.7 through 4.2, or
2987         when newer GCC is using -fgnu89-inline.  The goal is to address
2988         some of the performance issues mentioned by Bruno Haible in
2989         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2990
2991 2012-08-20  Eric Blake  <eblake@redhat.com>
2992
2993         maint.mk: avoid redundant file name in message
2994         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2995         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2996         (sc_makefile_path_separator_check): Remove bogus $(ME).
2997
2998 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2999
3000         timer-time: fix link order when static linking on glibc
3001         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3002         _after_ -lrt so that it's significant.
3003
3004 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3005
3006         timespec: omit unnecessary AC_C_INLINE
3007         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
3008
3009         stat-time: omit unnecessary AC_C_INLINE
3010         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
3011         Do not require AC_C_INLINE.
3012
3013         ignore-value: omit unnecessary AC_C_INLINE
3014         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
3015
3016         sys_select: avoid 'static inline'
3017         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
3018
3019         mktime: avoid 'static inline'
3020         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
3021         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
3022
3023 2012-08-19  Bruno Haible  <bruno@clisp.org>
3024
3025         gnulib-tool: Improve coding style.
3026         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
3027         func_emit_lib_Makefile_am.
3028         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3029
3030 2012-08-19  Bruno Haible  <bruno@clisp.org>
3031
3032         gnulib-tool: Fix indentation.
3033         * gnulib-tool (func_import): Fix indentation.
3034
3035 2012-08-19  Bruno Haible  <bruno@clisp.org>
3036
3037         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
3038         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
3039         on the list of removed files.
3040
3041 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3042
3043         test-parse-datetime: avoid glibc leap-second glitch
3044         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
3045         with the 2012 rules.  Problem reported by Bruce Dubbs in
3046         <http://bugs.gnu.org/12206>.
3047
3048 2012-08-14  Bruno Haible  <bruno@clisp.org>
3049
3050         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
3051         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
3052         from argument.
3053         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3054
3055 2012-08-14  Eric Blake  <eblake@redhat.com>
3056
3057         ldexp: relax license
3058         * modules/ldexp (License): Trivial relax, since the module only
3059         provides a permissively licensed m4 file.
3060
3061 2012-08-13  Bruno Haible  <bruno@clisp.org>
3062
3063         gnulib-tool: Fix persistence of --witness-c-macro option.
3064         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
3065         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3066
3067 2012-08-11  Eric Blake  <eblake@redhat.com>
3068
3069         count-leading-zeros: use a lookup table on non-gcc compilers
3070         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
3071         alternate implementation, suggested by Jim Meyering.
3072
3073 2012-08-10  Eric Blake  <eblake@redhat.com>
3074
3075         count-leading-zeros: new module
3076         * modules/count-leading-zeros: New module.
3077         * m4/count-leading-zeros.m4: New file.
3078         * lib/count-leading-zeros.h: Likewise.
3079         * modules/count-leading-zeros-tests: New test.
3080         * tests/test-count-leading-zeros.c: New file.
3081         * MODULES.html.sh (Integer arithmetic functions): Document it.
3082
3083 2012-08-07  Simon Josefsson  <simon@josefsson.org>
3084             Jim Meyering  <meyering@redhat.com>
3085
3086         maintainer-makefile: Fix syntax error with dash.
3087         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
3088         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
3089
3090 2012-08-05  Jim Meyering  <meyering@redhat.com>
3091
3092         extern-inline: also ignore -Wmissing-declarations
3093         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
3094         required with gcc-4.8.0-to-be.
3095
3096         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
3097         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
3098         for /error ?([^,]*)/.  This avoids false-positives for strings like
3099         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
3100
3101 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3102
3103         gnumakefile: better interaction with Automake-NG
3104         * modules/gnumakefile [Makefile.am]: The makefiles generated by
3105         Automake-NG always contain a definition of VPATH, even in non-VPATH
3106         builds (its value being simply '.' in that case).  So, in the
3107         'clean-GNUmakefile' rule, to determine whether running under a
3108         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
3109         '$(VPATH)' expands to the empty string.
3110
3111 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
3112
3113         base64: Use extern C scope in header file, for C++.
3114         * lib/base64.h: Add C++ namespace protection.
3115
3116 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3117
3118         stat-time, timespec, u64: support naive out-of-dir builds
3119         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
3120         Use '#include "foo.h"', not '#include <foo.h>', when including
3121         one's own interface.  This works better when configuring with
3122         out-of-directory builds, since packages need not add an
3123         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
3124
3125 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
3126
3127         utimens: use extern-inline
3128         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
3129         * lib/utimens.h: Add copyright notice, since this is now large enough
3130         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3131         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
3132         * modules/utimens (Depends-on): Add extern-inline.
3133
3134         u64: use extern-inline
3135         * lib/u64.c: New file.
3136         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3137         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
3138         * modules/u64 (Files): Add lib/u64.c.
3139         (Depends-on): Add extern-inline.
3140         (configure.ac): No need to require AC_C_INLINE, since extern-inline
3141         does that now.
3142         (lib_SOURCES): Add u64.c.
3143
3144         timespec: use extern-inline
3145         * lib/timespec.c: New file.
3146         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3147         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
3148         * modules/timespec (Files): Add lib/timespec.c.
3149         (Depends-on): Add extern-inline.
3150         (lib_SOURCES): Add timespec.c.
3151
3152         stat-time: use extern-inline
3153         * lib/stat-time.c: New file.
3154         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3155         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
3156         * modules/stat-time (Files): Add lib/stat-time.c.
3157         (Depends-on): Add extern-inline.
3158         (lib_SOURCES): Add stat-time.c.
3159
3160         extern-inline: new module
3161         * modules/extern-inline, m4/extern-inline.m4: New files.
3162         This is for better support of 'extern inline' a la ISO C99,
3163         with a portable alternative on compilers that do not support
3164         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
3165         of the Emacs executable, when compiled with debugging disabled,
3166         which is a typical way that Emacs is built while developing.
3167
3168 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
3169
3170         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
3171         * build-aux/do-release-commit-and-tag: Move variable definitions
3172         together.
3173         ($branch): Instead of defaulting to "master", default to the current
3174         branch (as gnu-web-doc-update does).
3175         (help): Display the current values of the option arguments.
3176         * top/maint.mk (release-commit): New.
3177         * top/README-release: Simplify the corresponding step.
3178
3179 2012-07-30  Eric Blake  <eblake@redhat.com>
3180
3181         passfd: fix comment on recvfd
3182         * lib/passfd.c (recvfd): Fix comment.
3183         Reported by Jann Horn <jannhorn@googlemail.com>.
3184
3185 2012-07-30  Jim Meyering  <meyering@redhat.com>
3186
3187         maint.mk: avoid a sub-shell
3188         * top/maint.mk (release-prep): Remove unneeded sub-shell.
3189
3190 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3191
3192         maint.mk: use silent-rules support from Automake
3193         * top/maint.mk (news-check, vc-diff-check, announcement)
3194         (no-submodule-changes, alpha beta stable, release-prep)
3195         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
3196
3197 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3198
3199         maint.mk: provide a web-manual-update target
3200         * top/maint.mk: here.
3201         * top/README-release: Use it to simplify the web manual update step.
3202
3203 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3204
3205         README-release: shorten the circuit to post a news
3206         * top/README-release: Point directly to the news submission form.
3207
3208 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3209
3210         gnu-web-doc-update: fix --help
3211         * build-aux/gnu-web-doc-update: The information "top level" was written
3212         twice.
3213
3214 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3215
3216         maint.mk: absolute VPATH issue
3217         * top/maint.mk (release-prep): Help Git find .git/.
3218         From Jim Meyering.
3219
3220 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3221
3222         gitlog-to-changelog: fix previous change
3223         * build-aux/gitlog-to-changelog: Fix condition.
3224         Add missing ";".
3225
3226 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3227
3228         gitlog-to-changelog: don't expect .git to be in $srcdir
3229         Reported by Bruno Haible.
3230         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
3231         * build-aux/gitlog-to-changelog (&git_dir_option): New.
3232         Use it.
3233
3234 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3235
3236         maint.mk: absolute VPATH build fix
3237         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
3238         $(srcdir) is not a parent of $(builddir).
3239
3240 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
3241
3242         clean-temp: Fix memory leak.
3243         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
3244         'files' members of tmpdir.
3245
3246 2012-07-27  Jim Meyering  <meyering@redhat.com>
3247
3248         maint.mk: new rule: refresh-gnulib-patches
3249         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
3250         Use this rule to refresh them.
3251         * top/maint.mk (refresh-gnulib-patches): New rule.
3252
3253 2012-07-24  Bruno Haible  <bruno@clisp.org>
3254
3255         gnulib-tool: Fix handling of inctests variable.
3256         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
3257         Reported by Nick Bowler <nbowler@elliptictech.com>.
3258
3259 2012-07-22  Bruno Haible  <bruno@clisp.org>
3260
3261         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
3262         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
3263         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3264         Remove exemption for getpass.h.
3265         Suggested by Eric Blake.
3266
3267 2012-07-20  Eric Blake  <eblake@redhat.com>
3268
3269         verify: document conflict with -Wnested-externs
3270         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
3271
3272         maint.mk: forbid exit(-1)
3273         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
3274
3275 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3276
3277         fsusage: port back to Solaris
3278         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
3279         error (fsd not declared) on Solaris 10.  Reported privately by
3280         Andrew Borodin.
3281
3282 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
3283
3284         gnu-web-doc-update: fix error messages
3285         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
3286
3287         gnu-web-doc-update: check the requirements.
3288         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
3289         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
3290         * build-aux/bootstrap (find_tool): Comment change.
3291
3292 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
3293
3294         maint.mk: minor simplication.
3295         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
3296         for default values.
3297
3298 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
3299
3300         gitlog-to-changelog: VPATH build issues
3301         If builddir is not a subdirectory of srcdir, running git from it will
3302         fail.
3303         * build-aux/gitlog-to-changelog (--srcdir): New option.
3304
3305 2012-07-15  Bruno Haible  <bruno@clisp.org>
3306
3307         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
3308         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
3309         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
3310         Remove exemption for fpending.h.
3311         Suggested by Eric Blake.
3312
3313 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3314
3315         pthread_sigmask: fix bug on FreeBSD 9
3316         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
3317         Include string.h.
3318         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
3319         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
3320         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
3321         but pthread_sigmask (1729, NULL, NULL) returns zero.
3322         See <http://bugs.gnu.org/11884>.
3323         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
3324         by inspecting whether the main call changed the old mask.
3325
3326 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
3327
3328         README-release: make it more legible
3329         * top/README-release: Improve typography slightly.
3330
3331 2012-07-15  Jim Meyering  <meyering@redhat.com>
3332
3333         maint: require that each sc_... command start with "@"
3334         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
3335         "make sc_maint" helps us avoid this nit.
3336
3337 2012-07-15  Jim Meyering  <meyering@redhat.com>
3338
3339         maint.mk: add leading "@" to quiet new "make syntax-check" rule
3340         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
3341
3342 2012-07-13  Eric Blake  <eblake@redhat.com>
3343
3344         maint.mk: new syntax check for HAVE_DECL checks
3345         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
3346         * cfg.mk
3347         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3348         Exempt some false positives.
3349         Based on a report by Karel Zak.
3350
3351         argp: make HAVE_DECL usage consistent
3352         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
3353         macros, not whether they are defined.
3354         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
3355         convention with other declaration checks.
3356         Reported by Karel Zak, with suggestions from Paul Eggert.
3357
3358         stat-time: relax license to LGPLv2+
3359         * modules/stat-time (License): Relax, with consent of all authors.
3360
3361         strndup: fix m4 usage error
3362         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
3363         defined, to either 0 or 1.
3364         Reported by Karel Zak.
3365
3366 2012-07-11  Jim Meyering  <meyering@redhat.com>
3367
3368         maint: enable the sc_avoid_if_before_free syntax-check rule
3369         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
3370         (if_before_free_offenders_): Define.
3371         (if_before_free_basename_re_): Define.
3372         Exempt current files with useless if-before-free.
3373
3374 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
3375
3376         gettext: do not assume '#define ... defined ...' behavior
3377         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
3378         Do not use '#define FOO ... defined BAR ...', as the C standard says
3379         it's not portable to expect that this works after macro expansion.
3380         Problem reported for gzip by Steven M. Schweda in
3381         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
3382
3383 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3384
3385         getloadavg: clean out old Emacs and Autoconf cruft
3386         See Glenn Morris in <http://bugs.gnu.org/11905>.
3387         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
3388         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
3389         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
3390         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
3391
3392 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
3393
3394         bootstrap: let warn be like tests/init.sh's warn_
3395         Reported by Jim Meyering.
3396         * build-aux/bootstrap (warn): Remove, replaced by...
3397         (warnf_, warn_): these.
3398         Adjust callers.
3399         Shorten messages that no longer fit in 80 columns.
3400
3401 2012-07-09  Bruno Haible  <bruno@clisp.org>
3402
3403         getopt: Simplify after Emacs changed.
3404         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
3405         (gl_GETOPT_IFELSE): Remove macro.
3406
3407 2012-07-09  Jim Meyering  <meyering@redhat.com>
3408
3409         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
3410         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
3411
3412         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
3413         Bugs in both of those conspired to make the
3414         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
3415         _sc_search_regexp's handling of non-empty $in_files would filter
3416         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
3417         choice of in_files value meant there would be no match in most
3418         projects, due to the presence of two or more Makefile.in files.
3419         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
3420         Fix a bug in how a non-empty $$in_files was processed:
3421         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
3422         in spite of the name, it's a regexp, not a list of file names.
3423
3424 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3425
3426         getloadavg, getopt: fix commentary re configure.in
3427         Autoconf is deprecating the name 'configure.in', so change it to
3428         to the new name 'configure.ac' in a couple of places.
3429         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
3430         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
3431         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
3432         Emacs has renamed it to configure.ac, and it no longer refers
3433         to these macros anyway.
3434
3435         timespec: mark functions with const attributes
3436         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
3437         Mark with _GL_ATTRIBUTE_CONST.
3438
3439 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3440
3441         canonicalize[-lgpl]: handle "guessing" values when cross-building
3442         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
3443         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
3444         matches "*yes" instead of just "yes".  Regression introduced in commit
3445         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
3446
3447 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3448             Bruno Haible  <bruno@clisp.org>
3449
3450         canonicalize: make the right guess when cross-compiling to GNU
3451         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
3452         determine whether cross-compiling to glibc systems, so as to
3453         include GNU/Hurd.
3454
3455 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3456
3457         timespec-sub: avoid duplicate include
3458         * lib/timespec-sub.c: Do not include <config.h> twice.
3459         Reported by Juanma Barranquero.
3460
3461 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3462
3463         bootstrap: use a more consistent error reporting scheme
3464         * build-aux/bootstrap (warn, die): New.
3465         Use them.
3466
3467 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3468
3469         sys_time: allow too-wide tv_sec
3470         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3471         timeval even if tv_sec is wider than time_t.  This allows
3472         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3473         as without this patch gnulib replaces struct timeval
3474         and OpenBSD futimes therefore has a type mismatch.
3475         * doc/posix-headers/sys_time.texi: Mention this.
3476
3477         pthread: check for both pthread_create and pthread_join
3478         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3479         alter the check so that it tests for both pthread_create and
3480         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3481         Suggested by Bruno Haible and Richard Yao in
3482         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3483
3484         parse-datetime: doc tuneup
3485         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3486         spacing issues.
3487
3488 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3489
3490         do-release-commit-and-tag: fix the previous commit
3491         * build-aux/do-release-commit-and-tag: Actually the test was right,
3492         but the comment and the error message were misleading.
3493         Fix comment, and improve error message.
3494         Perform check first, so that NEWS is not modified uselessly.
3495
3496         do-release-commit-and-tag: fix typo
3497         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3498         _not_ start with a stub.
3499
3500 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3501
3502         pthread: check for pthread_create, not pthread_join
3503         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3504         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3505         pthread_join in libc.  I hope this removes the need for all the
3506         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3507         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3508
3509 2012-07-04  Jim Meyering  <meyering@redhat.com>
3510
3511         parse-datetime: fix failure to diagnose invalid input
3512         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3513         rather than diagnosing the invalid input.  Now it reports this:
3514         date: invalid date '\260'
3515         * lib/parse-datetime.y (to_uchar): Define.
3516         (yylex): Don't sign-extend "other" bytes.
3517         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3518         Thanks to Bruno Haible for the patch to this file.
3519         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3520         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3521
3522 2012-07-03  Jim Meyering  <meyering@redhat.com>
3523
3524         bootstrap: do not require now-removed build-aux/missing
3525         Now that build-aux/missing is, er, missing, bootstrap would
3526         silently fail.
3527         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3528         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3529         no longer part of gnulib.
3530         Diagnose the failure.
3531
3532 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3533
3534         alloca: add support for HP NonStop TNS/E native
3535         * lib/alloca.in.h (alloca): Support the new host.
3536         From a suggestion by Joachim Schmitz in
3537         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3538
3539 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3540
3541         fsusage: remove code not needed on non GNU/Linux systems.
3542
3543         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3544         Don't include headers no longer needed in this case.
3545         * lib/fsusage.c [STAT_STATVFS &&
3546         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3547         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3548
3549 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3550
3551         fsusage: include files needed for glibc 2.6 fallback
3552         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3553         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3554         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3555         Problem reported by Ludovic Courtès in
3556         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3557
3558         fsusage: avoid needless check on GNU/Linux
3559         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3560         on GNU/Linux systems, since it can't possibly work.
3561
3562 2012-07-01  Bruno Haible  <bruno@clisp.org>
3563
3564         log: Fix an autoconf >= 2.64 warning.
3565         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3566         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3567
3568 2012-06-28  Bruno Haible  <bruno@clisp.org>
3569
3570         log10f: Fix possible configuration problem.
3571         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3572         $LOGF_LIBM.
3573         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3574
3575 2012-06-28  Bruno Haible  <bruno@clisp.org>
3576
3577         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3578         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3579         not gl_cv_func_unlink_works.
3580         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3581
3582 2012-06-27  Eric Blake  <eblake@redhat.com>
3583
3584         config: drop scripts that automake says are not independent
3585         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3586         * build-aux/elisp-comp: Delete.
3587         * build-aux/missing: Likewise.
3588         * build-aux/ylwrap: Likewise.
3589         * modules/elisp-comp: Likewise.
3590         * MODULES.html.sh: Drop mention of elisp-comp.
3591         * NEWS: Mention this.
3592
3593 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3594
3595         root-uid: new module
3596         This is for portability to Tandem's NonStop Kernel.
3597         * lib/root-uid.h, modules/root-uid: New files.
3598         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3599         * lib/write-any-file.c, tests/test-sethostname2.c:
3600         Include "root-uid.h".
3601         * lib/euidaccess.c (euidaccess):
3602         * lib/pt_chown.c (main):
3603         * lib/unlinkdir.c (cannot_unlink_dir):
3604         * lib/write-any-file.c (can_write_any_file):
3605         * m4/mknod.m4 (gl_FUNC_MKNOD):
3606         * tests/test-sethostname2.c (geteuid, main):
3607         Don't assume ROOT_UID == 0.
3608         * modules/euidaccess (Depends-on):
3609         * modules/pt_chown (Depends-on):
3610         * modules/sethostname-tests (Depends-on):
3611         * modules/unlinkdir (Depends-on):
3612         * modules/write-any-file (Depends-on):
3613         Add root-uid.
3614
3615         regex: use locale-independent comparison for codeset name
3616         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3617         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3618         for codeset name.
3619         * lib/regex_internal.h: Do not include <strings.h>, since we
3620         no longer use strcasecmp.
3621         * modules/regex (Depends-on): Remove strcase.
3622
3623 2012-06-23  Bruno Haible  <bruno@clisp.org>
3624
3625         getopt-posix: No longer guarantee that option processing is resettable.
3626         * doc/posix-functions/getopt.texi: Drop description of problem with
3627         internal state. Fix info about mingw and msvc9.
3628         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3629         option processing by getopt(). Run three test programs instead of one.
3630         Simplify cross-compilation guess.
3631         * NEWS: Mention the change.
3632         Reported by Rich Felker <dalias@aerifal.cx>.
3633
3634 2012-06-26  Bruno Haible  <bruno@clisp.org>
3635
3636         argp, regex: Ensure strcasecmp gets declared.
3637         * lib/argp-help.c: Include <strings.h>.
3638         * lib/regex_internal.h: Likewise.
3639         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3640
3641 2012-06-24  Bruno Haible  <bruno@clisp.org>
3642
3643         ptsname_r: Make it consistent with ptsname on AIX.
3644         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3645         implementation as for OSF/1.
3646         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3647         a pty master.
3648
3649         ptsname_r: Make it consistent with ptsname on OSF/1.
3650         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3651         OSF/1.
3652
3653 2012-06-24  Bruno Haible  <bruno@clisp.org>
3654
3655         ttyname_r: Fix result on OSF/1, Solaris.
3656         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3657
3658 2012-06-24  Bruno Haible  <bruno@clisp.org>
3659
3660         ptsname_r: Add support for Solaris.
3661         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3662         Solaris.
3663
3664         ptsname_r: Fix test failure on native Windows.
3665         * modules/ptsname_r (Depends-on): Add isatty.
3666
3667         ptsname_r: Fix test failures on IRIX, Solaris.
3668         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3669         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3670         accordingly.
3671         * lib/ptsname_r.c: Include <fcntl.h>.
3672         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3673         set errno if fd is invalid.
3674         * tests/test-isatty.c (main): Update comments.
3675
3676 2012-06-24  Bruno Haible  <bruno@clisp.org>
3677
3678         ptsname test: Extend test.
3679         * tests/test-ptsname.c: Include <errno.h>.
3680         (main): Test behaviour with invalid file descriptor.
3681
3682 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3683
3684         time: fix obsolete comment
3685         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3686         reference to HAVE_STRUCT_TIMESPEC in comment.
3687
3688 2012-06-23  Bruno Haible  <bruno@clisp.org>
3689
3690         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3691         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3692         does not handle abbreviated long options with equivalent
3693         disambiguations, set gl_replace_getopt to yes.
3694         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3695
3696 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3697
3698         time_r: fix typo that always overrode localtime_r decl
3699         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3700         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3701         not in a standard include.
3702
3703 2012-06-22  Bruno Haible  <bruno@clisp.org>
3704
3705         Write "Mac OS X" instead of "MacOS X".
3706         * README: Write "Mac OS X" instead of "MacOS X".
3707         * build-aux/bootstrap: Likewise.
3708         * build-aux/install-reloc: Likewise.
3709         * lib/acl-internal.h: Likewise.
3710         * lib/acl_entries.c: Likewise.
3711         * lib/argp-ba.c: Likewise.
3712         * lib/argp-pv.c: Likewise.
3713         * lib/config.charset: Likewise.
3714         * lib/copy-acl.c: Likewise.
3715         * lib/csharpexec.c: Likewise.
3716         * lib/euidaccess.c: Likewise.
3717         * lib/fbufmode.c: Likewise.
3718         * lib/fflush.c: Likewise.
3719         * lib/file-has-acl.c: Likewise.
3720         * lib/filemode.h: Likewise.
3721         * lib/fpurge.c: Likewise.
3722         * lib/freadable.c: Likewise.
3723         * lib/freadahead.c: Likewise.
3724         * lib/freading.c: Likewise.
3725         * lib/freadptr.c: Likewise.
3726         * lib/freadseek.c: Likewise.
3727         * lib/fseeko.c: Likewise.
3728         * lib/fseterr.c: Likewise.
3729         * lib/fsusage.c: Likewise.
3730         * lib/fwritable.c: Likewise.
3731         * lib/fwriting.c: Likewise.
3732         * lib/get-rusage-as.c: Likewise.
3733         * lib/get-rusage-data.c: Likewise.
3734         * lib/getdomainname.c: Likewise.
3735         * lib/idpriv-drop.c: Likewise.
3736         * lib/idpriv-droptemp.c: Likewise.
3737         * lib/localcharset.c: Likewise.
3738         * lib/locale.in.h: Likewise.
3739         * lib/localename.c: Likewise.
3740         * lib/mbsrtowcs-state.c: Likewise.
3741         * lib/nproc.c: Likewise.
3742         * lib/passfd.c: Likewise.
3743         * lib/posix_openpt.c: Likewise.
3744         * lib/printf-parse.c: Likewise.
3745         * lib/progreloc.c: Likewise.
3746         * lib/safe-read.h: Likewise.
3747         * lib/safe-write.h: Likewise.
3748         * lib/sched.in.h: Likewise.
3749         * lib/set-mode-acl.c: Likewise.
3750         * lib/signal.in.h: Likewise.
3751         * lib/stdint.in.h: Likewise.
3752         * lib/stdio-impl.h: Likewise.
3753         * lib/stdlib.in.h: Likewise.
3754         * lib/strtod.c: Likewise.
3755         * lib/sys_select.in.h: Likewise.
3756         * lib/tcgetsid.c: Likewise.
3757         * lib/unistd.in.h: Likewise.
3758         * lib/unlockpt.c: Likewise.
3759         * lib/vasnprintf.c: Likewise.
3760         * lib/vma-iter.c: Likewise.
3761         * lib/wcsrtombs-state.c: Likewise.
3762         * m4/acl.m4: Likewise.
3763         * m4/acosl.m4: Likewise.
3764         * m4/asinl.m4: Likewise.
3765         * m4/atanl.m4: Likewise.
3766         * m4/c-stack.m4: Likewise.
3767         * m4/cosl.m4: Likewise.
3768         * m4/expl.m4: Likewise.
3769         * m4/extensions.m4: Likewise.
3770         * m4/fdatasync.m4: Likewise.
3771         * m4/fmal.m4: Likewise.
3772         * m4/frexp.m4: Likewise.
3773         * m4/frexpf.m4: Likewise.
3774         * m4/frexpl.m4: Likewise.
3775         * m4/fsusage.m4: Likewise.
3776         * m4/getdomainname.m4: Likewise.
3777         * m4/getloadavg.m4: Likewise.
3778         * m4/getopt.m4: Likewise.
3779         * m4/gettext.m4: Likewise.
3780         * m4/gnulib-common.m4: Likewise.
3781         * m4/intdiv0.m4: Likewise.
3782         * m4/intlmacosx.m4: Likewise.
3783         * m4/largefile.m4: Likewise.
3784         * m4/ldexpl.m4: Likewise.
3785         * m4/link-follow.m4: Likewise.
3786         * m4/locale-ar.m4: Likewise.
3787         * m4/locale-fr.m4: Likewise.
3788         * m4/locale-ja.m4: Likewise.
3789         * m4/locale-tr.m4: Likewise.
3790         * m4/locale-zh.m4: Likewise.
3791         * m4/locale_h.m4: Likewise.
3792         * m4/lock.m4: Likewise.
3793         * m4/logl.m4: Likewise.
3794         * m4/mathfunc.m4: Likewise.
3795         * m4/minus-zero.m4: Likewise.
3796         * m4/mktime.m4: Likewise.
3797         * m4/mmap-anon.m4: Likewise.
3798         * m4/multiarch.m4: Likewise.
3799         * m4/nanosleep.m4: Likewise.
3800         * m4/nocrash.m4: Likewise.
3801         * m4/poll.m4: Likewise.
3802         * m4/printf-frexpl.m4: Likewise.
3803         * m4/printf.m4: Likewise.
3804         * m4/signbit.m4: Likewise.
3805         * m4/sinl.m4: Likewise.
3806         * m4/sqrtl.m4: Likewise.
3807         * m4/strerror_r.m4: Likewise.
3808         * m4/tanl.m4: Likewise.
3809         * m4/threadlib.m4: Likewise.
3810         * m4/ttyname_r.m4: Likewise.
3811         * m4/unlink.m4: Likewise.
3812         * m4/visibility.m4: Likewise.
3813         * m4/wcwidth.m4: Likewise.
3814         * tests/minus-zero.h: Likewise.
3815         * tests/test-alloca-opt.c: Likewise.
3816         * tests/test-copy-acl.sh: Likewise.
3817         * tests/test-copy-file.sh: Likewise.
3818         * tests/test-fdatasync.c: Likewise.
3819         * tests/test-file-has-acl.sh: Likewise.
3820         * tests/test-flock.c: Likewise.
3821         * tests/test-fsync.c: Likewise.
3822         * tests/test-localename.c: Likewise.
3823         * tests/test-malloca.c: Likewise.
3824         * tests/test-nonblocking-pipe.h: Likewise.
3825         * tests/test-nonblocking-socket.h: Likewise.
3826         * tests/test-openpty.c: Likewise.
3827         * tests/test-posix_openpt.c: Likewise.
3828         * tests/test-ptsname.c: Likewise.
3829         * tests/test-ptsname_r.c: Likewise.
3830         * tests/test-sameacls.c: Likewise.
3831         * tests/test-select.h: Likewise.
3832         * tests/test-set-mode-acl.sh: Likewise.
3833         * tests/test-snprintf-posix.h: Likewise.
3834         * tests/test-sprintf-posix.h: Likewise.
3835         * tests/test-strtod.c: Likewise.
3836         * tests/test-time.c: Likewise.
3837         * tests/test-vasnprintf-posix.c: Likewise.
3838         * tests/test-vasprintf-posix.c: Likewise.
3839         * doc/acl-resources.txt: Likewise.
3840         * doc/**/*.texi: Likewise.
3841         Reported by Max Horn <max@quendi.de>.
3842
3843 2012-06-22  Bruno Haible  <bruno@clisp.org>
3844
3845         grantpt: Relax requirement regarding invalid file descriptors.
3846         * lib/grantpt.c: Don't include <fcntl.h>.
3847         (grantpt): Don't verify the validity of the file descriptor.
3848         * modules/grantpt (Depends-on): Remove fcntl-h.
3849         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3850         file descriptors.
3851         * doc/posix-functions/grantpt.texi: Document more platforms on which
3852         grantpt succeeds for invalid file descriptors.
3853         Reported by Rich Felker <dalias@aerifal.cx>.
3854
3855 2012-06-22  Bruno Haible  <bruno@clisp.org>
3856
3857         fbufmode test: Don't test unportable behaviour.
3858         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3859         (main): Invoke it three times.
3860         Reported by Szabolcs Nagy <nsz@port70.net>
3861         and Rich Felker <dalias@aerifal.cx>.
3862
3863 2012-06-21  Bruno Haible  <bruno@clisp.org>
3864
3865         gnulib-tool: Refactor inctests variable.
3866         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3867         (func_modules_transitive_closure,
3868         func_modules_transitive_closure_separately,
3869         func_import, func_create_testdir): Update.
3870
3871         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3872         * gnulib-tool: Accept option --without-tests.
3873         (func_usage): Document --without-tests option. Rearrange.
3874         (inctests): Normalize according to the mode.
3875         * NEWS: Mention the change.
3876         Suggested by Simon Josefsson.
3877
3878 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3879
3880         parse-duration test: Avoid spurious output.
3881         * tests/test-parse-duration.sh: Reindent with leading tabs.
3882
3883 2012-06-21  Jim Meyering  <meyering@redhat.com>
3884
3885         maint: disable the strncpy prohibition
3886         * cfg.mk: Do not prohibit strncpy here.
3887
3888 2012-06-21  Bruno Haible  <bruno@clisp.org>
3889
3890         nonblocking: Avoid compilation error on mingw64.
3891         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3892         fscanf.
3893         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3894         * modules/vfscanf (configure.ac): Likewise.
3895         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3896         definition only if stdio.h has prepared it.
3897         Reported by Daniel P. Berrange <berrange@redhat.com>.
3898
3899 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3900
3901         gnulib-tool: Use readlink if it is available.
3902         * gnulib-tool (func_readlink): Choose function more appropriately.
3903
3904 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3905
3906         posixtm-tests: port to buggy compiler
3907         Problem reported by Simon Josefsson in
3908         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3909         * modules/posixtm-tests (Depends-on): Add stdint.
3910         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3911         Now of type int_least64_t, not int64_t, both because that's
3912         what INT64_C returns and because int_least64_t works even
3913         on 72-bit hosts.
3914         (T): Use INT64_C on constants outside the traditional int range,
3915         to work around compiler bug noted by Simon.
3916
3917         mktime: fix integer overflow in 'configure'-time test
3918         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3919         after integer overflow.  Problem reported by Rich Felker in
3920         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3921         Also, don't look for further instances of a bug if we've already
3922         found one instance; this helps 'configure' run faster.
3923
3924 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3925
3926         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3927         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3928         GetVersionEx correctly.
3929         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3930
3931 2012-06-20  Bruno Haible  <bruno@clisp.org>
3932
3933         fdopen: Allow implementations that don't reject invalid fd arguments.
3934         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3935         succeeds.
3936         Reported by Rich Felker <dalias@aerifal.cx>.
3937
3938 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3939
3940         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3941         bring in LIBINTL.
3942
3943 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3944
3945         init.sh: do not rely on autoupated PWD
3946         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3947         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3948         Although Nelson's bug was not necessarily fixed by this patch,
3949         it seems wise to make the change for safety.
3950         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3951         automagically after 'cd'; this is not reliable on older shells.
3952         (setup_): Fail if we cannot cd to temporary directory.
3953
3954 2012-06-19  Bruno Haible  <bruno@clisp.org>
3955
3956         stat, fstat: Avoid warnings on mingw64.
3957         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3958         redefining.
3959         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3960         Reported by Daniel P. Berrange <berrange@redhat.com>.
3961
3962 2012-06-19  Bruno Haible  <bruno@clisp.org>
3963
3964         stdioext: Add support for musl libc.
3965
3966         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3967         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3968
3969         * m4/fseterr.m4: New file.
3970         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3971         function exists.
3972         * modules/fseterr (Files): Add m4/fseterr.m4.
3973         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3974         __fseterr does not exist.
3975         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3976
3977         * lib/freadable.h: Update comment.
3978
3979         * lib/fwritable.h: Update comment.
3980
3981         * lib/freading.h: Update comment.
3982
3983         * lib/fwriting.h: Update comment.
3984
3985         * m4/freadahead.m4: New file.
3986         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3987         that function exists.
3988         * modules/freadahead (Files): Add m4/freadahead.m4.
3989         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3990         __freadahead does not exist.
3991         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3992
3993         * m4/freadptr.m4: New file.
3994         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3995         function exists.
3996         * modules/freadptr (Files): Add m4/freadptr.m4.
3997         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3998         __freadptr does not exist.
3999         (Makefile.am): Remove freadptr.c from lib_SOURCES.
4000
4001         * m4/freadseek.m4: New file.
4002         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
4003         exists.
4004         * modules/freadseek (Files): Add m4/freadseek.m4.
4005         (configure.ac): Invoke gl_FUNC_FREADSEEK.
4006
4007         * lib/fpurge.c (fpurge): Update comment.
4008
4009         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
4010
4011 2012-06-19  Bruno Haible  <bruno@clisp.org>
4012
4013         *printf-posix: Put more info into config.log.
4014         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
4015         exit code into config.log.
4016
4017 2012-06-19  Bruno Haible  <bruno@clisp.org>
4018
4019         getopt-gnu: Fix exit code overflow in autoconf test.
4020         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
4021         to keep them below < 128.
4022
4023 2012-06-17  Jim Meyering  <meyering@redhat.com>
4024
4025         maint.mk: fix typo in code to derive GPG key at release time
4026         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
4027
4028 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
4029
4030         regex: avoid warning when pointers are not long
4031         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
4032         and uintptr_t, not long, for portability to hosts where pointers and
4033         long have different sizes.  Issue noted by Daniel P. Berrange in
4034         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
4035         and fix suggested by Bruno Haible in
4036         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
4037
4038 2012-06-17  Bruno Haible  <bruno@clisp.org>
4039
4040         dummy: Relicense into the public domain.
4041         * modules/dummy (License): Set to "public domain".
4042         Suggested by Reuben Thomas.
4043
4044 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
4045
4046         announce-gen: VPATH issues
4047         * build-aux/announce-gen (--srcdir): New option, used to trim the
4048         $srcdir part of the path from $builddir to NEWS.
4049         * top/maint.mk (announcement): Adjust.
4050
4051 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
4052
4053         gnu-web-doc-update: VPATH builds
4054         * build-aux/gnu-web-doc-update (--builddir): New option.
4055         Revamp the handling of options.
4056         Prefer $(...) to `...`.
4057         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
4058         the template, and it is GNU mktemp specific.
4059         Prefer set -e to long series of &&.
4060         Restore the initial git branch, not "master".
4061         Properly initialize submodules (don't rely only on bootstrap).
4062         Do not reconfigure blindly, use config.status.
4063         * top/README-release: Update instructions for gnu-web-doc-update.
4064
4065 2012-06-11  Jim Meyering  <meyering@redhat.com>
4066
4067         maint.mk: revert most of the previous change re "all these"
4068         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
4069         For rationale, see the discussion at
4070         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
4071
4072 2012-06-10  Karl Berry  <karl@gnu.org>
4073
4074         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
4075
4076         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
4077
4078 2012-06-10  Bruce Korb  <bkorb@gnu.org>
4079
4080         parse-duration: Relicense under LGPLv2+.
4081         * modules/parse-duration (License): Change to LGPLv2+.
4082
4083 2012-06-10  Jim Meyering  <meyering@redhat.com>
4084
4085         maint.mk: prohibit common grammar error: "all these"
4086         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
4087         the list of prohibited word sequences.  It should be "all of these".
4088         * lib/tempname.c (__gen_tempname): Fix one of them.
4089
4090 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4091
4092         do-release-commit-and-tag: support VPATH builds
4093         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
4094         (noteworthy): Defined earlier to factor its value.
4095         (noteworthy_stub): New.
4096         Use it to factor.
4097         (help_version): Split into...
4098         (help, version): these.
4099         Adjust the option processing part.
4100         Support "--option=value" in addition to "--option value".
4101         (builddir): New.
4102         (--builddir): New option.
4103         * top/README-release: Document this.
4104         Reword slightly so that the reader cannot understand that he
4105         has to do these steps before calling do-release-commit-and-tag.
4106
4107 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4108
4109         readme-release: also require announce-gen and maintainer-makefile
4110         * modules/readme-release (Depends-on): here.
4111         * modules/announce-gen, modules/do-release-commit-and-tag,
4112         modules/gnu-web-doc-update, modules/maintainer-makefile
4113         (Description): Point to readme-release.
4114
4115 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4116
4117         maint.mk: fix VPATH issues.
4118         * top/maint.mk (news-check): GNU Make understand $< very well.
4119         (release-prep): NEWS is in $(srcdir).
4120
4121 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
4122
4123         readme-release: require the promoted modules.
4124         * modules/readme-release (Depends-on): Add
4125         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
4126         in this text.
4127
4128 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4129             Bruno Haible  <bruno@clisp.org>
4130
4131         error, strerror-override: Support mingw64 from Fedora 17.
4132         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
4133         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
4134         EINPROGRESS.
4135         * lib/strerror-override.h (strerror_override): Test it.
4136         * lib/strerror-override.c (strerror_override): Likewise.
4137         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
4138
4139 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4140             Bruno Haible  <bruno@clisp.org>
4141
4142         error, strerror-override: Support mingw64 from Fedora 17.
4143         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
4144         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
4145         * lib/strerror-override.h (strerror_override): Test it.
4146         * lib/strerror-override.c (strerror_override): Likewise.
4147
4148 2012-06-03  Bruno Haible  <bruno@clisp.org>
4149
4150         error, strerror-override: Support new errno values from POSIX:2008.
4151         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
4152         ENOTRECOVERABLE.
4153         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
4154         platforms.
4155         * lib/strerror-override.c (strerror_override): Conditionalize the
4156         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
4157         * lib/strerror-override.h (strerror_override): Declare also if
4158         GNULIB_defined_EOWNERDEAD is defined.
4159         * tests/test-errno.c (e130, e131): New variables.
4160         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
4161         ENOTRECOVERABLE.
4162         Reported by Paolo Bonzini.
4163
4164 2012-05-31  Jim Meyering  <meyering@redhat.com>
4165
4166         savewd: add missing dependency on sys_wait module
4167         * modules/savewd (Depends-on): Add sys_wait, needed at least
4168         for MSVC.  Report and suggested change by Michael Goffioul.
4169
4170 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4171
4172         system-quote-tests: port to CentOS 5
4173         Problem reported by Tom G. Christensen in
4174         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
4175         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
4176
4177 2012-05-29  Jim Meyering  <meyering@redhat.com>
4178
4179         maint: fix typos in comments and ChangeLog
4180         Culprits identified and fixed mostly automatically using these commands:
4181         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
4182         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
4183         using http://github.com/lyda/misspell-check
4184         * ChangeLog: Fix typos.
4185         * doc/solaris-versions: Likewise.
4186         * lib/regexec.c (re_search_stub): Likewise.
4187         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4188
4189 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4190
4191         manywarnings: remove duplicate -Wmultichar entry
4192         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
4193         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
4194         so keep the entry marked as documented.
4195
4196 2012-05-27  Karl Berry  <karl@gnu.org>
4197
4198         * config/srclist.txt (mktime.c): remove last libc sync,
4199         perhaps just temporarily.
4200
4201 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4202
4203         regex: don't assume uint64_t or uint32_t
4204         * lib/regcomp.c (init_word_char): Don't assume that the types
4205         uint64_t and uint32_t exist.  The C standard doesn't guarantee
4206         them, and on some 32-bit compilers there is no uint64_t.
4207         Problem reported by Gianluigi Tiesi in
4208         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
4209
4210 2012-05-25  Jim Meyering  <meyering@redhat.com>
4211
4212         maint.mk: add strncpy-prohibiting syntax-check rule
4213         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
4214
4215 2012-05-24  Jim Meyering  <meyering@redhat.com>
4216
4217         maint.mk: compute $(gpg_key_ID) more portably
4218         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
4219         That use of sed is not portable to some fringe systems.
4220         Reported by Paul Eggert in
4221         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
4222
4223 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4224
4225         mktime: sync from glibc
4226         * config/srclist.txt: Uncomment mktime.c.
4227         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
4228         First, indent with tabs, since glibc uses tabs and doesn't want to
4229         change and we'd rather be identical to glibc.  Also, two small
4230         coding changes:
4231         (isdst_differ): Use &&, not &, as && is the usual style.
4232         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
4233         for clarity.
4234
4235 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4236
4237         announce-gen: du -h is more portable than du --human
4238         * build-aux/announce-gen (sizes): Invoke du with -h instead
4239         of --human.  Accept leading white space in its output.
4240
4241 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4242
4243         announce-gen: Improve diagnostics.
4244         * build-aux/announce-gen: When parsing command line options,
4245         prefer "announce-gen: option --release-type requires an argument"
4246         to "Option release-type requires an argument".
4247
4248 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4249
4250         maint.mk: gpg_key_ID: use sed more portably
4251         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
4252         the closing brace.
4253         (refresh-po): Fuse two sed invocations into one.
4254
4255 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
4256
4257         gitlog-to-changelog: support the log message format used in Bison.
4258         * build-aux/gitlog-to-changelog: Support --strip-tab and
4259         --strip-cherry-picked.
4260
4261 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4262
4263         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
4264         the rest of the current time slice to another thread in the current
4265         process. So if the thread that feeds the file decscriptor we're
4266         polling is not in the current process, we get busy-waiting.
4267         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
4268         Patch from Theodore Leblond.
4269         * lib/select.c: Split polling out of the loop that sets the output
4270         fd_sets.  Check for zero result and loop if the wait timeout is
4271         infinite.
4272
4273 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4274
4275         select: Fix build error on IRIX 6.5.
4276         * lib/select.c: Include stddef.h for NULL.
4277
4278 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4279
4280         gc: fix libgcrypt detection on older machines.
4281         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
4282         copyright years because the file has been distributed every year
4283         since it was created.
4284
4285 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4286
4287         crypto: fix bug in large buffer handling
4288         Problem reported by Serge Belyshev for glibc in
4289         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
4290         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
4291         * lib/md4.c (md4_process_block):
4292         * lib/md5.c (md5_process_block):
4293         * lib/sha1.c (sha1_process_block):
4294         * lib/sha256.c (sha256_process_block):
4295         Don't assume the buffer length is less than 2**32.
4296         * lib/sha512.c (sha512_process_block): Likewise.
4297         Here, the bug is present only in the rare case where the host does
4298         not support uint64_t or where size_t is wider than 64 bits.
4299         Use u64size to work around the problems.
4300         * lib/u64.h (u64size): New macro.
4301
4302 2012-05-15  Pádraig Brady  <P@draigBrady.com>
4303
4304         fsusage: fix block size returned on older Linux 2.6
4305
4306         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
4307         which is available since Linux 2.6.
4308         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
4309         when the member is available so it can be used as a fallback.
4310         * doc/posix-functions/statvfs.texi: Mention the hang issue
4311         on Linux < 2.6.36.
4312
4313 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4314
4315         bootstrap: suppress stderr chatter
4316         * build-aux/bootstrap (insert_sorted_if_absent, main program):
4317         Omit unnecessary chatter to stderr.  The main program chatter
4318         was there only inadvertantly.
4319
4320         bootstrap: .gitignore files created by autopoint, libtool
4321         I ran into this problem when bootstrapping the latest diffutils.
4322         After './bootstrap', 'git status' reported lots of untracked files
4323         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
4324         autopoint and do not need to be version-controlled.
4325         * build-aux/bootstrap: Put into .gitignore the files that
4326         autopoint and libtool create, by keeping track of files that exist
4327         after but not before these programs are run.
4328         (version_controlled_file): Move up.  2nd arg is now full file
4329         name, not base name; this is more convenient.  Put CVS at the end,
4330         as it's now somewhat deprecated.
4331
4332 2012-05-14  Jim Meyering  <meyering@redhat.com>
4333
4334         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
4335         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
4336         definition.  Reported by Bruno Haible.
4337
4338 2012-05-13  Bruno Haible  <bruno@clisp.org>
4339             Paul Eggert  <eggert@cs.ucla.edu>
4340
4341         binary-io: Define set_binary_mode function.
4342         * lib/binary-io.h (set_binary_mode): New function.
4343         (SET_BINARY): Define in terms of set_binary_mode.
4344         * modules/binary-io (configure.ac): Require AC_C_INLINE.
4345         * tests/test-binary-io.c (main): Accept an argument, and test either
4346         set_binary_mode or SET_BINARY depending on the argument.
4347         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
4348         argument. Clean up also t-bin-out0.tmp.
4349
4350 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4351
4352         bootstrap: take advantage of POSIX shell features
4353
4354         The 'bootstrap' script offered by Gnulib script already uses POSIX
4355         shell features (like $((...)) arithmetic expansions) that are not
4356         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
4357         means that bootstrap must already be run using a proper POSIX shell,
4358         which will thus provide more features, like ${var#pattern} parameter
4359         expansion or inversion of a command exit status with '!'.  We can
4360         thus use these features to improve the clarity and the performances
4361         of the bootstrap script.
4362
4363         Suggested by Eric Blake.
4364
4365         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
4366         of sed/expr plus command substitutions, to save some forks.  While
4367         we are at it, prefer the POSIX $(...) form of command substitution,
4368         rather than the legacy form `...` (since the former is visually
4369         clearer and interacts better with quoting), and prefer the idiom:
4370           "if ! CMD; then ACTION ..."
4371         over the idiom:
4372           "if CMD; then :; else ACTION ..."
4373         which was required by legacy Bourne shells not supporting '!'.
4374
4375 2012-05-12  Bruno Haible  <bruno@clisp.org>
4376
4377         system-quote: Add more comments.
4378         * lib/system-quote.h: Add more comments about wilcards and limitations.
4379         Suggested by Eli Zaretskii <eliz@gnu.org>.
4380
4381         sh-quote, system-quote: Add comments about wildcards.
4382         * lib/sh-quote.h: Clarify what happens with wildcard characters.
4383         * lib/system-quote.h: Likewise.
4384         Reported by Eli Zaretskii <eliz@gnu.org>.
4385
4386 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4387
4388         fsusage: check for GNU/Linux statvfs problem dynamically
4389         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
4390         Define STAT_STATFS2_BSIZE too, since in this case the code now
4391         checks dynamically whether statvfs is reliable, falling back on
4392         Linux-style statfs otherwise.
4393         (statvfs_works): New function, for dynamically testing statvfs.
4394         (get_fs_usage) [STAT_STATVFS]: Use it.
4395         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
4396         statvfs on GNU/Linux hosts, since it's now done dynamically.
4397
4398 2012-05-10  Bruno Haible  <bruno@clisp.org>
4399
4400         system-quote, execute, spawn-pipe: Escape '?' on Windows.
4401         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
4402         '?' character.
4403         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
4404         * tests/test-system-quote-main.c (check_all): Check also strings like
4405         "??????????".
4406         Reported by Eli Zaretskii <eliz@gnu.org>.
4407
4408 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4409
4410         _Noreturn: port config.h to gcc -Wundef
4411         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
4412         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
4413         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
4414
4415 2012-05-10  Bruno Haible  <bruno@clisp.org>
4416
4417         system-quote: Refactor.
4418         * lib/system-quote.h (system_quote_copy): Fix comment.
4419         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
4420         New functions, extracted from system_quote_copy.
4421         (system_quote_length, system_quote_copy): Use these functions.
4422         Reported by Paul Eggert.
4423
4424 2012-05-08  Bruno Haible  <bruno@clisp.org>
4425
4426         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
4427         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
4428
4429 2012-05-08  Bruno Haible  <bruno@clisp.org>
4430
4431         Tests for module 'system-quote'.
4432         * modules/system-quote-tests: New file.
4433         * tests/test-system-quote.sh: New file.
4434         * tests/test-system-quote-main.c: New file.
4435         * tests/test-system-quote-child.c: New file.
4436
4437         New module 'system-quote'.
4438         * lib/system-quote.h: New file.
4439         * lib/system-quote.c: New file.
4440         * modules/system-quote: New file.
4441
4442 2012-05-08  Bruno Haible  <bruno@clisp.org>
4443
4444         sh-quote: Make C++ safe and allow multiple inclusion.
4445         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
4446         declarations in extern "C".
4447
4448 2012-05-08  Bruno Haible  <bruno@clisp.org>
4449
4450         sh-quote tests: Make tests stricter.
4451         * tests/test-sh-quote.c (check_one): Check the return value of
4452         shell_quote_copy.
4453         (main): Check a string with a CR character. Check a string that
4454         contains UCHAR_MAX.
4455
4456 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4457
4458         warnings.m4: provide a means to specify the program to compile.
4459         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4460         (gl_WARN_ADD): here.
4461         Use gl_AS_VAR_APPEND.
4462         Support an argument to specify the program to compile.
4463         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4464         AC_SUBST the WARN_CFLAGS when they are used.
4465         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4466         leave this to gl_WARN_ADD.
4467
4468 2012-05-08  Eric Blake  <eblake@redhat.com>
4469
4470         doc: recommendations on gettext version
4471         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4472         choice between versions.
4473         * DEPENDENCIES (gettext): Cover both approaches.
4474
4475 2012-05-08  Jim Meyering  <meyering@redhat.com>
4476
4477         init.sh: explain why EXEEXT support uses aliases rather than functions
4478         * tests/init.sh: Add a comment.
4479
4480         init.sh: don't let bash aliases interfere with tests
4481         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4482         is bash.  This avoids problems for those who alias standard commands to
4483         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4484         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4485
4486 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4487
4488         stdint: be more consistent with glibc, SunOS libc
4489         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4490         (gl_int_fast16_t, gl_uint_fast16_t)
4491         (gl_int_fast32_t, gl_uint_fast32_t)
4492         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4493         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4494         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4495         Be consistent with glibc by default, and with SunOS 5.10 and later
4496         if __sun is defined.  This lessens the likelihood of clashes if
4497         code compiled for older hosts is combined with code compiled for
4498         newer ones.  Problem reported by Niels Möller in
4499         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4500
4501 2012-05-07  Eric Blake  <eblake@redhat.com>
4502
4503         isatty: relax license to LGPLv2+
4504         * modules/isatty (License): Relax license.
4505
4506 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4507
4508         stat-size: comment fix
4509         * lib/stat-size.h: Remove obsolete comment about indenting.
4510
4511 2012-05-06  Bruno Haible  <bruno@clisp.org>
4512
4513         Tests for module 'sh-quote'.
4514         * modules/sh-quote-tests: New file.
4515         * tests/test-sh-quote.c: New file.
4516
4517 2012-05-06  Bruno Haible  <bruno@clisp.org>
4518
4519         sh-quote: Improve shell_quote_argv's signature.
4520         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4521         * lib/sh-quote.c (shell_quote_argv): Likewise.
4522
4523 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4524
4525         stdint: document issues with int_fast8_t etc.
4526         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4527         stdint.h substitutes may define these types differently.  See
4528         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4529
4530 2012-05-05  Bruno Haible  <bruno@clisp.org>
4531
4532         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4533         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4534         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4535         or 'guessing no (mishandles large arguments)'.
4536
4537 2012-05-05  Bruno Haible  <bruno@clisp.org>
4538
4539         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4540         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4541         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4542         set gl_cv_func_link_follows_symlink to "guessing no".
4543
4544 2012-05-05  Bruno Haible  <bruno@clisp.org>
4545
4546         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4547         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4548         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4549         "guessing no".
4550         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4551
4552 2012-05-05  Bruno Haible  <bruno@clisp.org>
4553
4554         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4555         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4556         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4557         set gl_cv_struct_dirent_d_ino to "guessing yes".
4558
4559 2012-05-05  Bruno Haible  <bruno@clisp.org>
4560
4561         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4562         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4563         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4564         "guessing yes".
4565
4566 2012-05-05  Bruno Haible  <bruno@clisp.org>
4567
4568         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4569         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4570         compiling to a glibc system, set gl_cv_func_signbit and
4571         gl_cv_func_signbit_gcc to "guessing yes".
4572
4573 2012-05-05  Bruno Haible  <bruno@clisp.org>
4574
4575         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4576         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4577         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4578         to "guessing yes".
4579         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4580         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4581
4582 2012-05-05  Bruno Haible  <bruno@clisp.org>
4583
4584         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4585         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4586         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4587         gl_cv_func_realpath_works to "guessing yes".
4588
4589 2012-05-05  Bruno Haible  <bruno@clisp.org>
4590
4591         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4592         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4593         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4594
4595 2012-05-04  Bruno Haible  <bruno@clisp.org>
4596
4597         Tweak last commit.
4598         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4599         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4600
4601 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4602
4603         unistd_h: make it easier to avoid sys_types_h
4604         This is useful for Emacs, which has its own method of porting to
4605         Windows, and which therefore does not need the sys_types_h module.
4606         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4607         code moved here from gl_SYS_TYPES_H.
4608         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4609         using the code directly.
4610         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4611         gl_SYS_TYPES_H.
4612         * modules/sys_types (Files):
4613         * modules/unistd (Files): Add m4/off_t.m4.
4614
4615 2012-05-03  Bruno Haible  <bruno@clisp.org>
4616
4617         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4618         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4619         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4620         "guessing yes" or "guessing no".
4621         (gl_FUNC_LSTAT): Update.
4622         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4623         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4624         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4625
4626 2012-05-03  Bruno Haible  <bruno@clisp.org>
4627
4628         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4629         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4630         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4631         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4632         cross-compiling, choose the first alternative on glibc systems.
4633         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4634
4635 2012-05-03  Bruno Haible  <bruno@clisp.org>
4636
4637         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4638         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4639         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4640
4641 2012-05-03  Bruno Haible  <bruno@clisp.org>
4642
4643         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4644         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4645
4646 2012-05-03  Bruno Haible  <bruno@clisp.org>
4647
4648         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4649         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4650         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4651         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4652         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4653         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4654         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4655         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4656         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4657         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4658         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4659         gl_cv_func_chown_ctime_works to "guessing yes".
4660         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4661         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4662         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4663         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4664         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4665         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4666         compiling to glibc systems, set gl_cv_func_open_directory_works to
4667         "guessing yes".
4668         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4669         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4670         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4671         "guessing yes".
4672         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4673         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4674         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4675         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4676         "guessing yes".
4677         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4678         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4679         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4680         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4681         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4682         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4683         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4684         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4685         "guessing yes".
4686         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4687         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4688         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4689         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4690         "guessing yes".
4691         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4692         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4693         "guessing yes".
4694         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4695         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4696         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4697         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4698         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4699         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4700         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4701         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4702         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4703         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4704         "guessing yes".
4705         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4706         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4707         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4708         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4709         "guessing yes".
4710         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4711         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4712         "guessing yes".
4713         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4714         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4715         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4716         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4717         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4718         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4719         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4720         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4721         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4722         "guessing yes".
4723         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4724         compiling to glibc systems, set gl_cv_func_mknod_works to
4725         "guessing yes".
4726         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4727         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4728         "guessing yes".
4729         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4730         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4731         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4732         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4733         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4734         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4735         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4736         compiling to glibc systems, set gl_cv_func_svid_putenv to
4737         "guessing yes".
4738         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4739         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4740         "guessing yes".
4741         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4742         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4743         "guessing yes".
4744         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4745         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4746         to "guessing yes".
4747         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4748         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4749         to "guessing yes".
4750         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4751         compiling to glibc systems, set gl_cv_func_rmdir_works to
4752         "guessing yes".
4753         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4754         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4755         gl_cv_func_unlink_parent_fails to "guessing yes".
4756         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4757         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4758         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4759         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4760         gl_cv_func_rename_dest_works to "guessing yes".
4761         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4762         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4763         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4764         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4765         "guessing yes".
4766         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4767         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4768         "guessing yes".
4769         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4770         compiling to glibc systems, set gl_cv_func_setenv_works to
4771         "guessing yes".
4772         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4773         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4774         "guessing yes".
4775         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4776         compiling to glibc systems, set gl_cv_func_sleep_works to
4777         "guessing yes".
4778         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4779         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4780         "guessing yes".
4781         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4782         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4783         "guessing yes".
4784         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4785         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4786         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4787         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4788         "guessing yes".
4789         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4790         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4791         "guessing yes".
4792         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4793         compiling to glibc systems, set gl_cv_func_usleep_works to
4794         "guessing yes".
4795         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4796         compiling to glibc systems, set gl_cv_func_futimesat_works to
4797         "guessing yes".
4798
4799 2012-05-03  Bruno Haible  <bruno@clisp.org>
4800
4801         Say "guessing yes" or "guessing no" when cross-compiling.
4802         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4803         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4804         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4805         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4806         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4807         am_cv_func_working_getline to "guessing yes" or "guessing no".
4808         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4809         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4810         (gl_FUNC_MEMMEM): When cross-compiling, set
4811         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4812         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4813         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4814         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4815         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4816         "guessing no".
4817         (gl_FUNC_STRCASESTR): When cross-compiling, set
4818         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4819         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4820         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4821         (gl_FUNC_STRSTR): When cross-compiling, set
4822         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4823         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4824         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4825         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4826         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4827
4828 2012-05-01  Bruno Haible  <bruno@clisp.org>
4829
4830         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4831         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4832         * build-aux/reloc-ldflags: Likewise.
4833         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4834
4835 2012-05-01  Bruno Haible  <bruno@clisp.org>
4836
4837         gnulib-tool: Remove transitional code.
4838         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4839         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4840
4841 2012-05-01  Bruno Haible  <bruno@clisp.org>
4842
4843         getcwd: Fix misindentation.
4844         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4845
4846 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4847
4848         exclude: process exclude and include directives in order
4849         This restores the pre-2009 behavior, and is part of a fix of a
4850         grep bug reported by Quentin Arce in
4851         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4852         * lib/exclude.c (struct exclude): Remove 'tail' member.
4853         (new_exclude_segment): Prepend the new segment instead of appending.
4854         Return void, since that's now more convenient.
4855         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4856         (file_name_matches): Renamed from excluded_file_name_p.
4857         (file_pattern_matches, file_name_matches):
4858         Return true if the pattern matches, not if it excludes.
4859         All callers changed.
4860         (excluded_file_name): Process the list in reverse order;
4861         since the list is now reversed this restores the pre-2009 behavior.
4862         (add_exclude): Adjust to new reversed-order list.  Use local var
4863         rather than macro, for clarity.
4864         * tests/test-exclude7.sh: Adjust to corrected behavior.
4865
4866         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4867         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4868         it's not possible here.  Handle the case of \ at end of pattern
4869         without dumping core.
4870         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4871
4872         _Noreturn: future-proof non-GNU and non-MSVC compilers
4873         * build-aux/snippet/_Noreturn.h (_Noreturn):
4874         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4875         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4876         C11 or later.  This is more likely to work with random future C
4877         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4878         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4879
4880         exclude: handle wildcards with FNM_EXTMATCH
4881         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4882         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4883         comment that "has wildcards" really means "has or may have
4884         wildcards".  Simplify by avoiding the need to call strcspn.
4885
4886 2012-04-29  Bruno Haible  <bruno@clisp.org>
4887
4888         gnulib-tool: Fix list of authors.
4889         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4890
4891 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4892
4893         bootstrap: support Automake-NG in $buildreq
4894         * bootstrap (check_versions): Handle automake and aclocal from
4895         Automake-NG specially.  They can be specified as respectively
4896         the "automake-ng" and "aclocal-ng" requirements.
4897
4898 2012-04-25  Eric Blake  <eblake@redhat.com>
4899
4900         bootstrap: only force latest Makefile.in.in for gettext module
4901         * build-aux/bootstrap (with_gettext): Only install latest
4902         Makefile.in.in for projects requesting bleeding edge gettext.
4903
4904 2012-04-22  Bruno Haible  <bruno@clisp.org>
4905
4906         doc: Mention reason for replacement on glibc/Linux systems.
4907         * doc/posix-functions/dprintf.texi: Mention the problem with special
4908         'long double' values.
4909         * doc/posix-functions/fprintf.texi: Likewise.
4910         * doc/posix-functions/printf.texi: Likewise.
4911         * doc/posix-functions/snprintf.texi: Likewise.
4912         * doc/posix-functions/sprintf.texi: Likewise.
4913         * doc/posix-functions/vdprintf.texi: Likewise.
4914         * doc/posix-functions/vfprintf.texi: Likewise.
4915         * doc/posix-functions/vprintf.texi: Likewise.
4916         * doc/posix-functions/vsnprintf.texi: Likewise.
4917         * doc/posix-functions/vsprintf.texi: Likewise.
4918         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4919         platforms with F_DUPFD_CLOEXEC problems.
4920         * doc/posix-functions/glob.texi: Mention which platforms are affected
4921         by the problem with symbolic links.
4922         * doc/posix-functions/linkat.texi: Mention the problem with
4923         AT_SYMLINK_FOLLOW on Linux.
4924
4925 2012-04-22  Bruno Haible  <bruno@clisp.org>
4926
4927         pwrite: Don't replace on all platforms.
4928         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4929
4930 2012-04-22  Bruno Haible  <bruno@clisp.org>
4931
4932         rint* tests: Avoid gcc warnings.
4933         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4934         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4935         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4936
4937 2012-04-21  Bruno Haible  <bruno@clisp.org>
4938
4939         users.txt: Update.
4940         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4941         switched from CVS to git, bzr, or svn.
4942
4943 2012-04-21  Bruno Haible  <bruno@clisp.org>
4944
4945         Large File Support for native Windows platforms.
4946
4947         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4948         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4949
4950         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4951         type.
4952         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4953         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4954         * doc/posix-headers/sys_types.texi: Mention the effect of the
4955         'largefile' module.
4956
4957         * lib/fcntl.in.h: Add comments about off_t.
4958         * modules/fcntl-h (Depends-on): Add sys_types.
4959
4960         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4961         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4962         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4963         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4964         * modules/unistd (Depends-on): Add sys_types.
4965         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4966
4967         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4968         instead of lseek.
4969         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4970         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4971         * modules/lseek (Depends-on): Add sys_types.
4972
4973         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4974         msvc-nothrow.h.
4975         (SetFileSize): New function.
4976         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4977         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4978         if Large File Support is requested.
4979         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4980         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4981
4982         * lib/stdio.in.h: Add comments about off_t.
4983         * modules/stdio (Depends-on): Add sys_types.
4984
4985         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4986         instead of ftello.
4987         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4988         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4989         (gl_PREREQ_FTELLO): New macro.
4990         * modules/ftello (Depends-on): Add sys_types.
4991         (configure.ac): Incoke gl_PREREQ_FTELLO.
4992
4993         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4994         instead of fseeko.
4995         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4996         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4997         (gl_PREREQ_FSEEKO): New macro.
4998         * modules/fseeko (Depends-on): Add sys_types.
4999         (configure.ac): Invoke gl_PREREQ_FSEEKO.
5000
5001         * lib/sys_stat.in.h: Add comments about off_t.
5002         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
5003         64-bit integer for st_size in 'struct stat'.
5004         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
5005         Define _GL_WINDOWS_64_BIT_ST_SIZE.
5006         * modules/sys_stat (Depends-on): Add sys_types.
5007         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
5008
5009         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
5010         instead of stat or _stat.
5011
5012         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
5013         'struct _stati64' instead of fstat and 'struct stat'.
5014         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
5015         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
5016
5017         Reported by Ray Satiro <raysatiro@yahoo.com>.
5018
5019 2012-04-19  Eric Blake  <eblake@redhat.com>
5020
5021         bootstrap: accommodate older libtool
5022         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
5023         Reported by Daniel P. Berrange.
5024
5025 2012-04-19  Jim Meyering  <meyering@redhat.com>
5026
5027         announce-gen: avoid failure due to lack of Digest::SHA1
5028         Even with the preferred Digest::SHA available, this script
5029         would fail when the backup module, Digest::SHA1, was not installed.
5030         * build-aux/announce-gen: Quote the conditional use of "use".
5031         Reported by Reuben Thomas in:
5032         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
5033
5034         bootstrap: don't let a user's CDPATH setting affect this script
5035         When CDPATH is set, cd will sometimes generate output.
5036         When "cd" is run in a subshell whose output matters, that
5037         surprising-to-some output can cause malfunction.
5038         Unsetting CDPATH turns off this shell "feature."
5039         * build-aux/bootstrap (CDPATH): Unset.
5040         Reported by Reuben Thomas in:
5041         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
5042         and inspired by his patch here:
5043         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
5044
5045 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
5046         and Jim Meyering  <meyering@redhat.com>
5047
5048         maint.mk: catch "see @xref{}" and similar
5049         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
5050         prohibit "See also @xref{", "Also see @pxref{", and similar.
5051
5052 2012-04-16  Jim Meyering  <meyering@redhat.com>
5053
5054         bootstrap: really use gnulib's po/Makefile.in.in
5055         * build-aux/bootstrap: Correct the source file name in previous change.
5056         Reported by Akim Demaille.
5057
5058         configmake: correct minor inconsistency in Makefile rule
5059         * modules/configmake (Makefile.am): All other rules like this one
5060         run the final "mv -f ..." in the same backslash-continued command
5061         as the one that does everything else.  This one put the mv -f ...
5062         command on a separate, non-backslash-continued line.
5063         Make it like the others.
5064
5065         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
5066         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
5067         the one from gettext.  Reported by Akim Demaille.
5068
5069 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
5070
5071         Fix recursion of install-* into po directories.
5072         Bison's install-pdf bug reported by Hans Aberg at
5073         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
5074         * build-aux/po/Makefile.in.in (install-dvi, install-html)
5075         (install-info, install-pdf, install-ps): New targets.
5076
5077 2012-04-16  Jim Meyering  <meyering@redhat.com>
5078
5079         maint: avoid spurious "make sc_maint" failure
5080         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
5081         exempt all *.class file names, for lib/javaversion.class.
5082
5083 2012-04-15  Bruno Haible  <bruno@clisp.org>
5084
5085         lseek: Make configure test independent of environment.
5086         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
5087         Windows, we know that lseek() on pipes is broken; skip the runtime
5088         test.
5089
5090 2012-04-14  Bruno Haible  <bruno@clisp.org>
5091
5092         stat: Bypass buggy override in mingw64.
5093         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
5094         * lib/stat.c (stat) [mingw64]: Define to _stat.
5095         * doc/posix-functions/stat.texi: Mention mingw64 bug.
5096
5097 2012-04-14  Bruno Haible  <bruno@clisp.org>
5098
5099         pathmax: Fix compilation error on MSVC 9.
5100         * modules/pathmax (Depends-on): Add unistd.
5101
5102 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5103
5104         README: document pointer comparison assumption
5105         * README (Portability guidelines): Document assumption about
5106         pointer comparisons, in response to a recent bug-gnulib comment by
5107         Jeffrey Kegler.
5108
5109 2012-04-12  Bruno Haible  <bruno@clisp.org>
5110
5111         Tests for module 'getrusage'.
5112         * modules/getrusage-tests: New file.
5113         * tests/test-getrusage.c: New file.
5114
5115         New module 'getrusage'.
5116         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
5117         warn-on-use.h.
5118         (getrusage): New declaration.
5119         * lib/getrusage.c: New file.
5120         * m4/getrusage.m4: New file.
5121         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
5122         is declared.
5123         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
5124         HAVE_GETRUSAGE.
5125         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
5126         snippet/c++defs, snippet/warn-on-use.
5127         (Makefile.am): Update generation of sys/resource.h. Substitute
5128         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
5129         * modules/getrusage: New file.
5130         * doc/posix-functions/getrusage.texi: Mention the new module.
5131
5132 2012-04-12  Bruno Haible  <bruno@clisp.org>
5133
5134         Tests for module 'sys_resource'.
5135         * modules/sys_resource-tests: New file.
5136         * tests/test-sys_resource.c: New file.
5137
5138         New module 'sys_resource'.
5139         * lib/sys_resource.in.h: New file.
5140         * m4/sys_resource_h.m4: New file.
5141         * modules/sys_resource: New file.
5142         * doc/posix-headers/sys_resource.texi: Mention the new module.
5143
5144 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
5145
5146         ioctl: Fix compilation error on mingw.
5147         * lib/ioctl.c: Include <windows.h>.
5148         Also reported by Ray Satiro <raysatiro@yahoo.com>.
5149
5150 2012-04-04  Jim Meyering  <meyering@redhat.com>
5151
5152         regex: correct #pragma guard expression
5153         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
5154         not 4.3.  Correct its cpp guard expression.
5155
5156 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
5157
5158         regex: remove unnecessary type punning
5159         Problem reported by Vladimir Serbinenko in
5160         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
5161         * lib/regex.h (struct re_pattern_buffer): Change the type of
5162         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
5163         Fix comment to match code.
5164         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
5165         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
5166         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
5167         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
5168         (set_regs):
5169         Omit no-longer-necessary casts.
5170
5171 2012-04-03  Bruno Haible  <bruno@clisp.org>
5172
5173         Tests for module 'ilogbl'.
5174         * modules/ilogbl-tests: New file.
5175         * tests/test-ilogbl.c: New file.
5176
5177         New module 'ilogbl'.
5178         * lib/math.in.h (ilogbl): New declaration.
5179         * lib/ilogbl.c: New file.
5180         * m4/ilogbl.m4: New file.
5181         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
5182         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
5183         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
5184         Split sed invocation, to avoid the limit of 100 substitutions of
5185         HP-UX 'sed'.
5186         * modules/ilogbl: New file.
5187         * tests/test-math-c++.cc: Check the declaration of ilogbl.
5188         * doc/posix-functions/ilogbl.texi: Mention the new module.
5189
5190 2012-04-03  Bruno Haible  <bruno@clisp.org>
5191
5192         Tests for module 'ilogbf'.
5193         * modules/ilogbf-tests: New file.
5194         * tests/test-ilogbf.c: New file.
5195
5196         New module 'ilogbf'.
5197         * lib/math.in.h (ilogbf): New declaration.
5198         * lib/ilogbf.c: New file.
5199         * m4/ilogbf.m4: New file.
5200         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
5201         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
5202         REPLACE_ILOGBF.
5203         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
5204         REPLACE_ILOGBF.
5205         * modules/ilogbf: New file.
5206         * tests/test-math-c++.cc: Check the declaration of ilogbf.
5207         * doc/posix-functions/ilogbf.texi: Mention the new module.
5208
5209 2012-04-03  Bruno Haible  <bruno@clisp.org>
5210
5211         Tests for module 'ilogb'.
5212         * modules/ilogb-tests: New file.
5213         * tests/test-ilogb.c: New file.
5214         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
5215         tests/test-logb-ieee.h.
5216
5217         New module 'ilogb'.
5218         * lib/math.in.h (ilogb): New declaration.
5219         * lib/ilogb.c: New file.
5220         * m4/ilogb.m4: New file.
5221         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
5222         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
5223         REPLACE_ILOGB.
5224         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
5225         REPLACE_ILOGB.
5226         * modules/ilogb: New file.
5227         * tests/test-math-c++.cc: Check the declaration of ilogb.
5228         * doc/posix-functions/ilogb.texi: Mention the new module.
5229
5230 2012-04-03  Bruno Haible  <bruno@clisp.org>
5231
5232         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
5233         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
5234         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
5235         (main): Check their values.
5236         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
5237         problem.
5238
5239 2012-04-03  Bruno Haible  <bruno@clisp.org>
5240
5241         Tests for module 'logbl-ieee'.
5242         * modules/logbl-ieee-tests: New file.
5243         * tests/test-logbl-ieee.c: New file.
5244
5245         New module 'logbl-ieee'.
5246         * modules/logbl-ieee: New file.
5247
5248         Tests for module 'logb-ieee'.
5249         * modules/logb-ieee-tests: New file.
5250         * tests/test-logb-ieee.c: New file.
5251
5252         New module 'logb-ieee'.
5253         * modules/logb-ieee: New file.
5254
5255         Tests for module 'logbf-ieee'.
5256         * modules/logbf-ieee-tests: New file.
5257         * tests/test-logbf-ieee.c: New file.
5258         * tests/test-logb-ieee.h: New file.
5259
5260         New module 'logbf-ieee'.
5261         * modules/logbf-ieee: New file.
5262
5263 2012-04-03  Bruno Haible  <bruno@clisp.org>
5264
5265         Tests for module 'logbl'.
5266         * modules/logbl-tests: New file.
5267         * tests/test-logbl.c: New file.
5268
5269         New module 'logbl'.
5270         * lib/math.in.h (logbl): New declaration.
5271         * lib/logbl.c: New file.
5272         * m4/logbl.m4: New file.
5273         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
5274         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
5275         REPLACE_LOGBL.
5276         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
5277         REPLACE_LOGBL.
5278         * modules/logbl: New file.
5279         * tests/test-math-c++.cc: Check the declaration of logbl.
5280         * doc/posix-functions/logbl.texi: Mention the new module.
5281
5282 2012-04-02  Bruno Haible  <bruno@clisp.org>
5283
5284         Tests for module 'logbf'.
5285         * modules/logbf-tests: New file.
5286         * tests/test-logbf.c: New file.
5287
5288         New module 'logbf'.
5289         * lib/math.in.h (logbf): New declaration.
5290         * lib/logbf.c: New file.
5291         * m4/logbf.m4: New file.
5292         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
5293         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
5294         REPLACE_LOGBF.
5295         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
5296         REPLACE_LOGBF.
5297         * modules/logbf: New file.
5298         * tests/test-math-c++.cc: Check the declaration of logbf.
5299         * doc/posix-functions/logbf.texi: Mention the new module.
5300
5301 2012-04-02  Bruno Haible  <bruno@clisp.org>
5302
5303         logb tests: More tests.
5304         * tests/test-logb.h: New file, based on tests/test-logb.c and
5305         tests/test-frexp.h.
5306         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
5307         (main): Just invoke test_function.
5308         * modules/logb-tests (Files): Add tests/test-logb.h,
5309         tests/minus-zero.h, tests/randomd.c.
5310         (Makefile.am): Add randomd.c to test_logb_SOURCES.
5311
5312         logb: Provide replacement and workarounds.
5313         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
5314         is 1.
5315         * lib/logb.c: New file.
5316         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
5317         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
5318         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
5319         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
5320         * modules/logb (Files): Add lib/logb.c.
5321         (Depends-on): Add isfinite, frexp, isnand.
5322         (configure.ac): Compile the replacement code logb.c if needed.
5323         * tests/test-math-c++.cc: Check the declaration of logb.
5324         * doc/posix-functions/logb.texi: Mention the replacement and the bug
5325         with subnormal numbers.
5326
5327 2012-04-02  Bruno Haible  <bruno@clisp.org>
5328
5329         log10* tests: Speed up.
5330         * tests/test-log10.h (test_function): Reduce amount of random numbers
5331         to test.
5332
5333 2012-04-01  Bruno Haible  <bruno@clisp.org>
5334
5335         logf-ieee: Fix test whether logf works.
5336         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
5337
5338 2012-04-01  Bruno Haible  <bruno@clisp.org>
5339
5340         log10l: Work around log10l-ieee test failure on IRIX 6.5.
5341         * lib/log10l.c: Include <float.h>
5342         (log10l): On IRIX, normalize the +Infinity value.
5343         * modules/log10l (Depends-on): Add 'float'.
5344         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
5345         +Infinity.
5346
5347         log10f-ieee: Work around test failure on NetBSD 5.1.
5348         * m4/log10f-ieee.m4: New file.
5349         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
5350         test whether log10f works with a negative argument. Replace it if not.
5351         * lib/log10f.c (log10f): For negative arguments, return NaN.
5352         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
5353         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
5354         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
5355
5356         log10f-ieee: Work around test failure on Solaris 9.
5357         * modules/log10f-ieee (Depends-on): Add log10-ieee.
5358         (configure.ac): Require gl_FUNC_LOG10F.
5359
5360         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5361         * m4/log10-ieee.m4: New file.
5362         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
5363         whether log10 works with a negative argument. Replace it if not.
5364         * lib/log10.c (log10): For negative arguments, return NaN.
5365         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
5366         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
5367         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
5368
5369         Tests for module 'log10l-ieee'.
5370         * modules/log10l-ieee-tests: New file.
5371         * tests/test-log10l-ieee.c: New file.
5372
5373         New module 'log10l-ieee'.
5374         * modules/log10l-ieee: New file.
5375
5376         Tests for module 'log10-ieee'.
5377         * modules/log10-ieee-tests: New file.
5378         * tests/test-log10-ieee.c: New file.
5379
5380         New module 'log10-ieee'.
5381         * modules/log10-ieee: New file.
5382
5383         Tests for module 'log10f-ieee'.
5384         * modules/log10f-ieee-tests: New file.
5385         * tests/test-log10f-ieee.c: New file.
5386         * tests/test-log10-ieee.h: New file.
5387
5388         New module 'log10f-ieee'.
5389         * modules/log10f-ieee: New file.
5390
5391 2012-04-01  Bruno Haible  <bruno@clisp.org>
5392
5393         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
5394         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
5395         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
5396         workaround.
5397         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
5398         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
5399         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
5400         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
5401         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
5402         (Depends-on): Update conditions.
5403         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
5404         IRIX 6.5, OSF/1 5.1 problems.
5405
5406 2012-04-01  Bruno Haible  <bruno@clisp.org>
5407
5408         log10f: Work around OSF/1 5.1 bug.
5409         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
5410         * lib/log10f.c (log10f): If logf exists, use it and provide just the
5411         workaround.
5412         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
5413         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
5414         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
5415         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
5416         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
5417         (Depends-on): Update conditions.
5418         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
5419
5420 2012-04-01  Bruno Haible  <bruno@clisp.org>
5421
5422         log10: Work around OSF/1 5.1 bug.
5423         * lib/math.in.h (log10): New declaration.
5424         * lib/log10.c: New file.
5425         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
5426         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
5427         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
5428         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
5429         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
5430         * modules/log10 (Files): Add lib/log10.c.
5431         (Depends-on): Add math.
5432         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
5433         * tests/test-math-c++.cc: Check the declaration of log10.
5434         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
5435
5436 2012-03-31  Bruno Haible  <bruno@clisp.org>
5437
5438         log10l tests: More tests.
5439         * modules/log10l-tests (Files): Add tests/test-log10l.h,
5440         tests/minus-zero.h, tests/randoml.c.
5441         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
5442         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
5443         (main): Invoke test_function.
5444
5445         log10f tests: More tests.
5446         * modules/log10f-tests (Files): Add tests/test-log10.h,
5447         tests/minus-zero.h, tests/randomf.c.
5448         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
5449         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
5450         (main): Invoke test_function.
5451
5452         log10 tests: More tests.
5453         * tests/test-log10.h: New file.
5454         * modules/log10-tests (Files): Add tests/test-log10.h,
5455         tests/minus-zero.h, tests/randomd.c.
5456         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5457         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5458         (main): Invoke test_function.
5459
5460 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5461
5462         fflush: Fix syntax error.
5463         * lib/fflush.c: Include unused-parameter.h, needed for
5464         _GL_UNUSED_PARAMETER.
5465         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5466
5467 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5468
5469         regex: pacify GCC when compiling GRUB
5470         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5471         a diagnostic.  Reported by Vladimir Serbinenko in
5472         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5473
5474 2012-03-29  Eric Blake  <eblake@redhat.com>
5475
5476         stdio: don't assume gets any more
5477         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5478         support.
5479         * modules/stdio (Makefile.am): Likewise.
5480         * lib/stdio-read.c (gets): Likewise.
5481         * tests/test-stdio-c++.cc: Likewise.
5482         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5483         * lib/stdio.in.h (gets): Make warning occur in more places.
5484         * doc/posix-functions/gets.texi (gets): Update documentation.
5485         Reported by Christer Solskogen.
5486
5487         maint.mk: fix syntax checks without exclusions
5488         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5489         Reported by Daniel P. Berrange.
5490
5491         strerror_r: avoid compiler warning
5492         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5493         level.
5494
5495         fflush: avoid compiler warning
5496         * lib/fflush.c (update_fpos_cache): Mark variables that are
5497         potentially unused.
5498
5499 2012-03-25  Bruno Haible  <bruno@clisp.org>
5500
5501         Tests for module 'localeconv'.
5502         * modules/localeconv-tests: New file.
5503         * tests/test-localeconv.c: New file.
5504
5505         New module 'localeconv'.
5506         * lib/locale.in.h (localeconv): New declaration.
5507         * lib/localeconv.c: New file.
5508         * m4/localeconv.m4: New file.
5509         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5510         REPLACE_LOCALECONV.
5511         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5512         REPLACE_LOCALECONV.
5513         * modules/localeconv: New file.
5514         * modules/nl_langinfo (Depends-on): Add localeconv.
5515         * modules/human (Depends-on): Likewise.
5516         * doc/posix-functions/localeconv.texi: Mention the new module.
5517
5518 2012-03-25  Bruno Haible  <bruno@clisp.org>
5519
5520         locale: Provide a complete 'struct lconv'.
5521         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5522         'struct lconv' does not contain int_p_cs_precedes.
5523         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5524         * doc/posix-headers/locale.texi: Update.
5525
5526         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5527         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5528         * doc/posix-headers/locale.texi: Update.
5529
5530         locale: Provide a working 'struct lconv'.
5531         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5532         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5533         'struct lconv' does not even contain decimal_point.
5534         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5535         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5536         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5537         * doc/posix-headers/locale.texi: Mention the problems with
5538         'struct lconv'.
5539         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5540
5541 2012-03-24  Bruno Haible  <bruno@clisp.org>
5542
5543         Enable common subexpression optimization in GCC.
5544         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5545         macros.
5546         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5547         GCC attribute 'const'.
5548         (uc_locale_language): Declare with GCC attribute 'pure'.
5549         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5550         with GCC attribute 'const'.
5551         * lib/unictype.in.h (uc_is_general_category_withtable,
5552         uc_combining_class, uc_combining_class_name,
5553         uc_combining_class_long_name, uc_bidi_class_name,
5554         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5555         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5556         uc_decimal_value, uc_digit_value, uc_numeric_value,
5557         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5558         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5559         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5560         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5561         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5562         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5563         Declare with GCC attribute 'const'.
5564         (uc_general_category_name, uc_general_category_long_name,
5565         uc_general_category_byname, uc_general_category,
5566         uc_is_general_category, uc_combining_class_byname,
5567         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5568         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5569         Declare with GCC attribute 'pure'.
5570         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5571         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5572         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5573         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5574         with GCC attribute 'pure'.
5575         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5576         'const'.
5577         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5578         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5579         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5580         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5581         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5582         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5583         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5584         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5585         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5586         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5587         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5588         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5589         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5590         GCC attribute 'pure'.
5591         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5592         'const'.
5593         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5594         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5595         u32_strwidth): Declare with GCC attribute 'pure'.
5596
5597         Enable common subexpression optimization in GCC.
5598         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5599         (alphasort): Declare with GCC attribute 'pure'.
5600         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5601         (atoll): Declare with GCC attribute 'pure'.
5602         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5603         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5604         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5605         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5606         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5607         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5608         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5609
5610 2012-03-24  Bruno Haible  <bruno@clisp.org>
5611
5612         gnulib-tool: Avoid unintended error output from 'cmp'.
5613         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5614         "cmp -s", not "cmp > /dev/null".
5615
5616 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5617
5618         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5619
5620         It's not just Automake versions < 1.9b that creates an empty
5621         pkgdatadir at installation time if pkgdata_DATA is specified
5622         to empty; modern automake versions do this as well, at least
5623         until automake 1.11.4 (not yet released at the moment of writing,
5624         but soon to appear).  That behaviour was generally considered a
5625         feature rather than a bug, at least until this discussion:
5626         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5627
5628         See also automake bugs #10997 and #11030.
5629
5630         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5631         reference to relevant automake bug numbers.
5632         (func_emit_tests_Makefile_am): Likewise.
5633
5634 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5635
5636         announce-gen: use Digest::SHA when possible
5637         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5638         back to Digest::SHA1 if necessary.
5639
5640 2012-03-20  Jim Meyering  <meyering@redhat.com>
5641
5642         tests: avoid gcc warnings about argv vs. const initializers
5643         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5644         warnings about discarding 'const' qualifier from pointer target type.
5645         * tests/test-posix_spawn2.c (main): Likewise.
5646
5647 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5648
5649         README-release: simplify slightly
5650         * top/README-release: Run "git checkout master" only once.
5651
5652 2012-03-15  Mark Wielaard  <mark@klomp.org>
5653
5654         git-merge-changelog: add specific example on how to use with hg.
5655         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5656
5657 2012-03-18  Mark Wielaard  <mark@klomp.org>
5658
5659         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5660
5661 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5662
5663         git-version-gen: don't let "prefix" envvar cause trouble
5664         * build-aux/git-version-gen (prefix): Initialize properly,
5665         so as not to use a value specified via the environment.
5666         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5667
5668 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5669
5670         regex: diagnose too-large repeat counts in EREs
5671         Previously, the code did not diagnose the too-large repeat count
5672         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5673         as if it were 'b\{1000000000}', which is unexpected.
5674         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5675         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5676         is a reasonable one for this problem.  Another option would be to
5677         create a new REG_OVERFLOW error for repeat counts that are too large.
5678         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5679         count is too large, so that the caller can distinguish the two cases.
5680         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5681         "Too large" return code, and that repeat counts are one example of this.
5682
5683 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5684
5685         doc: some glibc x32 integer width issues
5686         * doc/posix-headers/sys_types.texi (sys/types.h):
5687         * doc/posix-headers/time.texi (time.h):
5688         Mention that glibc x32 does not conform to POSIX in a couple of
5689         areas related to integer widths.
5690
5691 2012-03-15  Bruno Haible  <bruno@clisp.org>
5692
5693         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5694         * lib/fma.c (VOLATILE): New macro.
5695         (FUNC): Use it to work around a GCC compiler bug.
5696
5697 2012-03-13  Bruno Haible  <bruno@clisp.org>
5698
5699         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5700         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5701         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5702         REPLACE_HYPOTL to 1.
5703         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5704
5705 2012-03-13  Bruno Haible  <bruno@clisp.org>
5706
5707         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5708         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5709         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5710         REPLACE_REMAINDERL to 1.
5711         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5712         bug.
5713
5714 2012-03-13  Bruno Haible  <bruno@clisp.org>
5715
5716         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5717         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5718         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5719         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5720         too big rounding errors.
5721         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5722         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5723         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5724         (Depends-on): Update conditions.
5725         * tests/test-sqrtl.c (my_ldexpl): New function.
5726         (main): Add test of a particular value.
5727         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5728
5729 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5730
5731         doc: Update timer_* platform portability notes.
5732         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5733         that always return ENOSYS.
5734         * doc/posix-functions/timer_delete.texi: Likewise.
5735         * doc/posix-functions/timer_gettime.texi: Likewise.
5736         * doc/posix-functions/timer_settime.texi: Likewise.
5737
5738 2012-03-13  Bruno Haible  <bruno@clisp.org>
5739
5740         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5741         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5742         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5743         REPLACE_CBRTL to 1.
5744         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5745
5746 2012-03-13  Bruno Haible  <bruno@clisp.org>
5747
5748         remainderl: Avoid compilation error on AIX >= 5.2.
5749         * lib/math.in.h (remainderl): Undefine macro from the system header.
5750
5751 2012-03-13  Bruno Haible  <bruno@clisp.org>
5752
5753         Avoid compilation errors with MSVC option -fp:strict.
5754         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5755         * lib/cbrtf.c: Likewise.
5756         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5757
5758 2012-03-12  Bruno Haible  <bruno@clisp.org>
5759
5760         uninorm: Don't crash in out-of-memory conditions.
5761         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5762         gracefully.
5763         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5764         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5765
5766 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5767
5768         quote: fix syntax-check
5769         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5770         also exports quote_quoting_options.
5771
5772 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5773
5774         Collapse list of copyright years to ranges.  See
5775         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5776         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5777         build-aux/csharpexec.sh.in, build-aux/gnupload,
5778         build-aux/install-reloc, build-aux/javacomp.sh.in,
5779         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5780         build-aux/move-if-change, build-aux/reloc-ldflags,
5781         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5782
5783 2012-03-11  Bruno Haible  <bruno@clisp.org>
5784
5785         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5786         * m4/log2f-ieee.m4: New file.
5787         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5788         whether log2f works with a minus zero argument. Replace it if not.
5789         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5790         (Depends-on): Add log2-ieee.
5791         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5792         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5793
5794         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5795         * m4/log2-ieee.m4: New file.
5796         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5797         whether log2 works with a minus zero argument. Replace it if not.
5798         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5799         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5800         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5801
5802         Tests for module 'log2l-ieee'.
5803         * modules/log2l-ieee-tests: New file.
5804         * tests/test-log2l-ieee.c: New file.
5805
5806         New module 'log2l-ieee'.
5807         * modules/log2l-ieee: New file.
5808
5809         Tests for module 'log2-ieee'.
5810         * modules/log2-ieee-tests: New file.
5811         * tests/test-log2-ieee.c: New file.
5812
5813         New module 'log2-ieee'.
5814         * modules/log2-ieee: New file.
5815
5816         Tests for module 'log2f-ieee'.
5817         * modules/log2f-ieee-tests: New file.
5818         * tests/test-log2f-ieee.c: New file.
5819         * tests/test-log2-ieee.h: New file.
5820
5821         New module 'log2f-ieee'.
5822         * modules/log2f-ieee: New file.
5823
5824 2012-03-11  Bruno Haible  <bruno@clisp.org>
5825
5826         Tests for module 'log2l'.
5827         * modules/log2l-tests: New file.
5828         * tests/test-log2l.c: New file.
5829
5830         New module 'log2l'.
5831         * lib/math.in.h (log2l): New declaration.
5832         * lib/log2l.c: New file.
5833         * m4/log2l.m4: New file.
5834         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5835         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5836         REPLACE_LOG2L.
5837         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5838         REPLACE_LOG2L.
5839         * modules/log2l: New file.
5840         * tests/test-math-c++.cc: Check the declaration of log2l.
5841         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5842         and OSF/1 problems.
5843
5844 2012-03-11  Bruno Haible  <bruno@clisp.org>
5845
5846         Tests for module 'log2f'.
5847         * modules/log2f-tests: New file.
5848         * tests/test-log2f.c: New file.
5849
5850         New module 'log2f'.
5851         * lib/math.in.h (log2f): New declaration.
5852         * lib/log2f.c: New file.
5853         * m4/log2f.m4: New file.
5854         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5855         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5856         REPLACE_LOG2F.
5857         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5858         REPLACE_LOG2F.
5859         * modules/log2f: New file.
5860         * tests/test-math-c++.cc: Check the declaration of log2f.
5861         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5862         and OSF/1 and Cygwin problems.
5863
5864 2012-03-11  Bruno Haible  <bruno@clisp.org>
5865
5866         Tests for module 'log2'.
5867         * modules/log2-tests: New file.
5868         * tests/test-log2.c: New file.
5869         * tests/test-log2.h: New file.
5870
5871         New module 'log2'.
5872         * lib/math.in.h (log2): New declaration.
5873         * lib/log2.c: New file.
5874         * m4/log2.m4: New file.
5875         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5876         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5877         REPLACE_LOG2.
5878         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5879         REPLACE_LOG2.
5880         * modules/log2: New file.
5881         * tests/test-math-c++.cc: Check the declaration of log2.
5882         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5883         and OSF/1 and Cygwin problems.
5884
5885 2012-03-11  Bruno Haible  <bruno@clisp.org>
5886
5887         exp2* tests: More tests.
5888         * tests/test-exp2.h (test_function): Test all integral arguments that
5889         don't need to overflow or denormalized numbers.
5890         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5891         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5892         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5893
5894 2012-03-10  Bruno Haible  <bruno@clisp.org>
5895
5896         log1pl-ieee: Work around test failure on AIX 7.1.
5897         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5898
5899         log1pl-ieee: Work around test failure on IRIX 6.5.
5900         * m4/log1pl-ieee.m4: New file.
5901         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5902         test whether log1pl works with a minus zero argument. Replace it if
5903         not.
5904         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5905         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5906         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5907         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5908         (Depends-on): Update conditions.
5909         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5910         m4/signbit.m4.
5911         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5912         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5913
5914         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5915         * m4/log1pf-ieee.m4: New file.
5916         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5917         test whether log1pf works with a minus zero argument. Replace it if
5918         not.
5919         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5920         m4/signbit.m4.
5921         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5922         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5923
5924         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5925         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5926         (configure.ac): Require gl_FUNC_LOG1PF.
5927
5928         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5929         * m4/log1p-ieee.m4: New file.
5930         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5931         whether log1p works with a minus zero argument. Replace it if not.
5932         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5933         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5934         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5935         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5936         (Depends-on): Update conditions.
5937         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5938         m4/signbit.m4.
5939         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5940         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5941
5942         Tests for module 'log1pl-ieee'.
5943         * modules/log1pl-ieee-tests: New file.
5944         * tests/test-log1pl-ieee.c: New file.
5945
5946         New module 'log1pl-ieee'.
5947         * modules/log1pl-ieee: New file.
5948
5949         Tests for module 'log1p-ieee'.
5950         * modules/log1p-ieee-tests: New file.
5951         * tests/test-log1p-ieee.c: New file.
5952
5953         New module 'log1p-ieee'.
5954         * modules/log1p-ieee: New file.
5955
5956         Tests for module 'log1pf-ieee'.
5957         * modules/log1pf-ieee-tests: New file.
5958         * tests/test-log1pf-ieee.c: New file.
5959         * tests/test-log1p-ieee.h: New file.
5960
5961         New module 'log1pf-ieee'.
5962         * modules/log1pf-ieee: New file.
5963
5964 2012-03-10  Bruno Haible  <bruno@clisp.org>
5965
5966         Tests for module 'log1pl'.
5967         * modules/log1pl-tests: New file.
5968         * tests/test-log1pl.c: New file.
5969
5970         New module 'log1pl'.
5971         * lib/math.in.h (log1pl): New declaration.
5972         * lib/log1pl.c: New file.
5973         * m4/log1pl.m4: New file.
5974         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5975         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5976         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5977         * modules/log1pl: New file.
5978         * tests/test-math-c++.cc: Check the declaration of log1pl.
5979         * doc/posix-functions/log1pl.texi: Mention the new module.
5980
5981 2012-03-10  Bruno Haible  <bruno@clisp.org>
5982
5983         Tests for module 'log1pf'.
5984         * modules/log1pf-tests: New file.
5985         * tests/test-log1pf.c: New file.
5986
5987         New module 'log1pf'.
5988         * lib/math.in.h (log1pf): New declaration.
5989         * lib/log1pf.c: New file.
5990         * m4/log1pf.m4: New file.
5991         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5992         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5993         REPLACE_LOG1PF.
5994         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5995         REPLACE_LOG1PF.
5996         * modules/log1pf: New file.
5997         * tests/test-math-c++.cc: Check the declaration of log1pf.
5998         * doc/posix-functions/log1pf.texi: Mention the new module.
5999
6000 2012-03-10  Bruno Haible  <bruno@clisp.org>
6001
6002         log1p tests: More tests.
6003         * tests/test-log1p.h: New file.
6004         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
6005         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
6006         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
6007         (main): Invoke test_function.
6008
6009         log1p: Provide replacement for Minix and MSVC.
6010         * lib/math.in.h (log1p): New declaration.
6011         * lib/log1p.c: New file.
6012         * m4/log1p.m4: New file.
6013         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
6014         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
6015         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
6016         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
6017         (Depends-on): Add math, isnand, log, round.
6018         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
6019         HAVE_LOG1P is 0.
6020         * tests/test-math-c++.cc: Check the declaration of log1p.
6021         * doc/posix-functions/log1p.texi: Mention the replacement.
6022
6023 2012-03-10  Bruno Haible  <bruno@clisp.org>
6024
6025         math tests: Small simplification.
6026         * tests/test-exp.h (test_function): Use the same err_bound for
6027         'double' on platforms with sizeof (long double) == sizeof (double)
6028         than on platforms with sizeof (long double) > sizeof (double).
6029         * tests/test-exp2.h (test_function): Likewise.
6030         * tests/test-expm1.h (test_function): Likewise.
6031         * tests/test-log.h (test_function): Likewise.
6032
6033 2012-03-10  Bruno Haible  <bruno@clisp.org>
6034
6035         Fix some comments.
6036         * lib/expl.c: Fix an ambiguous comment.
6037         * lib/expm1.c: Likewise.
6038         * lib/expm1l.c: Likewise.
6039         * lib/exp2.c: Likewise.
6040         * lib/exp2l.c: Likewise.
6041
6042 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
6043
6044         regex: allow inclusion of <regex.h> before <limits.h>
6045         Without this patch, portable programs had to include <limits.h> before
6046         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
6047         I ran into this problem with a test version of GNU grep on Solaris 8.
6048         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
6049         This is done conditionally so that this change can be merged
6050         back to glibc.
6051         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
6052         using the included regex.
6053
6054         fts: depend on fdopendir
6055         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
6056         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
6057         problem was introduced when fdopendir was split out.
6058
6059 2012-03-10  Bruno Haible  <bruno@clisp.org>
6060
6061         Remove unused variables.
6062         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
6063         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6064
6065 2012-03-10  Bruno Haible  <bruno@clisp.org>
6066
6067         isnanf-nolibm: Fix last commit.
6068         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
6069
6070         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
6071         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
6072
6073 2012-03-10  Bruno Haible  <bruno@clisp.org>
6074
6075         logf-ieee: Work around test failure on NetBSD 5.1.
6076         * m4/logf-ieee.m4: New file.
6077         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
6078         whether logf works with a negative argument. Replace it if not.
6079         * lib/logf.c (logf): For negative arguments, return NaN.
6080         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
6081         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
6082         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
6083
6084         logf-ieee: Work around test failure on Solaris 9.
6085         * modules/logf-ieee (Depends-on): Add log-ieee.
6086         (configure.ac): Require gl_FUNC_LOGF.
6087
6088         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
6089         * m4/log-ieee.m4: New file.
6090         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
6091         log works with a negative argument. Replace it if not.
6092         * lib/log.c (log): For negative arguments, return NaN.
6093         * modules/log-ieee (Files): Add m4/log-ieee.m4.
6094         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
6095         * doc/posix-functions/log.texi: Mention the log-ieee module.
6096
6097         Tests for module 'logl-ieee'.
6098         * modules/logl-ieee-tests: New file.
6099         * tests/test-logl-ieee.c: New file.
6100
6101         New module 'logl-ieee'.
6102         * modules/logl-ieee: New file.
6103
6104         Tests for module 'log-ieee'.
6105         * modules/log-ieee-tests: New file.
6106         * tests/test-log-ieee.c: New file.
6107
6108         New module 'log-ieee'.
6109         * modules/log-ieee: New file.
6110
6111         Tests for module 'logf-ieee'.
6112         * modules/logf-ieee-tests: New file.
6113         * tests/test-logf-ieee.c: New file.
6114         * tests/test-log-ieee.h: New file.
6115
6116         New module 'logf-ieee'.
6117         * modules/logf-ieee: New file.
6118
6119 2012-03-10  Bruno Haible  <bruno@clisp.org>
6120
6121         log: Fix bug introduced on 2012-03-09.
6122         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
6123
6124 2012-03-10  Pádraig Brady  <P@draigBrady.com>
6125
6126         timer-time: link explicitly with pthreads on glibc
6127         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
6128         to support static linking, when newer glibc is
6129         detected, as that contains pthread emulation of
6130         POSIX timer functions where required.
6131         * modules/timer-time: Depend on threadlib to
6132         pull in the appropriate library to link.
6133
6134 2012-03-10  Bruno Haible  <bruno@clisp.org>
6135
6136         log* tests: More tests.
6137         * tests/test-log.h: New file.
6138         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
6139         (main): Invoke test_function.
6140         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
6141         (main): Invoke test_function.
6142         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
6143         (main): Invoke test_function.
6144         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6145         tests/randomd.c.
6146         (Makefile.am): Add randomd.c to test_log_SOURCES.
6147         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6148         tests/randomf.c.
6149         (Makefile.am): Add randomf.c to test_logf_SOURCES.
6150         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6151         tests/randoml.c.
6152         (Depends-on): Add 'float'.
6153         (Makefile.am): Add randoml.c to test_logl_SOURCES.
6154
6155 2012-03-09  Bruno Haible  <bruno@clisp.org>
6156
6157         logl: Work around OSF/1 5.1 bug.
6158         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
6159         * lib/logl.c (logl): If logl exists, use it and provide just the
6160         workaround.
6161         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
6162         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
6163         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
6164         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
6165         * modules/logl (configure.ac): Consider REPLACE_LOGL.
6166         (Depends-on): Update conditions.
6167         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
6168
6169 2012-03-09  Bruno Haible  <bruno@clisp.org>
6170
6171         logf: Work around OSF/1 5.1 bug.
6172         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
6173         * lib/logf.c (logf): If logf exists, use it and provide just the
6174         workaround.
6175         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
6176         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
6177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
6178         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
6179         * modules/logf (configure.ac): Consider REPLACE_LOGF.
6180         (Depends-on): Update conditions.
6181         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
6182
6183 2012-03-09  Bruno Haible  <bruno@clisp.org>
6184
6185         log: Work around OSF/1 5.1 bug.
6186         * lib/math.in.h (log): New declaration.
6187         * lib/log.c: New file.
6188         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
6189         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
6190         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
6191         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
6192         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
6193         * modules/log (Files): Add lib/log.c.
6194         (Depends-on): Add math.
6195         (configure.ac): If REPLACE_LOG is 1, compile an override.
6196         * tests/test-math-c++.cc: Check the declaration of log.
6197         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
6198
6199 2012-03-09  Jim Meyering  <meyering@redhat.com>
6200
6201         readtokens.c: adjust wording in a comment
6202         * lib/readtokens.c: Insert omitted "that" in a comment.
6203
6204 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6205
6206         modechange: add notations +40, 00440, etc.
6207         * lib/modechange.c (mode_compile): Support new notations
6208         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
6209
6210 2012-03-08  Bruno Haible  <bruno@clisp.org>
6211
6212         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
6213         * m4/exp2l-ieee.m4: New file.
6214         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
6215         test whether exp2l works with a NaN argument and with a negative
6216         infinity argument. Replace it if not.
6217         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
6218         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
6219         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
6220         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
6221         (Depends-on): Update conditions.
6222         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
6223         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
6224         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
6225
6226         Tests for module 'exp2l-ieee'.
6227         * modules/exp2l-ieee-tests: New file.
6228         * tests/test-exp2l-ieee.c: New file.
6229
6230         New module 'exp2l-ieee'.
6231         * modules/exp2l-ieee: New file.
6232
6233         Tests for module 'exp2-ieee'.
6234         * modules/exp2-ieee-tests: New file.
6235         * tests/test-exp2-ieee.c: New file.
6236
6237         New module 'exp2-ieee'.
6238         * modules/exp2-ieee: New file.
6239
6240         Tests for module 'exp2f-ieee'.
6241         * modules/exp2f-ieee-tests: New file.
6242         * tests/test-exp2f-ieee.c: New file.
6243         * tests/test-exp2-ieee.h: New file.
6244
6245         New module 'exp2f-ieee'.
6246         * modules/exp2f-ieee: New file.
6247
6248 2012-03-08  Bruno Haible  <bruno@clisp.org>
6249
6250         Tests for module 'exp2l'.
6251         * modules/exp2l-tests: New file.
6252         * tests/test-exp2l.c: New file.
6253
6254         New module 'exp2l'.
6255         * lib/math.in.h (exp2l): New declaration.
6256         * lib/exp2l.c: New file.
6257         * lib/expl-table.c: New file, extracted from lib/expl.c.
6258         * lib/expl.c (gl_expl_table): New declaration.
6259         (expl): Remove expl_table. Update reference.
6260         * m4/exp2l.m4: New file.
6261         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
6262         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
6263         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
6264         * modules/exp2l: New file.
6265         * modules/expl (Files): Add lib/expl-table.c.
6266         (configure.ac): Compile also expl-table.c.
6267         * tests/test-math-c++.cc: Check the declaration of exp2l.
6268         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
6269         problem.
6270
6271 2012-03-08  Bruno Haible  <bruno@clisp.org>
6272
6273         Tests for module 'exp2f'.
6274         * modules/exp2f-tests: New file.
6275         * tests/test-exp2f.c: New file.
6276
6277         New module 'exp2f'.
6278         * lib/math.in.h (exp2f): New declaration.
6279         * lib/exp2f.c: New file.
6280         * m4/exp2f.m4: New file.
6281         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
6282         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
6283         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
6284         * modules/exp2f: New file.
6285         * tests/test-math-c++.cc: Check the declaration of exp2f.
6286         * doc/posix-functions/exp2f.texi: Mention the new module and the
6287         IRIX problem.
6288
6289 2012-03-08  Bruno Haible  <bruno@clisp.org>
6290
6291         Tests for module 'exp2'.
6292         * modules/exp2-tests: New file.
6293         * tests/test-exp2.c: New file.
6294         * tests/test-exp2.h: New file.
6295
6296         New module 'exp2'.
6297         * lib/math.in.h (exp2): New declaration.
6298         * lib/exp2.c: New file.
6299         * m4/exp2.m4: New file.
6300         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
6301         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
6302         REPLACE_EXP2.
6303         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
6304         REPLACE_EXP2.
6305         * modules/exp2: New file.
6306         * tests/test-math-c++.cc: Check the declaration of exp2.
6307         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
6308         and OpenBSD problems.
6309
6310 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6311
6312         savedir: fix comment typo
6313         * lib/savedir.c (savedirstream): Fix typo in comment.
6314
6315 2012-03-08  Bruno Haible  <bruno@clisp.org>
6316
6317         test-readtokens.c: use const; remove unwarranted cast
6318         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
6319
6320 2012-03-08  Bruno Haible  <bruno@clisp.org>
6321
6322         fmal: Avoid compilation error on AIX.
6323         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
6324         AIX 5.2..7.1.
6325
6326 2012-03-08  Bruno Haible  <bruno@clisp.org>
6327
6328         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
6329         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
6330         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
6331         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
6332         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
6333         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
6334         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
6335
6336 2012-03-08  Bruno Haible  <bruno@clisp.org>
6337
6338         remainderf: Override buggy system function on IRIX 6.5.
6339         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
6340         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
6341         when it exists.
6342         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
6343
6344 2012-03-08  Jim Meyering  <meyering@redhat.com>
6345
6346         test-readtokens.c: avoid const-related compilation warnings
6347         * tests/test-readtokens.c: Avoid const-related compilation warnings.
6348
6349 2012-03-07  Jim Meyering  <meyering@redhat.com>
6350             Bruno Haible  <bruno@clisp.org>
6351
6352         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
6353         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
6354         tests/randomd.c.
6355         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
6356         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
6357         tests/randoml.c.
6358         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
6359
6360 2012-03-07  Bruno Haible  <bruno@clisp.org>
6361
6362         expm1l: Avoid compilation error on AIX.
6363         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
6364         AIX 5.2..7.1.
6365
6366 2012-03-07  Bruno Haible  <bruno@clisp.org>
6367
6368         expm1l: Don't override undeclared system function on IRIX 6.5.
6369         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
6370         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
6371         it exists. Set HAVE_DECL_EXPM1L.
6372         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
6373         HAVE_EXPM1L.
6374         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
6375         HAVE_EXPM1L.
6376         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
6377
6378 2012-03-07  Bruno Haible  <bruno@clisp.org>
6379
6380         remainderl: Don't override undeclared system function on IRIX 6.5.
6381         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
6382         HAVE_REMAINDERL.
6383         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
6384         declared when it exists. Set HAVE_DECL_REMAINDERL.
6385         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
6386         not HAVE_REMAINDERL.
6387         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
6388         HAVE_REMAINDERL.
6389         * doc/posix-functions/remainderl.texi: Mention missing declaration
6390         problem.
6391
6392 2012-03-07  Bruno Haible  <bruno@clisp.org>
6393
6394         rintf: Don't override undeclared system function on IRIX 6.5.
6395         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
6396         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
6397         exists. Set HAVE_DECL_RINTF.
6398         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
6399         HAVE_RINTF.
6400         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
6401         HAVE_RINTF.
6402         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
6403
6404 2012-03-07  Bruno Haible  <bruno@clisp.org>
6405
6406         roundl: Avoid compilation error on AIX.
6407         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
6408         AIX 5.2..7.1.
6409
6410 2012-03-07  Bruno Haible  <bruno@clisp.org>
6411
6412         roundl: Don't override undeclared system function on IRIX 6.5.
6413         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
6414         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
6415         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6416         * modules/roundl (configure.ac): For replacement code, test
6417         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6418         (Depends-on): Update conditions.
6419         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
6420
6421 2012-03-07  Bruno Haible  <bruno@clisp.org>
6422
6423         roundf: Don't override undeclared system function on IRIX 6.5.
6424         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
6425         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
6426         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6427         * modules/roundf (configure.ac): For replacement code, test
6428         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6429         (Depends-on): Update conditions.
6430         * modules/roundf-ieee (Depends-on): Update conditions.
6431         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
6432
6433 2012-03-07  Bruno Haible  <bruno@clisp.org>
6434
6435         round: Don't override undeclared system function on IRIX 6.5.
6436         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
6437         argument.
6438         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
6439         also when it is not declared. Set HAVE_ROUND. For replacement code,
6440         test HAVE_ROUND, not HAVE_DECL_ROUND.
6441         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
6442         not HAVE_DECL_ROUND.
6443         (Depends-on): Update conditions.
6444         * modules/round-ieee (Depends-on): Update conditions.
6445         * doc/posix-functions/round.texi: Mention the IRIX problem.
6446
6447 2012-03-07  Bruno Haible  <bruno@clisp.org>
6448
6449         copysignf: Don't override undeclared system function on IRIX 6.5.
6450         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
6451         HAVE_COPYSIGNF.
6452         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
6453         declared when it exists. Set HAVE_DECL_COPYSIGNF.
6454         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
6455         not HAVE_COPYSIGNF.
6456         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6457         HAVE_COPYSIGNF.
6458         * doc/posix-functions/copysignf.texi: Mention missing declaration
6459         problem.
6460
6461 2012-03-07  Jim Meyering  <meyering@redhat.com>
6462
6463         readtokens: add tests
6464         * modules/readtokens-tests: New file.
6465         * tests/test-readtokens.c: New file.
6466
6467 2012-03-07  Jim Meyering  <meyering@redhat.com>
6468
6469         quotearg: the module must now include quote.h
6470         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6471         So must the module.
6472         * modules/quotearg (Files): Add quote.h.
6473
6474 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6475
6476         readtokens: avoid core dumps with unusual calling patterns
6477         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6478         * lib/readtokens.c: Include limits.h.
6479         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6480         (readtoken): Don't cache the delimiters; the cache code was buggy
6481         if !delim && saved_delim, or if the new n_delim differs from the old.
6482         Also, it wasn't thread-safe.
6483
6484 2012-03-07  Bruno Haible  <bruno@clisp.org>
6485
6486         quote: Adhere to common module description layout.
6487         * modules/quote (Makefile.am): Add back empty section.
6488
6489 2012-03-06  Akim Demaille  <demaille@gostai.com>
6490
6491         quote: fuse into quotearg
6492         This patch is made for the benefit of Bison.
6493         quote does not leave the choice of the quoting style to the user.
6494         quoting_style provides poor customizability, yet quoting_options,
6495         which is very rich, is hidden inside quotearg.c.  So in order to
6496         allow quote customization, move its implementation to quotearg.c.
6497         * lib/quote.c: Remove.
6498         * modules/quote: Adjust.
6499         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6500         warning: provide all the members of literal structs.
6501         (quote_quoting_options): New.
6502         (quote, quote_n): Import implementation from quote.c.
6503         * lib/quote.h: Import the comments from quote.c.
6504         (quote_quoting_options): New.
6505
6506 2012-03-06  Bruno Haible  <bruno@clisp.org>
6507
6508         Tests for module 'expm1l-ieee'.
6509         * modules/expm1l-ieee-tests: New file.
6510         * tests/test-expm1l-ieee.c: New file.
6511
6512         New module 'expm1l-ieee'.
6513         * modules/expm1l-ieee: New file.
6514
6515         Tests for module 'expm1f-ieee'.
6516         * modules/expm1f-ieee-tests: New file.
6517         * tests/test-expm1f-ieee.c: New file.
6518
6519         New module 'expm1f-ieee'.
6520         * modules/expm1f-ieee: New file.
6521
6522         Tests for module 'expm1-ieee'.
6523         * modules/expm1-ieee-tests: New file.
6524         * tests/test-expm1-ieee.c: New file.
6525         * tests/test-expm1-ieee.h: New file.
6526
6527         New module 'expm1-ieee'.
6528         * modules/expm1-ieee: New file.
6529         * m4/expm1-ieee.m4: New file.
6530         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6531         whether expm1 works with a minus zero argument. Replace it if not.
6532         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6533         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6534         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6535         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6536         (Depends-on): Update conditions.
6537         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6538         AIX problem.
6539
6540 2012-03-06  Bruno Haible  <bruno@clisp.org>
6541
6542         Work around expm1f bug on IRIX 6.5.
6543         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6544         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6545         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6546         not work.
6547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6548         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6549         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6550         (Depends-on): Update conditions.
6551         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6552
6553 2012-03-06  Bruno Haible  <bruno@clisp.org>
6554
6555         Tests for module 'expm1l'.
6556         * modules/expm1l-tests: New file.
6557         * tests/test-expm1l.c: New file.
6558
6559         New module 'expm1l'.
6560         * lib/math.in.h (expm1l): New declaration.
6561         * lib/expm1l.c: New file.
6562         * m4/expm1l.m4: New file.
6563         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6564         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6565         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6566         * modules/expm1l: New file.
6567         * tests/test-math-c++.cc: Check the declaration of expm1l.
6568         * doc/posix-functions/expm1l.texi: Mention the new module.
6569
6570 2012-03-06  Bruno Haible  <bruno@clisp.org>
6571
6572         Tests for module 'expm1f'.
6573         * modules/expm1f-tests: New file.
6574         * tests/test-expm1f.c: New file.
6575
6576         New module 'expm1f'.
6577         * lib/math.in.h (expm1f): New declaration.
6578         * lib/expm1f.c: New file.
6579         * m4/expm1f.m4: New file.
6580         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6581         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6582         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6583         * modules/expm1f: New file.
6584         * tests/test-math-c++.cc: Check the declaration of expm1f.
6585         * doc/posix-functions/expm1f.texi: Mention the new module.
6586
6587 2012-03-06  Bruno Haible  <bruno@clisp.org>
6588
6589         Tests for module 'expm1'.
6590         * modules/expm1-tests: New file.
6591         * tests/test-expm1.c: New file.
6592         * tests/test-expm1.h: New file.
6593
6594         New module 'expm1'.
6595         * lib/math.in.h (expm1): New declaration.
6596         * lib/expm1.c: New file.
6597         * m4/expm1.m4: New file.
6598         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6599         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6600         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6601         * modules/expm1: New file.
6602         * tests/test-math-c++.cc: Check the declaration of expm1.
6603         * doc/posix-functions/expm1.texi: Mention the new module.
6604
6605 2012-03-06  Bruno Haible  <bruno@clisp.org>
6606
6607         math: Ensure declarations of math functions.
6608         * modules/acosf (Depends-on): Add 'extensions'.
6609         * modules/asinf (Depends-on): Likewise.
6610         * modules/atan2f (Depends-on): Likewise.
6611         * modules/atanf (Depends-on): Likewise.
6612         * modules/cbrt (Depends-on): Likewise.
6613         * modules/cbrtf (Depends-on): Likewise.
6614         * modules/cbrtl (Depends-on): Likewise.
6615         * modules/copysignf (Depends-on): Likewise.
6616         * modules/copysignl (Depends-on): Likewise.
6617         * modules/cosf (Depends-on): Likewise.
6618         * modules/coshf (Depends-on): Likewise.
6619         * modules/expf (Depends-on): Likewise.
6620         * modules/fabsf (Depends-on): Likewise.
6621         * modules/fabsl (Depends-on): Likewise.
6622         * modules/fmaf (Depends-on): Likewise.
6623         * modules/fmal (Depends-on): Likewise.
6624         * modules/fmodf (Depends-on): Likewise.
6625         * modules/fmodl (Depends-on): Likewise.
6626         * modules/frexpf (Depends-on): Likewise.
6627         * modules/frexpl (Depends-on): Likewise.
6628         * modules/hypot (Depends-on): Likewise.
6629         * modules/hypotf (Depends-on): Likewise.
6630         * modules/hypotl (Depends-on): Likewise.
6631         * modules/ldexpf (Depends-on): Likewise.
6632         * modules/ldexpl (Depends-on): Likewise.
6633         * modules/log10f (Depends-on): Likewise.
6634         * modules/log10l (Depends-on): Likewise.
6635         * modules/log1p (Depends-on): Likewise.
6636         * modules/logb (Depends-on): Likewise.
6637         * modules/logf (Depends-on): Likewise.
6638         * modules/modff (Depends-on): Likewise.
6639         * modules/modfl (Depends-on): Likewise.
6640         * modules/powf (Depends-on): Likewise.
6641         * modules/remainderf (Depends-on): Likewise.
6642         * modules/remainderl (Depends-on): Likewise.
6643         * modules/rintf (Depends-on): Likewise.
6644         * modules/rintl (Depends-on): Likewise.
6645         * modules/sinf (Depends-on): Likewise.
6646         * modules/sinhf (Depends-on): Likewise.
6647         * modules/sqrtf (Depends-on): Likewise.
6648         * modules/tanf (Depends-on): Likewise.
6649         * modules/tanhf (Depends-on): Likewise.
6650         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6651         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6652         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6653         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6654         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6655         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6656         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6657         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6658         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6659         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6660         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6661         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6662         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6663         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6664         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6665         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6666         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6667         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6668         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6669         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6670         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6671         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6672         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6673         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6674         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6675         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6676         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6677         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6678         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6679         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6680         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6681         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6682         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6683         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6684         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6685         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6686         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6687         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6688         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6689         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6690         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6691
6692 2012-03-06  Bruno Haible  <bruno@clisp.org>
6693
6694         math: Update module names in warnings.
6695         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6696         tanl): Use specific module name in warn-on-use warning.
6697
6698 2012-03-06  Bruno Haible  <bruno@clisp.org>
6699
6700         expl: Simplify computation.
6701         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6702
6703 2012-03-05  Bruno Haible  <bruno@clisp.org>
6704
6705         exp* tests: More tests.
6706         * tests/test-exp.h: New file.
6707         * tests/test-exp.c: Include <float.h> and test-exp.h.
6708         (main): Invoke test_function.
6709         * tests/test-expf.c: Include <float.h> and test-exp.h.
6710         (main): Invoke test_function.
6711         * tests/test-expl.c: Include <float.h> and test-exp.h.
6712         (main): Invoke test_function.
6713         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6714         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6715         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6716         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6717         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6718         (Depends-on): Add 'float'.
6719         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6720
6721         expl: Fix precision of computed result.
6722         * lib/expl.c: Completely rewritten.
6723         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6724         (Maintainer): Add me.
6725         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6726
6727 2012-03-05  Bruno Haible  <bruno@clisp.org>
6728
6729         cbrt* tests: More tests.
6730         * tests/test-cbrt.h: New file.
6731         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6732         (main): Invoke test_function.
6733         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6734         (main): Invoke test_function.
6735         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6736         (main): Invoke test_function.
6737         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6738         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6739         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6740         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6741         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6742         (Depends-on): Add 'float'.
6743         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6744
6745 2012-03-05  Bruno Haible  <bruno@clisp.org>
6746
6747         hypot* tests: More tests.
6748         * tests/test-hypot.h: New file, partially extracted from
6749         tests/test-hypotl.c.
6750         * tests/test-hypot.c: Include test-hypot.h.
6751         (main): Invoke test_function.
6752         * tests/test-hypotf.c: Include test-hypot.h.
6753         (main): Invoke test_function.
6754         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6755         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6756         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6757         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6758         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6759         tests/randomf.c.
6760         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6761         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6762         tests/randoml.c.
6763         (Depends-on): Add 'fpucw', 'float'.
6764         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6765
6766 2012-03-05  Bruno Haible  <bruno@clisp.org>
6767
6768         fpucw: Doc about FreeBSD.
6769         * lib/fpucw.h: Mention FreeBSD in comments.
6770
6771 2012-03-04  Bruno Haible  <bruno@clisp.org>
6772
6773         sqrt* tests: More tests.
6774         * tests/test-sqrt.h: New file.
6775         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6776         (main): Invoke test_function.
6777         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6778         (main): Invoke test_function.
6779         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6780         (main): Invoke test_function.
6781         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6782         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6783         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6784         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6785         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6786         (Depends-on): Add 'float'.
6787         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6788
6789 2012-03-04  Bruno Haible  <bruno@clisp.org>
6790
6791         remainder* tests: More tests.
6792         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6793         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6794         (main): Invoke test_function.
6795         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6796         (main): Invoke test_function.
6797         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6798         (main): Invoke test_function.
6799         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6800         tests/randomd.c.
6801         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6802         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6803         tests/randomf.c.
6804         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6805         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6806         tests/randoml.c.
6807         (Depends-on): Add 'float'.
6808         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6809
6810 2012-03-04  Bruno Haible  <bruno@clisp.org>
6811
6812         remainder, remainderf, remainderl: Fix computation for large quotients.
6813         * lib/remainder.c: Completely rewritten.
6814         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6815         USE_FLOAT.
6816         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6817         USE_LONG_DOUBLE.
6818         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6819         isnand, isinf. Remove round, fma.
6820         * modules/remainderf (Files): Add lib/remainder.c.
6821         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6822         Remove roundf, fmaf.
6823         * modules/remainderl (Files): Add lib/remainder.c.
6824         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6825         isinf. Remove roundl, fmal.
6826         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6827         REMAINDER_LIBM.
6828         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6829         REMAINDERF_LIBM.
6830         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6831         REMAINDERL_LIBM.
6832
6833 2012-03-04  Bruno Haible  <bruno@clisp.org>
6834
6835         fmod* tests: More tests.
6836         * tests/test-fmod.h (my_ldexp): New function.
6837         (test_function): Reduce amount of random numbers to test. Add tests
6838         of very large quotients x / y.
6839         * tests/test-fmod.c (MAX_EXP): New macro.
6840         * tests/test-fmodf.c (MAX_EXP): Likewise.
6841         * tests/test-fmodl.c (MAX_EXP): Likewise.
6842
6843 2012-03-04  Bruno Haible  <bruno@clisp.org>
6844
6845         fmod, fmodl: Fix computation for large quotients x / y.
6846         * lib/fmod.c: Completely rewritten.
6847         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6848         USE_LONG_DOUBLE.
6849         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6850         isnand. Remove fma.
6851         * modules/fmodl (Files): Add lib/fmod.c.
6852         (Depends-on): Add float, isfinite, signbit, fabsl,
6853         frexpl, ldexpl, isnanl. Remove fma.
6854         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6855         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6856
6857 2012-03-03  Bruno Haible  <bruno@clisp.org>
6858
6859         fmod* tests: More tests.
6860         * tests/test-fmod.h: New file.
6861         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6862         (main): Invoke test_function.
6863         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6864         (main): Invoke test_function.
6865         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6866         (main): Invoke test_function.
6867         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6868         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6869         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6870         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6871         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6872         (Depends-on): Add 'float'.
6873         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6874
6875 2012-03-03  Bruno Haible  <bruno@clisp.org>
6876
6877         rint* tests: More tests.
6878         * tests/test-rint.h: New file, partially extracted from
6879         tests/test-rintl.c.
6880         * tests/test-rint.c: Include test-rint.h.
6881         (main): Invoke test_function.
6882         * tests/test-rintf.c: Include test-rint.h.
6883         (main): Invoke test_function.
6884         * tests/test-rintl.c: Include test-rint.h.
6885         (main): Invoke test_function.
6886         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6887         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6888         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6889         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6890         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6891         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6892
6893 2012-03-03  Bruno Haible  <bruno@clisp.org>
6894
6895         modf* tests: More tests.
6896         * tests/test-modf.h: New file.
6897         * tests/test-modf.c: Include <float.h> and test-modf.h.
6898         (main): Invoke test_function.
6899         * tests/test-modff.c: Include <float.h> and test-modf.h.
6900         (main): Invoke test_function.
6901         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6902         (main): Invoke test_function.
6903         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6904         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6905         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6906         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6907         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6908         (Depends-on): Add 'float'.
6909         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6910
6911 2012-03-03  Bruno Haible  <bruno@clisp.org>
6912
6913         fabs* tests: More tests.
6914         * tests/test-fabs.h: New file, partially extracted from
6915         tests/test-fabsl.c.
6916         * tests/test-fabs.c (RANDOM): New macro.
6917         * tests/test-fabsf.c (RANDOM): New macro.
6918         * tests/test-fabsl.c (RANDOM): New macro.
6919         * modules/fabs-tests (Files): Add tests/randomd.c.
6920         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6921         * modules/fabsf-tests (Files): Add tests/randomf.c.
6922         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6923         * modules/fabsl-tests (Files): Add tests/randoml.c.
6924         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6925
6926 2012-03-03  Bruno Haible  <bruno@clisp.org>
6927
6928         ldexp* tests: More tests.
6929         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6930         * tests/test-ldexp.c (RANDOM): New macro.
6931         * tests/test-ldexpf.c (RANDOM): New macro.
6932         * tests/test-ldexpl.c (RANDOM): New macro.
6933         * modules/ldexp-tests (Files): Add tests/randomd.c.
6934         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6935         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6936         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6937         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6938         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6939
6940 2012-03-03  Bruno Haible  <bruno@clisp.org>
6941
6942         frexp* tests: More tests.
6943         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6944         * tests/test-frexp.c (RANDOM): New macro.
6945         * tests/test-frexpf.c (RANDOM): New macro.
6946         * tests/test-frexpl.c (RANDOM): New macro.
6947         * modules/frexp-tests (Files): Add tests/randomd.c.
6948         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6949         * modules/frexpf-tests (Files): Add tests/randomf.c.
6950         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6951         * modules/frexpl-tests (Files): Add tests/randoml.c.
6952         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6953
6954 2012-03-03  Bruno Haible  <bruno@clisp.org>
6955
6956         Support for pseudo-random numbers in tests.
6957         * tests/randomf.c: New file.
6958         * tests/randomd.c: New file.
6959         * tests/randoml.c: New file.
6960         * tests/macros.h (randomf, randomd, randoml): New declarations.
6961
6962 2012-03-03  Bruno Haible  <bruno@clisp.org>
6963
6964         frexp* tests: Refactor.
6965         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6966         * tests/test-frexp.c: Include and use it.
6967         * tests/test-frexpf.c: Likewise.
6968         * tests/test-frexpl.c: Likewise.
6969         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6970         * modules/frexpf-tests (Files): Likewise.
6971         * modules/frexpl-tests (Files): Likewise.
6972
6973 2012-03-02  Jim Meyering  <meyering@redhat.com>
6974
6975         maint: don't specify XZ_OPT=-9ev in dist-related rule
6976         Using xz's -9 option is warranted only if you have a very large
6977         tarball (see xz's documentation for the sizes vs. presets), and
6978         requires 64MiB of memory at decompression time.
6979         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6980         Automake's default of just "-e" is fine.  Override on a
6981         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6982
6983 2012-03-01  Eric Blake  <eblake@redhat.com>
6984
6985         maint.mk: allow announcement for non-gnulib project
6986         * maint.mk (announcement): Skip gnulib version if not used.
6987
6988 2012-03-01  Jim Meyering  <meyering@redhat.com>
6989
6990         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6991         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6992         envvar settings cannot interfere.  Otherwise, setting envvars like
6993         prohibit=foo require=bar, etc. would cause spurious test failures.
6994
6995 2012-03-01  Eric Blake  <eblake@redhat.com>
6996
6997         maint.mk: add per-line exclusions to prohibitions
6998         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6999         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
7000         (sc_const_long_option): Use it.
7001
7002 2012-03-01  Bruno Haible  <bruno@clisp.org>
7003
7004         Tests for module 'expl-ieee'.
7005         * modules/expl-ieee-tests: New file.
7006         * tests/test-expl-ieee.c: New file.
7007
7008         New module 'expl-ieee'.
7009         * modules/expl-ieee: New file.
7010
7011         Tests for module 'exp-ieee'.
7012         * modules/exp-ieee-tests: New file.
7013         * tests/test-exp-ieee.c: New file.
7014
7015         New module 'exp-ieee'.
7016         * modules/exp-ieee: New file.
7017
7018         Tests for module 'expf-ieee'.
7019         * modules/expf-ieee-tests: New file.
7020         * tests/test-expf-ieee.c: New file.
7021         * tests/test-exp-ieee.h: New file.
7022
7023         New module 'expf-ieee'.
7024         * modules/expf-ieee: New file.
7025
7026 2012-02-29  Bruno Haible  <bruno@clisp.org>
7027
7028         cbrtl-ieee: Work around test failure on IRIX 6.5.
7029         * m4/cbrtl-ieee.m4: New file.
7030         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
7031         test whether cbrtl works with a minus zero argument. Replace it if not.
7032         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
7033         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
7034         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
7035         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
7036         (Depends-on): Update conditions.
7037         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
7038         m4/signbit.m4.
7039         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
7040         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
7041         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
7042
7043         Tests for module 'cbrtl-ieee'.
7044         * modules/cbrtl-ieee-tests: New file.
7045         * tests/test-cbrtl-ieee.c: New file.
7046
7047         New module 'cbrtl-ieee'.
7048         * modules/cbrtl-ieee: New file.
7049
7050         Tests for module 'cbrt-ieee'.
7051         * modules/cbrt-ieee-tests: New file.
7052         * tests/test-cbrt-ieee.c: New file.
7053
7054         New module 'cbrt-ieee'.
7055         * modules/cbrt-ieee: New file.
7056
7057         Tests for module 'cbrtf-ieee'.
7058         * modules/cbrtf-ieee-tests: New file.
7059         * tests/test-cbrtf-ieee.c: New file.
7060         * tests/test-cbrt-ieee.h: New file.
7061
7062         New module 'cbrtf-ieee'.
7063         * modules/cbrtf-ieee: New file.
7064
7065 2012-02-29  Bruno Haible  <bruno@clisp.org>
7066
7067         cbrtf: Work around bug in IRIX 6.5 system function.
7068         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
7069         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
7070         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
7071         work.
7072         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
7073         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
7074         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
7075         (Depends-on): Update conditions.
7076         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
7077
7078 2012-02-29  Bruno Haible  <bruno@clisp.org>
7079
7080         Tests for module 'cbrtl'.
7081         * modules/cbrtl-tests: New file.
7082         * tests/test-cbrtl.c: New file.
7083
7084         New module 'cbrtl'.
7085         * lib/math.in.h (cbrtl): New declaration.
7086         * lib/cbrtl.c: New file.
7087         * m4/cbrtl.m4: New file.
7088         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
7089         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
7090         HAVE_DECL_CBRTL.
7091         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
7092         HAVE_DECL_CBRTL.
7093         * modules/cbrtl: New file.
7094         * tests/test-math-c++.cc: Check the declaration of cbrtl.
7095         * doc/posix-functions/cbrtl.texi: Mention the new module.
7096
7097 2012-02-29  Bruno Haible  <bruno@clisp.org>
7098
7099         Tests for module 'cbrtf'.
7100         * modules/cbrtf-tests: New file.
7101         * tests/test-cbrtf.c: New file.
7102
7103         New module 'cbrtf'.
7104         * lib/math.in.h (cbrtf): New declaration.
7105         * lib/cbrtf.c: New file.
7106         * m4/cbrtf.m4: New file.
7107         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
7108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
7109         HAVE_DECL_CBRTF.
7110         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
7111         HAVE_DECL_CBRTF.
7112         * modules/cbrtf: New file.
7113         * tests/test-math-c++.cc: Check the declaration of cbrtf.
7114         * doc/posix-functions/cbrtf.texi: Mention the new module.
7115
7116 2012-02-29  Bruno Haible  <bruno@clisp.org>
7117
7118         cbrt: Provide replacement on MSVC and Minix.
7119         * lib/math.in.h (cbrt): New declaration.
7120         * lib/cbrt.c: New file.
7121         * m4/cbrt.m4: New file.
7122         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
7123         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
7124         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
7125         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
7126         (Depends-on): Add dependencies.
7127         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
7128         * tests/test-math-c++.cc: Check the declaration of cbrt.
7129         * doc/posix-functions/cbrt.texi: Mention that the module provides a
7130         replacement.
7131
7132 2012-02-29  Bruno Haible  <bruno@clisp.org>
7133
7134         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
7135         * m4/hypotl-ieee.m4: New file.
7136         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
7137         test whether hypotl works with mixed NaN and Infinity arguments.
7138         Replace it if not.
7139         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
7140         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
7141         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
7142         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
7143         (Depends-on): Update conditions.
7144         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
7145         (Depends-on): Add hypot-ieee.
7146         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
7147         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
7148
7149         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
7150         * m4/hypotf-ieee.m4: New file.
7151         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
7152         test whether hypotf works with mixed NaN and Infinity arguments.
7153         Replace it if not.
7154         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
7155         (Depends-on): Add hypot-ieee.
7156         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
7157         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
7158
7159         hypot-ieee: Work around test failure on OSF/1 and native Windows.
7160         * lib/math.in.h (hypot): New declaration.
7161         * lib/hypot.c: New file.
7162         * m4/hypot-ieee.m4: New file.
7163         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
7164         whether hypot works with mixed NaN and Infinity arguments. Replace it
7165         if not.
7166         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
7167         REPLACE_HYPOT.
7168         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
7169         * modules/hypot (Files): Add lib/hypot.c.
7170         (Depends-on): Add dependencies.
7171         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
7172         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
7173         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
7174         * tests/test-math-c++.cc: Check the declaration of hypot.
7175         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
7176
7177         Tests for module 'hypotl-ieee'.
7178         * modules/hypotl-ieee-tests: New file.
7179         * tests/test-hypotl-ieee.c: New file.
7180
7181         New module 'hypotl-ieee'.
7182         * modules/hypotl-ieee: New file.
7183
7184         Tests for module 'hypot-ieee'.
7185         * modules/hypot-ieee-tests: New file.
7186         * tests/test-hypot-ieee.c: New file.
7187
7188         New module 'hypot-ieee'.
7189         * modules/hypot-ieee: New file.
7190
7191         Tests for module 'hypotf-ieee'.
7192         * modules/hypotf-ieee-tests: New file.
7193         * tests/test-hypotf-ieee.c: New file.
7194         * tests/test-hypot-ieee.h: New file.
7195
7196         New module 'hypotf-ieee'.
7197         * modules/hypotf-ieee: New file.
7198
7199 2012-02-29  Bruno Haible  <bruno@clisp.org>
7200
7201         Remove unused variables.
7202         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
7203         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
7204         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
7205         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
7206
7207 2012-02-29  Eric Blake  <eblake@redhat.com>
7208
7209         termios: fix pid_t always, not just for tcgetsid
7210         * doc/posix-headers/termios.texi (termios.h): Mention problem.
7211         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
7212         just when building tcgetsid.
7213
7214 2012-02-29  Bruno Haible  <bruno@clisp.org>
7215
7216         Tests for module 'hypotl'.
7217         * modules/hypotl-tests: New file.
7218         * tests/test-hypotl.c: New file.
7219
7220         New module 'hypotl'.
7221         * lib/math.in.h (hypotl): New declaration.
7222         * lib/hypotl.c: New file.
7223         * m4/hypotl.m4: New file.
7224         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7225         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
7226         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
7227         * modules/hypotl: New file.
7228         * tests/test-math-c++.cc: Check the hypotl declaration.
7229         * doc/posix-functions/hypotl.texi: Mention the new module.
7230
7231 2012-02-29  Eric Blake  <eblake@redhat.com>
7232
7233         tcgetsid: fix cygwin header bug
7234         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
7235
7236         docs: update cygwin progress
7237         * doc/posix-functions/llround.texi (llround): Added in cygwin
7238         1.7.8.
7239         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
7240         * doc/glibc-functions/program_invocation_name.texi
7241         (program_invocation_name): Likewise.
7242         * doc/glibc-functions/program_invocation_short_name.texi
7243         (program_invocation_short_name): Likewise.
7244         * doc/glibc-functions/madvise.texi (madvise): Likewise.
7245         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
7246         Likewise.
7247         * doc/posix-functions/pthread_spin_destroy.texi
7248         (pthread_spin_destroy): Added in cygwin 1.7.10.
7249         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
7250         Likewise.
7251         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
7252         Likewise.
7253         * doc/posix-functions/pthread_spin_trylock.texi
7254         (pthread_spin_trylock): Likewise.
7255         * doc/posix-functions/pthread_spin_unlock.texi
7256         (pthread_spin_unlock): Likewise.
7257         * doc/posix-functions/pthread_setschedprio.texi
7258         (pthread_setschedprio): Likewise.
7259         * doc/posix-functions/pthread_attr_getstack.texi
7260         (pthread_attr_getstack): Likewise.
7261         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
7262         (pthread_attr_getstackaddr): Likewise.
7263         * doc/glibc-functions/pthread_getattr_np.texi
7264         (pthread_getattr_np): Likewise.
7265         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
7266         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
7267         * doc/posix-functions/clock_settime.texi (clock_settime):
7268         Likewise.
7269         * doc/posix-functions/pthread_attr_getguardsize.texi
7270         (pthread_attr_getguardsize): Likewise.
7271         * doc/posix-functions/pthread_attr_setguardsize.texi
7272         (pthread_attr_setguardsize): Likewise.
7273         * doc/posix-functions/pthread_attr_setstack.texi
7274         (pthread_attr_setstack): Likewise.
7275         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
7276         (pthread_attr_setstackaddr): Likewise.
7277         * doc/posix-functions/clock_getcpuclockid.texi
7278         (clock_getcpuclockid): Likewise.
7279         * doc/posix-functions/pthread_getcpuclockid.texi
7280         (pthread_getcpuclockid): Likewise.
7281         * doc/glibc-functions/error.texi (error): Likewise.
7282         * doc/glibc-functions/error_at_line.texi (error_at_line):
7283         Likewise.
7284         * doc/glibc-functions/error_message_count.texi
7285         (error_message_count): Likewise.
7286         * doc/glibc-functions/error_one_per_line.texi
7287         (error_one_per_line): Likewise.
7288         * doc/glibc-functions/error_print_progname.texi
7289         (error_print_progname): Likewise.
7290         * doc/posix-functions/pthread_condattr_getclock.texi
7291         (pthread_condattr_getclock): Likewise.
7292         * doc/posix-functions/pthread_condattr_setclock.texi
7293         (pthread_condattr_setclock): Likewise.
7294         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
7295         Likewise.
7296         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
7297         * doc/glibc-functions/getpt.texi (getpt): Likewise.
7298         * doc/glibc-functions/get_current_dir_name.texi
7299         (get_current_dir_name): Likewise.
7300         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
7301         Likewise.
7302         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
7303         wrong return type.
7304         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
7305         1.7.11.
7306
7307 2012-02-29  Bruno Haible  <bruno@clisp.org>
7308
7309         Tests for module 'hypotf'.
7310         * modules/hypotf-tests: New file.
7311         * tests/test-hypotf.c: New file.
7312
7313         New module 'hypotf'.
7314         * lib/math.in.h (hypotf): New declaration.
7315         * lib/hypotf.c: New file.
7316         * m4/hypotf.m4: New file.
7317         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7318         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
7319         REPLACE_HYPOTF.
7320         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
7321         REPLACE_HYPOTF.
7322         * modules/hypotf: New file.
7323         * tests/test-math-c++.cc: Check the hypotf declaration.
7324         * doc/posix-functions/hypotf.texi: Mention the new module.
7325
7326         hypot: Prepare for hypotf module.
7327         * m4/hypot.m4: New file.
7328         * modules/hypot (Files): Add m4/hypot.m4.
7329         (configure.ac): Invoke gl_FUNC_HYPOT.
7330
7331 2012-02-29  Bruno Haible  <bruno@clisp.org>
7332
7333         hypot tests: More tests.
7334         * tests/test-hypot.c: Include <float.h>.
7335         (main): Add tests about overflow and underflow.
7336
7337 2012-02-29  Bruno Haible  <bruno@clisp.org>
7338
7339         math code: Add comments.
7340         * lib/acosl.c: Add comment about related glibc source files.
7341         * lib/asinl.c: Likewise.
7342         * lib/atanl.c: Likewise.
7343         * lib/expl.c: Likewise.
7344         * lib/logl.c: Likewise.
7345         * lib/sincosl.c: Likewise.
7346         * lib/sinl.c: Likewise.
7347         * lib/tanl.c: Likewise.
7348         * lib/trigl.c: Likewise.
7349         * lib/cosl.c: Likewise. Fix comments.
7350
7351 2012-02-28  Bruno Haible  <bruno@clisp.org>
7352
7353         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
7354         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
7355         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
7356         HUGE_VALL are defined.
7357         (numeric_equald): Renamed from numeric_equal.
7358         (numeric_equalf, numeric_equall): New functions.
7359         (main): Check also HUGE_VALF, HUGE_VALL.
7360         * modules/math-tests (Files): Add tests/macros.h.
7361         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
7362         HUGE_VALL.
7363
7364 2012-02-28  Bruno Haible  <bruno@clisp.org>
7365
7366         doc: Move ISO C11 feature notes into POSIX chapters.
7367         * doc/posix-functions/aligned_alloc.texi: Renamed from
7368         doc/glibc-functions/aligned_alloc.texi.
7369         * doc/posix-functions/quick_exit.texi: Renamed from
7370         doc/glibc-functions/quick_exit.texi.
7371         * doc/posix-headers/uchar.texi: Renamed from
7372         doc/glibc-headers/uchar.texi.
7373         * doc/posix-functions/c16rtomb.texi: Renamed from
7374         doc/glibc-functions/c16rtomb.texi.
7375         * doc/posix-functions/c32rtomb.texi: Renamed from
7376         doc/glibc-functions/c32rtomb.texi.
7377         * doc/posix-functions/mbrtoc16.texi: Renamed from
7378         doc/glibc-functions/mbrtoc16.texi.
7379         * doc/posix-functions/mbrtoc32.texi: Renamed from
7380         doc/glibc-functions/mbrtoc32.texi.
7381         * doc/gnulib.texi: Update.
7382         (Glibc uchar.h): Remove section.
7383         Suggested by Eric Blake.
7384
7385 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
7386
7387         stdnoreturn: port to MSVC better
7388         MSVC standard headers use __declspec(noreturn), so #define noreturn
7389         to empty on that platform.  Reported by Bruno Haible in
7390         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
7391         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
7392         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
7393
7394 2012-02-28  Bruno Haible  <bruno@clisp.org>
7395
7396         doc: Mention new glibc headers and functions.
7397         * doc/glibc-headers/uchar.texi: New file.
7398         * doc/glibc-functions/aligned_alloc.texi: New file.
7399         * doc/glibc-functions/c16rtomb.texi: New file.
7400         * doc/glibc-functions/c32rtomb.texi: New file.
7401         * doc/glibc-functions/clock_adjtime.texi: New file.
7402         * doc/glibc-functions/fanotify_init.texi: New file.
7403         * doc/glibc-functions/fanotify_mark.texi: New file.
7404         * doc/glibc-functions/inet6_opt_append.texi: New file.
7405         * doc/glibc-functions/inet6_opt_find.texi: New file.
7406         * doc/glibc-functions/inet6_opt_finish.texi: New file.
7407         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
7408         * doc/glibc-functions/inet6_opt_init.texi: New file.
7409         * doc/glibc-functions/inet6_opt_next.texi: New file.
7410         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
7411         * doc/glibc-functions/inet6_rth_add.texi: New file.
7412         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
7413         * doc/glibc-functions/inet6_rth_init.texi: New file.
7414         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
7415         * doc/glibc-functions/inet6_rth_segments.texi: New file.
7416         * doc/glibc-functions/inet6_rth_space.texi: New file.
7417         * doc/glibc-functions/login.texi: New file.
7418         * doc/glibc-functions/mbrtoc16.texi: New file.
7419         * doc/glibc-functions/mbrtoc32.texi: New file.
7420         * doc/glibc-functions/name_to_handle_at.texi: New file.
7421         * doc/glibc-functions/ntp_gettimex.texi: New file.
7422         * doc/glibc-functions/open_by_handle_at.texi: New file.
7423         * doc/glibc-functions/prlimit.texi: New file.
7424         * doc/glibc-functions/process_vm_readv.texi: New file.
7425         * doc/glibc-functions/process_vm_writev.texi: New file.
7426         * doc/glibc-functions/recvmmsg.texi: New file.
7427         * doc/glibc-functions/scandirat.texi: New file.
7428         * doc/glibc-functions/sendmmsg.texi: New file.
7429         * doc/glibc-functions/setns.texi: New file.
7430         * doc/glibc-functions/timespec_get.texi: New file.
7431         * doc/gnulib.texi: Include them.
7432         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
7433         sections.
7434         Reported by Eric Blake.
7435
7436 2012-02-28  Bruno Haible  <bruno@clisp.org>
7437
7438         Avoid compilation errors with MSVC option -fp:strict.
7439         * lib/floor.c: Use MSVC specific pragma fenv_access.
7440         * lib/ceil.c: Likewise.
7441         * lib/trunc.c: Likewise.
7442         * lib/round.c: Likewise.
7443         * lib/rint.c: Likewise.
7444         * lib/fma.c: Likewise.
7445         * lib/integer_length.c: Likewise.
7446         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7447         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7448         * tests/test-floor2.c: Likewise.
7449         * tests/test-floorf2.c: Likewise.
7450         * tests/test-ceil2.c: Likewise.
7451         * tests/test-ceilf2.c: Likewise.
7452         * tests/test-trunc2.c: Likewise.
7453         * tests/test-truncf2.c: Likewise.
7454         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7455
7456 2012-02-27  Bruno Haible  <bruno@clisp.org>
7457
7458         Tests for module 'sqrtl-ieee'.
7459         * modules/sqrtl-ieee-tests: New file.
7460         * tests/test-sqrtl-ieee.c: New file.
7461
7462         New module 'sqrtl-ieee'.
7463         * modules/sqrtl-ieee: New file.
7464
7465         Tests for module 'sqrt-ieee'.
7466         * modules/sqrt-ieee-tests: New file.
7467         * tests/test-sqrt-ieee.c: New file.
7468
7469         New module 'sqrt-ieee'.
7470         * modules/sqrt-ieee: New file.
7471
7472         Tests for module 'sqrtf-ieee'.
7473         * modules/sqrtf-ieee-tests: New file.
7474         * tests/test-sqrtf-ieee.c: New file.
7475         * tests/test-sqrt-ieee.h: New file.
7476
7477         New module 'sqrtf-ieee'.
7478         * modules/sqrtf-ieee: New file.
7479
7480 2012-02-27  Bruno Haible  <bruno@clisp.org>
7481
7482         remainderl-ieee: Work around test failure on OSF/1.
7483         * m4/remainderl-ieee.m4: New file.
7484         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7485         present, test whether remainderl works with a zero second argument.
7486         Replace it if not.
7487         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7489         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7490         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7491         (Depends-on): Update conditions.
7492         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7493         (Depends-on): Add remainder-ieee.
7494         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7495         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7496         module.
7497
7498         remainderf-ieee: Work around test failure on OSF/1.
7499         * m4/remainderf-ieee.m4: New file.
7500         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7501         present, test whether remainderf works with a zero second argument.
7502         Replace it if not.
7503         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7504         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7505         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7506         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7507         (Depends-on): Update conditions.
7508         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7509         (Depends-on): Add remainder-ieee.
7510         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7511         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7512         module.
7513
7514         remainder-ieee: Work around test failure on OSF/1.
7515         * m4/remainder-ieee.m4: New file.
7516         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7517         present, test whether remainder works with a zero second argument.
7518         Replace it if not.
7519         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7520         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7521         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7522         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7523         (Depends-on): Update dependencies.
7524         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7525         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7526         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7527
7528         Tests for module 'remainderl-ieee'.
7529         * modules/remainderl-ieee-tests: New file.
7530         * tests/test-remainderl-ieee.c: New file.
7531
7532         New module 'remainderl-ieee'.
7533         * modules/remainderl-ieee: New file.
7534
7535         Tests for module 'remainder-ieee'.
7536         * modules/remainder-ieee-tests: New file.
7537         * tests/test-remainder-ieee.c: New file.
7538
7539         New module 'remainder-ieee'.
7540         * modules/remainder-ieee: New file.
7541
7542         Tests for module 'remainderf-ieee'.
7543         * modules/remainderf-ieee-tests: New file.
7544         * tests/test-remainderf-ieee.c: New file.
7545         * tests/test-remainder-ieee.h: New file.
7546
7547         New module 'remainderf-ieee'.
7548         * modules/remainderf-ieee: New file.
7549
7550 2012-02-27  Bruno Haible  <bruno@clisp.org>
7551
7552         modff, modfl: Fix configure syntax error.
7553         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7554         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7555
7556 2012-02-27  Bruno Haible  <bruno@clisp.org>
7557
7558         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7559         * m4/fmodl-ieee.m4: New file.
7560         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7561         whether fmodl works with zero arguments. Replace it if not.
7562         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7563         (Depends-on): Add fmod-ieee.
7564         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7565         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7566
7567         fmodf-ieee: Work around test failure on OSF/1.
7568         * m4/fmodf-ieee.m4: New file.
7569         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7570         whether fmodf works with zero arguments. Replace it if not.
7571         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7572         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7573         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7574         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7575         (Depends-on): Update dependencies.
7576         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7577         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7578         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7579
7580         fmodf-ieee: Work around test failure on MSVC 9.
7581         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7582         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7583
7584         fmod-ieee: Work around test failures on OSF/1, mingw.
7585         * m4/fmod-ieee.m4: New file.
7586         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7587         whether fmod works with zero arguments. Replace it if not.
7588         * lib/math.in.h (fmod): New declaration.
7589         * lib/fmod.c: New file.
7590         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7591         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7592         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7593         * modules/fmod (Files): Add lib/fmod.c.
7594         (Depends-on): Add math, isinf, trunc, fma.
7595         (configure.ac): Arrange to compile lib/fmod.c if needed.
7596         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7597         m4/signbit.m4.
7598         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7599         * tests/test-math-c++.cc: Check the declaration of fmod.
7600         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7601
7602         fmodl-ieee: Fix test failures.
7603         * lib/fmodl.c (fmodl): Treat Inf specially.
7604         * modules/fmodl (Depends-on): Add isinf.
7605
7606         Tests for module 'fmodl-ieee'.
7607         * modules/fmodl-ieee-tests: New file.
7608         * tests/test-fmodl-ieee.c: New file.
7609
7610         New module 'fmodl-ieee'.
7611         * modules/fmodl-ieee: New file.
7612
7613         Tests for module 'fmod-ieee'.
7614         * modules/fmod-ieee-tests: New file.
7615         * tests/test-fmod-ieee.c: New file.
7616
7617         New module 'fmod-ieee'.
7618         * modules/fmod-ieee: New file.
7619
7620         Tests for module 'fmodf-ieee'.
7621         * modules/fmodf-ieee-tests: New file.
7622         * tests/test-fmodf-ieee.c: New file.
7623         * tests/test-fmod-ieee.h: New file.
7624
7625         New module 'fmodf-ieee'.
7626         * modules/fmodf-ieee: New file.
7627
7628 2012-02-27  Bruno Haible  <bruno@clisp.org>
7629
7630         Tests for module 'rintl-ieee'.
7631         * modules/rintl-ieee-tests: New file.
7632         * tests/test-rintl-ieee.c: New file.
7633
7634         New module 'rintl-ieee'.
7635         * modules/rintl-ieee: New file.
7636
7637         Tests for module 'rint-ieee'.
7638         * modules/rint-ieee-tests: New file.
7639         * tests/test-rint-ieee.c: New file.
7640
7641         New module 'rint-ieee'.
7642         * modules/rint-ieee: New file.
7643
7644         Tests for module 'rintf-ieee'.
7645         * modules/rintf-ieee-tests: New file.
7646         * tests/test-rintf-ieee.c: New file.
7647         * tests/test-rint-ieee.h: New file.
7648
7649         New module 'rintf-ieee'.
7650         * modules/rintf-ieee: New file.
7651
7652 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7653
7654         regex: re_search etc. should return -2 when memory exhausted
7655         This bug was uncovered when testing 'grep'.  Without the fix,
7656         re_search and friends return -1 when memory is exhausted, but -1
7657         means no match, and this causes grep to falsely report no-match
7658         instead of memory-exhaustion.  See
7659         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7660         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7661         trouble; this can occur if re_search_internal ran out of memory.
7662
7663 2012-02-26  Bruno Haible  <bruno@clisp.org>
7664
7665         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7666         * m4/modfl-ieee.m4: New file.
7667         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7668         whether modfl works with Inf. Replace it if not.
7669         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7670         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7671         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7672         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7673         (Depends-on): Update dependencies.
7674         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7675         m4/signbit.m4.
7676         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7677         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7678
7679         modfl-ieee: Fix dependencies.
7680         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7681
7682         modfl-ieee: Fix test failures.
7683         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7684         * modules/modfl (Depends-on): Add isfinite, isinf.
7685
7686         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7687         * m4/modff-ieee.m4: New file.
7688         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7689         whether modff works with NaN and Inf. Replace it if not.
7690         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7691         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7692         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7693         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7694         (Depends-on): Update dependencies.
7695         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7696         m4/signbit.m4.
7697         (Depends-on): Add modf-ieee.
7698         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7699         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7700
7701         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7702         * m4/modf-ieee.m4: New file.
7703         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7704         whether modf works with NaN and Inf. Replace it if not.
7705         * lib/math.in.h (modf): New declaration.
7706         * lib/modf.c: New file.
7707         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7708         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7709         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7710         * modules/modf (Files): Add lib/modf.c.
7711         (Depends-on): Add math, isfinite, trunc, isinf.
7712         (configure.ac): Addrange to compile lib/modf.c if needed.
7713         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7714         m4/signbit.m4.
7715         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7716         * tests/test-math-c++.cc: Check the declaration of modf.
7717         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7718
7719         Tests for module 'modfl-ieee'.
7720         * modules/modfl-ieee-tests: New file.
7721         * tests/test-modfl-ieee.c: New file.
7722
7723         New module 'modfl-ieee'.
7724         * modules/modfl-ieee: New file.
7725
7726         Tests for module 'modf-ieee'.
7727         * modules/modf-ieee-tests: New file.
7728         * tests/test-modf-ieee.c: New file.
7729
7730         New module 'modf-ieee'.
7731         * modules/modf-ieee: New file.
7732
7733         Tests for module 'modff-ieee'.
7734         * modules/modff-ieee-tests: New file.
7735         * tests/test-modff-ieee.c: New file.
7736         * tests/test-modf-ieee.h: New file.
7737
7738         New module 'modff-ieee'.
7739         * modules/modff-ieee: New file.
7740
7741 2012-02-26  Bruno Haible  <bruno@clisp.org>
7742
7743         Tests for module 'fabsl-ieee'.
7744         * modules/fabsl-ieee-tests: New file.
7745         * tests/test-fabsl-ieee.c: New file.
7746
7747         New module 'fabsl-ieee'.
7748         * modules/fabsl-ieee: New file.
7749
7750         Tests for module 'fabs-ieee'.
7751         * modules/fabs-ieee-tests: New file.
7752         * tests/test-fabs-ieee.c: New file.
7753
7754         New module 'fabs-ieee'.
7755         * modules/fabs-ieee: New file.
7756
7757         Tests for module 'fabsf-ieee'.
7758         * modules/fabsf-ieee-tests: New file.
7759         * tests/test-fabsf-ieee.c: New file.
7760         * tests/test-fabs-ieee.h: New file.
7761
7762         New module 'fabsf-ieee'.
7763         * modules/fabsf-ieee: New file.
7764
7765 2012-02-26  Bruno Haible  <bruno@clisp.org>
7766
7767         Tests for module 'fmal-ieee'.
7768         * modules/fmal-ieee-tests: New file.
7769         * tests/test-fmal-ieee.c: New file.
7770
7771         New module 'fmal-ieee'.
7772         * modules/fmal-ieee: New file.
7773
7774         Tests for module 'fma-ieee'.
7775         * modules/fma-ieee-tests: New file.
7776         * tests/test-fma-ieee.c: New file.
7777
7778         New module 'fma-ieee'.
7779         * modules/fma-ieee: New file.
7780
7781         Tests for module 'fmaf-ieee'.
7782         * modules/fmaf-ieee-tests: New file.
7783         * tests/test-fmaf-ieee.c: New file.
7784         * tests/test-fma-ieee.h: New file.
7785
7786         New module 'fmaf-ieee'.
7787         * modules/fmaf-ieee: New file.
7788
7789 2012-02-26  Bruno Haible  <bruno@clisp.org>
7790
7791         Tests for module 'ldexpl-ieee'.
7792         * modules/ldexpl-ieee-tests: New file.
7793         * tests/test-ldexpl-ieee.c: New file.
7794
7795         New module 'ldexpl-ieee'.
7796         * modules/ldexpl-ieee: New file.
7797
7798         Tests for module 'ldexp-ieee'.
7799         * modules/ldexp-ieee-tests: New file.
7800         * tests/test-ldexp-ieee.c: New file.
7801
7802         New module 'ldexp-ieee'.
7803         * modules/ldexp-ieee: New file.
7804
7805         Tests for module 'ldexpf-ieee'.
7806         * modules/ldexpf-ieee-tests: New file.
7807         * tests/test-ldexpf-ieee.c: New file.
7808         * tests/test-ldexp-ieee.h: New file.
7809
7810         New module 'ldexpf-ieee'.
7811         * modules/ldexpf-ieee: New file.
7812
7813 2012-02-26  Bruno Haible  <bruno@clisp.org>
7814
7815         Refactor frexp*-ieee tests.
7816         * tests/test-frexp-ieee.h: New file.
7817         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7818         (main): Just call test_function.
7819         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7820         (main): Just call test_function.
7821         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7822         (main): Just call test_function.
7823         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7824         * modules/frexp-ieee-tests (Files): Likewise.
7825         * modules/frexpl-ieee-tests (Files): Likewise.
7826
7827         Tests for module 'frexpl-ieee'.
7828         * modules/frexpl-ieee-tests: New file.
7829         * tests/test-frexpl-ieee.c: New file.
7830
7831         New module 'frexpl-ieee'.
7832         * modules/frexpl-ieee: New file.
7833
7834         Tests for module 'frexp-ieee'.
7835         * modules/frexp-ieee-tests: New file.
7836         * tests/test-frexp-ieee.c: New file.
7837
7838         New module 'frexp-ieee'.
7839         * modules/frexp-ieee: New file.
7840
7841         Tests for module 'frexpf-ieee'.
7842         * modules/frexpf-ieee-tests: New file.
7843         * tests/test-frexpf-ieee.c: New file.
7844
7845         New module 'frexpf-ieee'.
7846         * modules/frexpf-ieee: New file.
7847
7848 2012-02-26  Bruno Haible  <bruno@clisp.org>
7849
7850         roundl-ieee tests: More tests.
7851         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7852         (main): Add tests for [MX] shaded specification in POSIX.
7853         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7854         (Depends-on): Add isnanl-nolibm.
7855
7856         round-ieee tests: More tests.
7857         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7858         (main): Add tests for [MX] shaded specification in POSIX.
7859         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7860         (Depends-on): Add isnand-nolibm.
7861
7862         roundf-ieee tests: More tests.
7863         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7864         (main): Add tests for [MX] shaded specification in POSIX.
7865         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7866         (Depends-on): Add isnanf-nolibm.
7867
7868         truncl-ieee tests: More tests.
7869         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7870         (main): Add tests for [MX] shaded specification in POSIX.
7871         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7872         (Depends-on): Add isnanl-nolibm.
7873
7874         trunc-ieee tests: More tests.
7875         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7876         (main): Add tests for [MX] shaded specification in POSIX.
7877         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7878         (Depends-on): Add isnand-nolibm.
7879
7880         truncf-ieee tests: More tests.
7881         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7882         (main): Add tests for [MX] shaded specification in POSIX.
7883         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7884         (Depends-on): Add isnanf-nolibm.
7885
7886         ceill-ieee tests: More tests.
7887         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7888         (main): Add tests for [MX] shaded specification in POSIX.
7889         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7890         (Depends-on): Add isnanl-nolibm.
7891
7892         ceil-ieee tests: More tests.
7893         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7894         (main): Add tests for [MX] shaded specification in POSIX.
7895         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7896         (Depends-on): Add isnand-nolibm.
7897
7898         ceilf-ieee tests: More tests.
7899         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7900         (main): Add tests for [MX] shaded specification in POSIX.
7901         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7902         (Depends-on): Add isnanf-nolibm.
7903
7904         floorl-ieee tests: More tests.
7905         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7906         (main): Add tests for [MX] shaded specification in POSIX.
7907         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7908         (Depends-on): Add isnanl-nolibm.
7909
7910         floor-ieee tests: More tests.
7911         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7912         (main): Add tests for [MX] shaded specification in POSIX.
7913         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7914         (Depends-on): Add isnand-nolibm.
7915
7916         floorf-ieee tests: More tests.
7917         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7918         (main): Add tests for [MX] shaded specification in POSIX.
7919         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7920         (Depends-on): Add isnanf-nolibm.
7921
7922 2012-02-26  Bruno Haible  <bruno@clisp.org>
7923
7924         fpieee: More comments.
7925         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7926
7927 2012-02-25  Bruno Haible  <bruno@clisp.org>
7928
7929         Tests for module 'log10l'.
7930         * modules/log10l-tests: New file.
7931         * tests/test-log10l.c: New file.
7932         * tests/test-math-c++.cc: Check the declaration of log10l.
7933
7934         New module 'log10l'.
7935         * lib/math.in.h (log10l): New declaration.
7936         * lib/log10l.c: New file.
7937         * m4/log10l.m4: New file.
7938         * modules/log10l: New file.
7939         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7940         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7941         HAVE_DECL_LOG10L.
7942         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7943         HAVE_DECL_LOG10L.
7944         * doc/posix-functions/log10l.texi: Mention the new module.
7945
7946 2012-02-25  Bruno Haible  <bruno@clisp.org>
7947
7948         fmodl, remainder*: Avoid wrong results due to rounding errors.
7949         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7950         expected bounds.
7951         * lib/remainderf.c (remainderf): Likewise.
7952         * lib/remainder.c (remainder): Likewise.
7953         * lib/remainderl.c (remainderl): Likewise.
7954
7955 2012-02-25  Bruno Haible  <bruno@clisp.org>
7956
7957         Tests for module 'remainderl'.
7958         * modules/remainderl-tests: New file.
7959         * tests/test-remainderl.c: New file.
7960         * tests/test-math-c++.cc: Check the declaration of remainderl.
7961
7962         New module 'remainderl'.
7963         * lib/math.in.h (remainderl): New declaration.
7964         * lib/remainderl.c: New file.
7965         * m4/remainderl.m4: New file.
7966         * modules/remainderl: New file.
7967         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7968         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7969         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7970         HAVE_REMAINDERL.
7971         * doc/posix-functions/remainderl.texi: Mention the new module.
7972
7973 2012-02-25  Bruno Haible  <bruno@clisp.org>
7974
7975         Tests for module 'remainderf'.
7976         * modules/remainderf-tests: New file.
7977         * tests/test-remainderf.c: New file.
7978         * tests/test-math-c++.cc: Check the declaration of remainderf.
7979
7980         New module 'remainderf'.
7981         * lib/math.in.h (remainderf): New declaration.
7982         * lib/remainderf.c: New file.
7983         * m4/remainderf.m4: New file.
7984         * modules/remainderf: New file.
7985         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7987         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7988         HAVE_REMAINDERF.
7989         * doc/posix-functions/remainderf.texi: Mention the new module.
7990
7991 2012-02-25  Bruno Haible  <bruno@clisp.org>
7992
7993         remainder: Support for MSVC.
7994         * lib/math.in.h (remainder): New declaration.
7995         * lib/remainder.c: New file.
7996         * m4/remainder.m4: New file.
7997         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7998         (Depends-on): Add math, round, fma.
7999         (configure.ac): Use results of gl_FUNC_REMAINDER.
8000         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
8001         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
8002         HAVE_DECL_REMAINDER.
8003         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
8004         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
8005         * tests/test-math-c++.cc: Check the declaration of remainder.
8006         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
8007         problems are fixed.
8008
8009 2012-02-25  Bruno Haible  <bruno@clisp.org>
8010
8011         Tests for module 'fmodl'.
8012         * modules/fmodl-tests: New file.
8013         * tests/test-fmodl.c: New file.
8014         * tests/test-math-c++.cc: Check the declaration of fmodl.
8015
8016         New module 'fmodl'.
8017         * lib/math.in.h (fmodl): New declaration.
8018         * lib/fmodl.c: New file.
8019         * m4/fmodl.m4: New file.
8020         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
8021         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
8022         REPLACE_FMODL.
8023         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
8024         REPLACE_FMODL.
8025         * modules/fmodl: New file.
8026         * doc/posix-functions/fmodl.texi: Mention the new module.
8027
8028 2012-02-25  Bruno Haible  <bruno@clisp.org>
8029
8030         Tests for module 'modfl'.
8031         * modules/modfl-tests: New file.
8032         * tests/test-modfl.c: New file.
8033         * tests/test-math-c++.cc: Check the declaration of modfl.
8034
8035         New module 'modfl'.
8036         * lib/math.in.h (modfl): New declaration.
8037         * lib/modfl.c: New file.
8038         * m4/modfl.m4: New file.
8039         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
8040         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
8041         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
8042         * modules/modfl: New file.
8043         * doc/posix-functions/modfl.texi: Mention the new module.
8044
8045 2012-02-25  Bruno Haible  <bruno@clisp.org>
8046
8047         Tests for module 'fabsl'.
8048         * modules/fabsl-tests: New file.
8049         * tests/test-fabsl.c: New file.
8050         * tests/test-math-c++.cc: Check the declaration of fabsl.
8051
8052         New module 'fabsl'.
8053         * lib/math.in.h (fabsl): New declaration.
8054         * lib/fabsl.c: New file.
8055         * m4/fabsl.m4: New file.
8056         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
8057         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
8058         REPLACE_FABSL.
8059         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
8060         REPLACE_FABSL.
8061         * modules/fabsl: New file.
8062         * doc/posix-functions/fabsl.texi: Mention the new module.
8063
8064 2012-02-25  Bruno Haible  <bruno@clisp.org>
8065
8066         fabs tests: More tests.
8067         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
8068         (zero): New variable.
8069         (main): Add tests for signed zero.
8070         * modules/fabs-tests (Files): Add tests/minus-zero.h.
8071
8072         fabsf tests: More tests.
8073         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
8074         (zero): New variable.
8075         (main): Add tests for signed zero.
8076         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
8077
8078 2012-02-24  Bruno Haible  <bruno@clisp.org>
8079
8080         atanl: Provide function definition on MSVC.
8081         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
8082         function pointer.
8083         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
8084
8085 2012-02-24  Bruno Haible  <bruno@clisp.org>
8086
8087         acosl: Provide function definition on MSVC.
8088         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
8089         function pointer.
8090         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
8091
8092 2012-02-24  Bruno Haible  <bruno@clisp.org>
8093
8094         asinl: Provide function definition on MSVC.
8095         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
8096         function pointer.
8097         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
8098
8099 2012-02-24  Bruno Haible  <bruno@clisp.org>
8100
8101         tanl: Provide function definition on MSVC.
8102         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
8103         function pointer.
8104         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
8105
8106 2012-02-24  Bruno Haible  <bruno@clisp.org>
8107
8108         cosl: Provide function definition on MSVC.
8109         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
8110         function pointer.
8111         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
8112
8113 2012-02-24  Bruno Haible  <bruno@clisp.org>
8114
8115         sinl: Provide function definition on MSVC.
8116         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
8117         function pointer.
8118         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
8119
8120 2012-02-24  Bruno Haible  <bruno@clisp.org>
8121
8122         logl: Provide function definition on MSVC.
8123         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
8124         function pointer.
8125         * lib/math.in.h (logl): Undefine if it does not exist as a function.
8126
8127 2012-02-24  Bruno Haible  <bruno@clisp.org>
8128
8129         expl: Provide function definition on MSVC.
8130         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
8131         function pointer.
8132         * lib/math.in.h (expl): Undefine if it does not exist as a function.
8133
8134 2012-02-24  Bruno Haible  <bruno@clisp.org>
8135
8136         sqrtl: Provide function definition on MSVC.
8137         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
8138         a function pointer.
8139         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
8140
8141 2012-02-24  Bruno Haible  <bruno@clisp.org>
8142
8143         ceill: Provide function definition on MSVC.
8144         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
8145         used as a function pointer.
8146         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
8147
8148 2012-02-24  Bruno Haible  <bruno@clisp.org>
8149
8150         floorl: Provide function definition on MSVC.
8151         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
8152         used as a function pointer.
8153         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
8154
8155 2012-02-24  Bruno Haible  <bruno@clisp.org>
8156
8157         ceilf: Provide function definition on MSVC.
8158         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
8159         used as a function pointer.
8160         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
8161
8162 2012-02-24  Bruno Haible  <bruno@clisp.org>
8163
8164         floorf: Provide function definition on MSVC.
8165         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
8166         used as a function pointer.
8167         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
8168
8169 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8170
8171         stdnoreturn: new module
8172         This implements a replacement for C11's <stdnoreturn.h>.
8173         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
8174         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
8175         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8176         * tests/test-stdnoreturn.c: New files.
8177
8178 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
8179
8180         regex: fix false multibyte matches in some regular expressions
8181         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
8182         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
8183         * lib/regex_internal.c (re_string_skip_chars):
8184         Fix miscomputation of remain_len that may cause incomplete
8185         multi-byte character and false match.
8186
8187 2012-02-24  Jim Meyering  <meyering@redhat.com>
8188
8189         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
8190         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
8191         uses with "==" *before* the call, e.g., 0 == strcmp (...)
8192         Remove now-unnecessary str''cmp obfuscation.
8193         Suggested by Akim Demaille.
8194
8195 2012-02-24  Bruno Haible  <bruno@clisp.org>
8196
8197         streq: Rename macro.
8198         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
8199         * NEWS: Mention the change.
8200         * lib/mbrtowc.c (mbrtowc): Update.
8201         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
8202         * lib/wcwidth.c (wcwidth): Update.
8203         Suggested by Akim Demaille and Jim Meyering.
8204
8205 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8206
8207         regex: fix typo in definition of MIN
8208         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
8209         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
8210
8211 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8212             Bruno Haible  <bruno@clisp.org>
8213
8214         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
8215         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
8216         entries into a stack-allocated buffer directly.
8217         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
8218
8219 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8220             Bruno Haible  <bruno@clisp.org>
8221
8222         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
8223
8224          - There were several instances of this pattern:
8225
8226              for (;;) {
8227                n = acl (f, GETACLCNT, 0, NULL);
8228                [ allocate an array A of size N ]
8229                if (acl (f, GETACL, n, a) == n)
8230                  break;
8231              }
8232
8233            This loop might never terminate if some other process is constantly
8234            manipulating the file's ACL.  The loop should be rewritten to
8235            terminate.
8236
8237          - The acl (... GETACLNT ...) call is merely an optimization; its value
8238            is merely a hint as to how big to make the array.  A better
8239            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
8240            and just guess a reasonably-big size, growing the size and trying
8241            again if it's not large enough.  This guarantees termination, and
8242            saves a system call.
8243
8244         * lib/acl-internal.h: Include <limits.h>.
8245         (MIN, SIZE_MAX): New macros.
8246         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
8247         a stack-allocated buffer, and use malloc if it does not fit. Don't
8248         use GETACLCNT.
8249         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8250
8251 2012-02-19  Bruno Haible  <bruno@clisp.org>
8252
8253         acl: Fix endless loop on Solaris with vxfs.
8254         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
8255         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
8256         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8257         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
8258         * tests/test-sameacls.c (main)[Solaris]: Likewise.
8259         Reported by Bill Jones in
8260         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
8261
8262 2012-02-19  Bruno Haible  <bruno@clisp.org>
8263
8264         acl: Fix copy-acl test failure on Solaris 11 2011-11.
8265         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
8266         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
8267         that this function returns 0 in some more cases.
8268
8269 2012-02-19  Bruno Haible  <bruno@clisp.org>
8270
8271         acl: Update doc references.
8272         * doc/acl-resources.txt: Update links to Solaris documentation.
8273
8274 2012-02-19  Bruno Haible  <bruno@clisp.org>
8275
8276         Fix test failure in many locales on Solaris 11.
8277         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
8278         'tr' arguments.
8279         * tests/test-pipe-filter-ii1.c (main): Likewise.
8280         * build-aux/bootstrap (check_versions): Run 'tr' command with range
8281         expressions in the C locale.
8282         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8283         * m4/host-os.m4 (gl_HOST_OS): Likewise.
8284
8285 2012-02-19  Bruno Haible  <bruno@clisp.org>
8286
8287         gnulib-tool: Improve usage message.
8288         * gnulib-tool (func_usage): Move doc of --help and --version to the
8289         section "Operation modes".
8290
8291 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
8292
8293         README-release: make it easier to execute commands
8294         * top/README-release: break commands out on to separate lines.
8295
8296 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8297
8298         GNUmakefile: simplify detection of unconfigured trees
8299         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
8300         whether the tree make is being run from is already configured or
8301         not.  Related simplifications.
8302
8303 2012-02-13  Simon Josefsson  <simon@josefsson.org>
8304
8305         * gnulib-tool (func_usage): Document --help and --version.
8306
8307 2012-02-11  Jim Meyering  <meyering@redhat.com>
8308
8309         bootstrap: don't exit 0 upon gnulib-tool failure
8310         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
8311         its exit status, not 0.
8312
8313 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
8314
8315         README-release: various improvements
8316         * top/README-release: Give a command to push changes for the
8317         release.  Add "distcheck" to list of other pre-release checks.
8318         Fix instance of "make stable" which should be "make TYPE".
8319
8320 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8321
8322         maint: replace FSF snail-mail addresses with URLs
8323         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
8324         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
8325         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
8326         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
8327         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
8328         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
8329         * lib/check-version.c, lib/check-version.h, lib/config.charset:
8330         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
8331         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
8332         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
8333         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
8334         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
8335         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
8336         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
8337         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
8338         * lib/glthread/thread.c, lib/glthread/thread.h:
8339         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
8340         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
8341         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
8342         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
8343         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
8344         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
8345         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
8346         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
8347         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
8348         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
8349         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
8350         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
8351         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
8352         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
8353         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
8354         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
8355         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
8356         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
8357         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
8358         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
8359         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
8360         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
8361         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
8362         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
8363         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
8364         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
8365         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
8366         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
8367         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
8368         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
8369         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
8370         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
8371         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
8372         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
8373         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
8374         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
8375         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
8376         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
8377         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
8378         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
8379         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
8380         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
8381         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
8382         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
8383         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
8384         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
8385         * tests/test-poll.c, tests/test-quotearg-simple.c:
8386         * tests/test-quotearg.c, tests/test-quotearg.h:
8387         * tests/test-round-ieee.c, tests/test-round1.c:
8388         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
8389         * tests/test-roundl-ieee.c, tests/test-roundl.c:
8390         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
8391         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
8392         * tests/test-strerror.c, tests/test-strerror_r.c:
8393         * tests/test-strsignal.c, tests/test-strverscmp.c:
8394         * tests/test-xmemdup0.c:
8395         Replace FSF snail mail addresses with URLs, as per GNU coding
8396         standards.  See glibc bug
8397         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
8398
8399 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8400
8401         README-release: capitalize a word and split a line
8402         * top/README-release: Fix punctuation and spacing.
8403
8404 2012-02-08  Akim Demaille  <demaille@gostai.com>
8405
8406         fatal-signal: use C prototypes (with explicit void).
8407         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
8408         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
8409
8410 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8411
8412         regex: spelling fix
8413         * lib/regexec.c: spelling fix
8414
8415         regex: rely on stdint.h for SIZE_MAX
8416         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
8417
8418 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8419
8420         regex: merge glibc changes
8421
8422         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
8423         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
8424         (init_word_char): Work even if bitset words are not exactly 32 or
8425         64 bits wide.  Don't assume there are no padding bits.
8426         * lib/regex.c [_LIBC]: Do not include <config.h>.
8427         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
8428         and -Wtype-limits.
8429         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
8430         needless disagreement with glibc.  All uses changed.  Define it to
8431         1 only if _GNU_SOURCE, to match glibc.
8432         (_REG_RM_NAME): Remove; no longer needed, since the names in
8433         question are now all protected by __USE_GNU.
8434         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
8435         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
8436         * lib/regex_internal.h (MIN): New macro.
8437
8438         2012-01-03 Ulrich Drepper <drepper@gmail.com>
8439         * lib/regcomp.c (init_word_char): Optimize regex a bit.
8440
8441         2011-12-30 Jakub Jelinek <jakub@redhat.com>
8442         * lib/regex_internal.c (re_string_fetch_byte_case):
8443         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
8444         is miscompiled, and it turns out it is because of an incorrect
8445         attribute on re_string_fetch_byte_case.  Unlike
8446         re_string_peek_byte_case, this one is really not pure, it modifies
8447         memory (increments pstr->cur_idx), and with the pure attribute GCC
8448         assumed it doesn't and it cached the presumed value of
8449         regexp->cur_idx in a variable across the
8450          for (;; ++i)
8451            {
8452              if (i >= BRACKET_NAME_BUF_SIZE)
8453                return REG_EBRACK;
8454              if (token->type == OP_OPEN_CHAR_CLASS)
8455                ch = re_string_fetch_byte_case (regexp);
8456              else
8457                ch = re_string_fetch_byte (regexp);
8458              if (re_string_eoi(regexp))
8459                return REG_EBRACK;
8460              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8461                break;
8462              elem->opr.name[i] = ch;
8463            }
8464
8465         2011-11-29 Andreas Schwab <schwab@redhat.com>
8466         * lib/regcomp.c (build_equiv_class):
8467         Fix access after end of search string in regex matcher.
8468
8469         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8470         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8471
8472         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8473         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8474
8475         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8476         * lib/regcomp.c (parse_branch, parse_sub_exp):
8477         More regex memory leak fixes and tests.
8478         (parse_sub_exp, parse_bracket_exp):
8479         Fix memory leak for some invalid regular expressions.
8480
8481         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8482         * lib/regex_internal.c, lib/regexec.c:
8483         Fix unnecessary overallocation due to incomplete character.  When
8484         incomplete characters are found at the end of a string the code
8485         ran amok and allocated lots of memory.  Stricter limits are now in
8486         place.
8487
8488         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8489         * lib/regex.h: Update documentation.
8490
8491         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8492         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8493
8494         2010-05-05 Andreas Schwab <schwab@redhat.com>
8495         * lib/regexec.c (find_collation_sequence_value):
8496         Fix lookup of collation sequence value during regexp matching.
8497
8498         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8499         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8500
8501         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8502         * lib/regex.h: Cleanup namespace.
8503
8504         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8505         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8506
8507         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8508         * lib/regex_internal.h: Prevent some declarations and definitions
8509         to be seen when used in tests.
8510
8511         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8512         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8513         __libc_lock_* macros if not _LIBC.
8514         (struct re_dfa_t): Add lock.
8515
8516 2012-02-07  Eric Blake  <eblake@redhat.com>
8517
8518         maint.mk: also prohibit lower-case @var@
8519         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8520         lower case, like @top_srcdir@.
8521
8522 2012-02-04  Eric Blake  <eblake@redhat.com>
8523
8524         canonicalize: avoid uninitialized memory use
8525         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8526         random '/' left in dest.
8527         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8528
8529 2012-02-04  Bruno Haible  <bruno@clisp.org>
8530
8531         isatty: Fix test failure of ptsname_r on native Windows.
8532         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8533         and don't set errno.
8534         (isatty): Test first whether fd is valid. Set errno when returning 0.
8535
8536 2012-02-04  Bruno Haible  <bruno@clisp.org>
8537
8538         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8539         * tests/test-spawn-pipe-main.c: Include progname.h.
8540         (main): Invoke set_program_name.
8541         * modules/spawn-pipe-tests (Depends-on): Add progname.
8542
8543         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8544         * tests/test-nonblocking-socket-main.c: Include progname.h.
8545         (main): Invoke set_program_name.
8546         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8547
8548         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8549         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8550         (main): Invoke set_program_name.
8551         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8552
8553 2012-02-04  Eric Blake  <eblake@redhat.com>
8554
8555         canonicalize-lgpl: fix // handling
8556         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8557
8558         canonicalize: fix // handling
8559         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8560         /// to //, since only // is special.
8561
8562 2012-02-04  Bruno Haible  <bruno@clisp.org>
8563
8564         ioctl: Fix test failure on native Windows.
8565         * lib/ioctl.c: Include msvc-nothrow.h.
8566         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8567
8568 2012-02-04  Bruno Haible  <bruno@clisp.org>
8569
8570         fsync: Avoid test failure on native Windows.
8571         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8572         read-only.
8573
8574 2012-02-04  Bruno Haible  <bruno@clisp.org>
8575
8576         sys_select: Avoid syntax error on OpenBSD 5.0.
8577         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8578         currently being included, just include the system's <sys/select.h>.
8579
8580 2012-02-04  Bruno Haible  <bruno@clisp.org>
8581
8582         sys_select: Avoid syntax error on OpenBSD 5.0.
8583         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8584         <sys/select.h>, not before.
8585         Reported by Jiri B <jirib@devio.us>.
8586
8587 2012-02-04  Bruno Haible  <bruno@clisp.org>
8588
8589         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8590         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8591         global variables.
8592         * tests/test-get-rusage-data.c (main): Likewise.
8593         Reported by Jim Meyering.
8594
8595 2012-02-04  Bruno Haible  <bruno@clisp.org>
8596
8597         stdioext: Fix last commit.
8598         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8599
8600 2012-02-03  Bruno Haible  <bruno@clisp.org>
8601
8602         stdioext: Add tentative support for Plan9.
8603         * lib/stdio-impl.h: Include <errno.h>.
8604         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8605         * lib/freadable.c (freadable): Likewise.
8606         * lib/fwritable.c (fwritable): Likewise.
8607         * lib/fbufmode.c (fbufmode): Likewise.
8608         * lib/freading.c (freading): Likewise.
8609         * lib/fwriting.c (fwriting): Likewise.
8610         * lib/freadptr.c (freadptr): Likewise.
8611         * lib/freadseek.c (freadptrinc): Likewise.
8612         * lib/freadahead.c (freadahead): Likewise.
8613         * lib/fpurge.c (fpurge): Likewise.
8614         * lib/fseeko.c (rpl_fseeko): Likewise.
8615         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8616         Reported by Jens Staal <staal1978@gmail.com>.
8617
8618 2012-02-02  Jim Meyering  <meyering@redhat.com>
8619
8620         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8621         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8622         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8623         not even to try to add the attribute.  Instead, add a pragma to suppress
8624         the suggestion/warning.
8625
8626 2012-01-31  Karl Berry  <karl@gnu.org>
8627
8628         setstate doc: typo.
8629         * doc/posix-functions/setstate.texi (setstate): { not (.
8630
8631 2012-01-31  Bruno Haible  <bruno@clisp.org>
8632
8633         popen: Make more robust on Windows.
8634         * lib/popen.c: On native Windows, use the _popen based code even if
8635         HAVE_POPEN is set.
8636         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8637         environment variable on native Windows.
8638
8639 2012-01-30  Bruno Haible  <bruno@clisp.org>
8640
8641         pclose: Fix typo.
8642         * lib/stdio.in.h (pclose): Fix typo in warning message.
8643
8644 2012-01-30  Bruno Haible  <bruno@clisp.org>
8645
8646         doc about getlogin_r, setstate.
8647         * doc/posix-functions/getlogin_r.texi: List the incompatible
8648         declaration problem under "not fixed by gnulib".
8649         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8650         problem on Solaris 11 and other platforms.
8651
8652 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8653             Bruno Haible  <bruno@clisp.org>
8654
8655         poll tests: Make test more robust.
8656         * tests/test-poll.c: Include macros.h.
8657         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8658         return value of various I/O operations.
8659         * modules/poll-tests (Files): Add tests/macros.h.
8660
8661 2012-01-30  Bruno Haible  <bruno@clisp.org>
8662
8663         sys_stat: Fix support for mingw64 and MSVC.
8664         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8665         header files already do it.
8666         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8667         stat itself.
8668         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8669
8670 2012-01-30  Bruno Haible  <bruno@clisp.org>
8671
8672         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8673         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8674         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8675
8676 2012-01-29  Bruno Haible  <bruno@clisp.org>
8677
8678         quotearg: Fix test failure on MacOS X 10.5.
8679         * tests/test-quotearg-simple.c: Include localcharset.h.
8680         (main): If the locale encoding is not ASCII, bypass the tests of
8681         locale_quoting_style and clocale_quoting_style.
8682         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8683
8684 2012-01-29  Jim Meyering  <meyering@redhat.com>
8685
8686         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8687         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8688         detect uses of canonicalize_file_name.
8689
8690 2012-01-28  Bruno Haible  <bruno@clisp.org>
8691
8692         test-framework-sh: Fix test failure with AIX 7.1 diff.
8693         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8694         in column 1, like 'diff -c' does.
8695         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8696         whether 'diff -u' is used. Instead, test whether the output contains
8697         some '@' character.
8698
8699 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8700
8701         strtoimax: eliminate need for stdint.h, inttypes.h checks
8702         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8703         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8704         the prerequisites for a recently-introduced strtoimax test.
8705         I guess this might cause strtoimax to be replaced when not
8706         strictly necessary on older hosts, but this shouldn't introduce
8707         any bugs and it should make Emacs 'configure' faster on typical
8708         modern hosts.  Problem discovered when importing the latest gnulib
8709         to an Emacs test version.
8710         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8711
8712 2012-01-28  Bruno Haible  <bruno@clisp.org>
8713
8714         sys_time: Override 'struct timeval' on some native Windows platforms.
8715         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8716         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8717         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8718         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8719         needs to be overridden.
8720         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8721         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8722         * tests/test-sys_select.c: Check that the tv_sec member has the same
8723         size as a 'time_t'.
8724         * tests/test-sys_time.c: Likewise.
8725         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8726         is set, set also REPLACE_GETTIMEOFDAY.
8727         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8728         convert the resulting 'struct timeval' before returning.
8729         * lib/select.c: Include <sys/time.h>.
8730         (select, timeval): Undefine at the right place.
8731         * modules/select (Depends-on): Add sys_time.
8732         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8733         some Windows platforms.
8734         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8735
8736 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8737
8738         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8739         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8740         an integer.
8741         * lib/fcntl.c (dupfd): Likewise.
8742         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8743
8744 2012-01-28  Bruno Haible  <bruno@clisp.org>
8745
8746         fcntl: Avoid compilation error on native Windows.
8747         * modules/fcntl (Depends-on): Add 'close'.
8748
8749 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8750
8751         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8752         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8753         pointer to an integer.
8754         * lib/poll.c (IsConsoleHandle): Likewise.
8755         * lib/isatty.c (IsConsoleHandle): Likewise.
8756
8757 2012-01-28  Jim Meyering  <meyering@redhat.com>
8758
8759         doc: clarify README-release
8760         * top/README-release: Clarify: you should make a point to have
8761         the latest stable versions of build tools in your PATH, and the
8762         reference to buildreq is solely for its list of tool names, not
8763         for its minimal-functional version numbers.
8764         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8765
8766         maint.mk: use more readable (yet functionally equivalent) quoting
8767         It is common to quote a single quote in a single quoted string like
8768         this:  '...'\''...'.  Unless you know the idiom, that looks like
8769         gibberish, so prefer to double-quote the string when possible.
8770         Then you can use a more readable, lone single quote: "...'..."
8771         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8772         "don't" is more readable than the equivalent 'don'\''t'.
8773         (sc_cast_of_x_alloc_return_value): Likewise.
8774         (sc_cast_of_alloca_return_value): Likewise.
8775         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8776         rather than '\'':'\''.
8777
8778 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8779
8780         stdalign: relax _Alignof and tighten _Alignas test
8781         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8782         as it was too strict: alignof must divide offsetof, but it need
8783         not equal offsetof.  Inspired by Joseph S. Myers's comment
8784         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8785         Conversely, tighten the _Alignas test a bit, as the resulting
8786         alignment must be exactly 8.
8787
8788 2012-01-27  Bruno Haible  <bruno@clisp.org>
8789
8790         stdalign: Document the last change.
8791         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8792
8793 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8794
8795         stdalign: check that alignof and offsetof are consistent
8796         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8797         Problem reported for gnulib by Richard W.M. Jones in
8798         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8799
8800 2012-01-27  Jim Meyering  <meyering@redhat.com>
8801
8802         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8803         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8804         convert a sequence with gaps to the minimal containing range.
8805         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8806         * tests/test-update-copyright.sh: Test for this.
8807         The FSF confirmed it is ok to do this, assuming there is at
8808         least one significant change per year in the affected range:
8809         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8810
8811 2012-01-26  Bruno Haible  <bruno@clisp.org>
8812
8813         pipe2: refine doc about thread-safety
8814         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8815         multithread-safety problem.
8816         * doc/glibc-functions/accept4.texi: Likewise.
8817
8818 2012-01-26  Bruno Haible  <bruno@clisp.org>
8819
8820         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8821         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8822         In the test program, include <fcntl.h>, for O_RDONLY.
8823
8824 2012-01-26  Eric Blake  <eblake@redhat.com>
8825
8826         pipe2: document lack of thread-safety in replacement
8827         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8828         issue in replacement.
8829         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8830         Based on a report by Eric Wong.
8831
8832 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8833             Bruno Haible  <bruno@clisp.org>
8834
8835         malloca: Avoid warnings on x86_64 mingw64.
8836         * lib/malloca.c: Include <stdint.h>.
8837         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8838         * modules/malloca (Depends-on): Add stdint.
8839         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8840
8841 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8842
8843         obstack: remove __STDC__ conditionals
8844         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8845         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8846         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8847         m4/include_next.m4 as the only gnulib-maintained places that still
8848         refer to __STDC__.
8849
8850 2012-01-24  Bruno Haible  <bruno@clisp.org>
8851
8852         havelib: Modern quoting.
8853         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8854         the recent change to the GNU coding standards.
8855
8856 2012-01-24  Bruno Haible  <bruno@clisp.org>
8857
8858         stdint: Improve support for Android.
8859         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8860         Reported by Simon Josefsson <simon@josefsson.org>.
8861
8862 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8863
8864         doc: omit trailing empty lines from INSTALL etc.
8865         * doc/Makefile (INSTALL): Omit trailing empty lines.
8866         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8867         omit trailing empty lines.  This simplifies the build procedure.
8868
8869 2012-01-23  Jim Meyering  <meyering@redhat.com>
8870
8871         tests: avoid spurious warnings about gl_sockets_startup
8872         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8873         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8874         reporting a "statement with no effect".
8875         * tests/test-accept.c (main): Mark as "(void)".
8876         * tests/test-accept4.c (main): Likewise.
8877         * tests/test-bind.c (main): Likewise.
8878         * tests/test-connect.c (main): Likewise.
8879         * tests/test-getpeername.c (main): Likewise.
8880         * tests/test-getsockname.c (main): Likewise.
8881         * tests/test-getsockopt.c (main): Likewise.
8882         * tests/test-listen.c (main): Likewise.
8883         * tests/test-recv.c (main): Likewise.
8884         * tests/test-recvfrom.c (main): Likewise.
8885         * tests/test-send.c (main): Likewise.
8886         * tests/test-sendto.c (main): Likewise.
8887         * tests/test-setsockopt.c (main): Likewise.
8888         * tests/test-shutdown.c (main): Likewise.
8889
8890 2012-01-21  Bruno Haible  <bruno@clisp.org>
8891
8892         locale-fr.m4: Fix for Android.
8893         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8894         failure of the test program on Bionic libc.
8895
8896 2012-01-21  Jim Meyering  <meyering@redhat.com>
8897
8898         bootstrap: fail when bootstrap_post_import_hook fails
8899         Otherwise, it's far too easy to miss diagnostics emitted
8900         between gnulib-tool's output and that of running configure.
8901         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8902
8903 2012-01-17  Jim Meyering  <meyering@redhat.com>
8904
8905         maint: enable sc_trailing_blank
8906         * build-aux/pmccabe.css: Remove trailing blanks.
8907         * doc/acl-cygwin.txt: Likewise.
8908         * doc/gnu-oids.texi: Likewise
8909         * cfg.mk: Enable sc_trailing_blank.
8910         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8911
8912 2012-01-17  Jim Meyering  <meyering@redhat.com>
8913
8914         maint: enable sc_prohibit_openat_without_use
8915         * cfg.mk: Enable sc_prohibit_openat_without_use.
8916         Exempt lib/selinux-at.c.
8917
8918 2012-01-17  Jim Meyering  <meyering@redhat.com>
8919
8920         maint: enable sc_prohibit_cloexec_without_use
8921         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8922         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8923
8924 2012-01-17  Jim Meyering  <meyering@redhat.com>
8925
8926         maint: enable sc_prohibit_intprops_without_use
8927         * cfg.mk: Enable sc_prohibit_intprops_without_use
8928         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8929
8930 2012-01-17  Jim Meyering  <meyering@redhat.com>
8931
8932         maint: enable sc_prohibit_hash_pjw_without_use
8933         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8934         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8935         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8936         following " (".
8937
8938 2012-01-17  Jim Meyering  <meyering@redhat.com>
8939
8940         maint: enable double-word-prohibiting rule
8941         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8942         Exempt three files.
8943
8944 2012-01-17  Jim Meyering  <meyering@redhat.com>
8945
8946         maint: remove empty lines at EOF, but excluding modules/*
8947         Apply syntax rules at home as well as abroad.  Most changes
8948         were induced by running this:
8949           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8950             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8951             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8952         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8953         Exempt modules/* and two binary files.
8954         Also exempt doc/INSTALL*, per request from Bruno Haible.
8955         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8956         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8957         * doc/Copyright/request-assign.future: Likewise.
8958         * doc/Copyright/request-disclaim.changes: Likewise.
8959         * doc/INSTALL: Likewise.
8960         * doc/INSTALL.ISO: Likewise.
8961         * doc/INSTALL.UTF-8: Likewise.
8962         * doc/acl-cygwin.txt: Likewise.
8963         * doc/acl-resources.txt: Likewise.
8964         * doc/fdl-1.2.texi: Likewise.
8965         * doc/fdl-1.3.texi: Likewise.
8966         * doc/fdl.texi: Likewise.
8967         * lib/argp-pin.c: Likewise.
8968         * lib/round.c: Likewise.
8969         * lib/unicase/u16-totitle.c: Likewise.
8970         * lib/unictype/block_test.c: Likewise.
8971         * lib/uninorm/canonical-decomposition.c: Likewise.
8972         * m4/README: Likewise.
8973         * m4/relocatable-lib.m4: Likewise.
8974         * tests/test-isnand-nolibm.c: Likewise.
8975         * tests/test-isnand.c: Likewise.
8976         * tests/uninorm/NormalizationTest.txt: Likewise.
8977
8978 2012-01-17  Jim Meyering  <meyering@redhat.com>
8979
8980         maint: add framework to run syntax-check rules against gnulib sources
8981         * cfg.mk: New file, to disable all currently-failing tests.
8982         We'll enable them one by one, as they are made to pass.
8983         * Makefile (sc_maint): New rule.
8984
8985 2012-01-21  Bruno Haible  <bruno@clisp.org>
8986
8987         stdint: Add support for Android.
8988         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8989         include the system's <stdint.h>.
8990         Reported by Simon Josefsson <simon@josefsson.org>.
8991
8992 2012-01-19  Jim Meyering  <meyering@redhat.com>
8993
8994         bootstrap: add bootstrap_post_import_hook
8995         Bison does still need something like the gnulib_mk_hook whose
8996         invocation I had to remove along with slurp in commit 767ccd40.
8997         Technically, we could get along without it, but doing so would
8998         have required living with a warning and a mandatory post-bootstrap
8999         automake rerun.
9000         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
9001         (bootstrap_post_import_hook): New function.
9002         Invoke it after gnulib-tool --import and before autoreconf.
9003
9004 2012-01-18  Jim Meyering  <meyering@redhat.com>
9005
9006         gitlog-to-changelog: don't use "no_"-prefixed variable name
9007         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
9008         to enable both --cluster and --no-cluster.  Change variable name,
9009         s/\$no_cluster/$cluster/, and reverse usage to match.
9010
9011         gitlog-to-changelog: use "||", not "or" in expressions
9012         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
9013         expressions.
9014
9015 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
9016
9017         gitlog-to-changelog: new option --no-cluster
9018         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
9019         clustering of adjacent commit messages.
9020
9021 2012-01-17  Jim Meyering  <meyering@redhat.com>
9022
9023         maint: spell file systems with two words, not one
9024         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
9025         two words, not one.
9026
9027 2012-01-16  Jim Meyering  <meyering@redhat.com>
9028
9029         bootstrap: add a FIXME comment to ensure we eventually remove the hack
9030         * build-aux/bootstrap (gnulib_tool_options): Add comment.
9031
9032 2012-01-16  Eric Blake  <eblake@redhat.com>
9033
9034         bootstrap: cater to autoconf 2.59
9035         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
9036         is not available.
9037
9038         bootstrap: properly check for libtool
9039         * build-aux/bootstrap (libtoolize): Also run libtool when older
9040         usage is detected.
9041
9042 2012-01-15  Bruno Haible  <bruno@clisp.org>
9043
9044         Improve support for MSVC 9.
9045         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
9046         clashes on MSVC.
9047         * lib/fcntl.in.h: Likewise.
9048         * lib/stdlib.in.h: Likewise.
9049         * lib/sys_stat.in.h: Likewise.
9050
9051 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9052
9053         gnupload: we hold the master copy of this script now
9054         For motivation and more information, see:
9055         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
9056         * build-aux/gnupload: Make it clear in the heading comments that the
9057         master copy of this file is maintained by gnulib.  Since we are at
9058         it, bump its copyright year and ...
9059         ($scriptversion): ... the date in its version.
9060         ($usage): Patches and bug reports should be sent to the gnulib list,
9061         not the automake one.
9062         * config/srclist.txt: Don't try to sync 'gnupload' from automake
9063         anymore.
9064
9065 2012-01-15  Bruno Haible  <bruno@clisp.org>
9066
9067         Fix module 'random'.
9068         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
9069         initstate, setstate are declared.
9070
9071 2012-01-14  Bruno Haible  <bruno@clisp.org>
9072
9073         Tests for module 'random'.
9074         * modules/random-tests: New file.
9075         * tests/test-random.c: New file, based on tests/test-random_r.c.
9076
9077         New module 'random'.
9078         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
9079         declarations.
9080         * lib/random.c: New file, based on glibc/stdlib/random.c.
9081         * m4/random.m4: New file.
9082         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
9083         HAVE_RANDOM.
9084         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
9085         * modules/random: New file.
9086         * config/srclist.txt: Add an entry for random.c.
9087         * doc/posix-functions/random.texi: Mention the 'random' module.
9088         * doc/posix-functions/initstate.texi: Likewise.
9089         * doc/posix-functions/setstate.texi: Likewise.
9090         * doc/posix-functions/srandom.texi: Likewise.
9091
9092 2012-01-12  Bruno Haible  <bruno@clisp.org>
9093
9094         random_r: Use common idioms.
9095         * lib/random_r.c: Include <stdlib.h> first.
9096
9097         random_r: Override incompatible API on AIX, OSF/1.
9098         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
9099         Override the system function if REPLACE_RANDOM_R is 1.
9100         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
9101         and OSF/1, set REPLACE_RANDOM_R.
9102         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
9103         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
9104         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
9105         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
9106         * doc/glibc-functions/random_r.texi: Likewise.
9107         * doc/glibc-functions/setstate_r.texi: Likewise.
9108
9109         random_r: Support for MSVC 9.
9110         * lib/random_r.c: Include stdint.h, not inttypes.h.
9111
9112 2012-01-12  Eric Blake  <eblake@redhat.com>
9113
9114         inet_ntop: guard extra work by IF_LINT
9115         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
9116         better code generation when not checking for warnings.
9117         Suggested by Paul Eggert and Jim Meyering.
9118
9119         strptime: fix regression on mingw
9120         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
9121         Fix regression.  Reported by Bruno Haible.
9122
9123 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
9124             Bruno Haible  <bruno@clisp.org>
9125
9126         copy-file: add error-code-returning variant.
9127         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
9128         (qcopy_file_preserving): New declaration.
9129         * lib/copy-file.c (qcopy_file_preserving): Renamed from
9130         copy_file_preserving. Change return type to 'int'. Don't emit an error
9131         message here.
9132         (copy_file_preserving): New function.
9133         * tests/test-copy-file.c: Include <stdlib.h>.
9134         (main): Test qcopy_file_preserving if the environment variable
9135         NO_STDERR_OUTPUT is set.
9136         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
9137         with NO_STDERR_OUTPUT
9138         * tests/test-copy-file-2.sh: Likewise.
9139
9140 2012-01-10  Bruno Haible  <bruno@clisp.org>
9141
9142         copy-file: Use 'quote' module consistently.
9143         * lib/copy-file.c (copy_file_preserving): Use quote().
9144
9145         copy-file: Refactor.
9146         * lib/copy-file.c: Include quote.h.
9147         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
9148         message here.
9149         * modules/copy-file (Depends-on): Add quote.
9150
9151         acl: Export qcopy_acl.
9152         * lib/acl.h (qcopy_acl): New declaration.
9153         * lib/copy-acl.c (qcopy_acl): Make non-static.
9154
9155         acl: Rename a local variable.
9156         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
9157
9158         acl: Align return values of copy_acl and qcopy_acl.
9159         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
9160         maybe < -1.
9161
9162 2012-01-11  Eric Blake  <eblake@redhat.com>
9163
9164         strptime: silence gcc warnings
9165         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
9166         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
9167         Reported by Daniel P. Berrange.
9168
9169         inet_ntop: silence gcc warning
9170         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
9171         Reported by Daniel P. Berrange.
9172
9173 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
9174
9175         getloadavg test: skip the test on GNU/Linux without /proc mounted
9176         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
9177         file.  When /proc is not mounted, it always fails with ENOENT.
9178         * tests/test-getloadavg.c (main): Treat ENOENT return code from
9179         getloadavg(3) the same way as ENOSYS and ENOTSUP.
9180
9181 2012-01-10  Bruno Haible  <bruno@clisp.org>
9182
9183         regex: Avoid link error on MSVC 9.
9184         * modules/regex (Depends-on): Add wctype.
9185
9186 2012-01-10  Bruno Haible  <bruno@clisp.org>
9187
9188         doc: Mention --with-tests option.
9189         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
9190         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
9191         --with-tests.
9192         Reported by Reuben Thomas.
9193
9194 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
9195
9196         users.txt: order package names lexicographically.
9197         * users.txt: Order package names lexicographically.
9198
9199 2012-01-10  Jim Meyering  <meyering@redhat.com>
9200
9201         maint.mk: fix description in comment
9202         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
9203
9204         ignore-value: remove deprecated ignore_ptr function
9205         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
9206         * NEWS: Note this.
9207
9208 2012-01-09  Jim Meyering  <meyering@redhat.com>
9209
9210         test-init.sh: avoid a subshell
9211         * tests/test-init.sh: Remove protective subshell.
9212         Suggested by Bernhard Voelker.  While a subshell is normally
9213         required to protect against older shells (Solaris, FreeBSD) that
9214         warn about a missing program before performing redirection, the
9215         shell-selection tests performed by init.sh probably exclude any
9216         offending shell.
9217
9218 2012-01-08  Bruno Haible  <bruno@clisp.org>
9219
9220         setlocale tests: Avoid test failure on Solaris 11 2011-11.
9221         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
9222         variable.
9223
9224 2012-01-08  Bruno Haible  <bruno@clisp.org>
9225
9226         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
9227         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9228         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9229         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
9230         macro.
9231         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
9232         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9233         * lib/spawn_faction_addopen.c: Add workaround implementation if
9234         HAVE_WORKING_POSIX_SPAWN.
9235         * modules/spawn (Makefile): Substitute
9236         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9237         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
9238         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
9239         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9240         (Depends-on): Update conditions.
9241         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
9242         the Solaris 11 bug.
9243
9244 2012-01-08  Bruno Haible  <bruno@clisp.org>
9245
9246         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
9247         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9248         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9249         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
9250         macro.
9251         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
9252         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9253         * lib/spawn_faction_adddup2.c: Add workaround implementation if
9254         HAVE_WORKING_POSIX_SPAWN.
9255         * modules/spawn (Makefile): Substitute
9256         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9257         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
9258         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
9259         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9260         (Depends-on): Update conditions.
9261         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
9262         the Solaris 11 bug.
9263
9264 2012-01-08  Bruno Haible  <bruno@clisp.org>
9265
9266         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
9267         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9268         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9269         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
9270         HAVE_WORKING_POSIX_SPAWN.
9271         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
9272         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
9273         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9274         * lib/spawn_faction_addclose.c: Add workaround implementation if
9275         HAVE_WORKING_POSIX_SPAWN.
9276         * modules/spawn (Makefile): Substitute
9277         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9278         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
9279         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
9280         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9281         (Depends-on): Update conditions.
9282         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
9283         the Solaris 11 bug.
9284
9285 2012-01-08  Bruno Haible  <bruno@clisp.org>
9286
9287         doc: Update for Solaris 11 2011-11.
9288         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
9289         * m4/printf.m4: Update comments.
9290
9291 2012-01-08  Bruno Haible  <bruno@clisp.org>
9292
9293         mktime: Avoid compilation error on Solaris 11.
9294         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
9295
9296 2012-01-08  Bruno Haible  <bruno@clisp.org>
9297
9298         doc: Small fix.
9299         * doc/posix-headers/nl_types.texi: Correct platforms list.
9300
9301 2012-01-08  Simon Josefsson  <simon@josefsson.org>
9302
9303         Add lgpl-3.0 module.
9304         * MODULES.html.sh (Support for building documentation): Add
9305         lgpl-3.0.
9306         * modules/lgpl-3.0: New file.
9307
9308 2012-01-08  Jim Meyering  <meyering@redhat.com>
9309
9310         select.c: indent with spaces, not TABs
9311         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
9312
9313 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9314
9315         quotearg: do not use grave accent for left quote
9316         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
9317         locale_quoting_style.
9318         (quotearg_buffer_restyled): Fix example.
9319         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
9320
9321 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9322
9323         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
9324         Most programs do not have translation catalogs for English and much
9325         less separate catalogs for British and American English.  Drop the
9326         suggestion to translators about these two, and provide it
9327         automatically for Unicode locales.  Like most programs, even those
9328         using American English, we use single quotation marks.  This conflicts
9329         with the American typographic convention, but works better when you
9330         cite the entire error message within double quotes.  It also tries not
9331         to clash with established practice and with what non-gnulib programs
9332         will usually do.
9333         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
9334         using an UTF-8 or GB-18030 locale.  The list of other locales with
9335         quotes was provided by Bruno Haible.
9336         (quotearg_buffer_restyled): Adjust instructions to translators.
9337         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
9338         text, since this would be wrong when using Unicode.
9339         * modules/quotearg: Depend on c-strcaseeq.
9340
9341 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9342
9343         quotearg: fix Wikipedia link
9344         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
9345
9346 2012-01-07  Simon Josefsson  <simon@josefsson.org>
9347
9348         Fix for mingw with MSVC9.
9349         * m4/ld-version-script.m4: Check that compiler rejects version
9350         scripts with syntax errors.  Reported by Bruno Haible
9351         <bruno@clisp.org>.
9352
9353 2012-01-06  Bruno Haible  <bruno@clisp.org>
9354
9355         Talk about "native Windows API", not "Woe32".
9356         * lib/accept4.c: Update comments to mention native Windows.
9357         * lib/execute.c: Likewise.
9358         * lib/fatal-signal.c: Likewise.
9359         * lib/localcharset.c: Likewise.
9360         * lib/nanosleep.c: Likewise.
9361         * lib/nl_langinfo.c: Likewise.
9362         * lib/pclose.c: Likewise.
9363         * lib/pipe-filter-gi.c: Likewise.
9364         * lib/pipe-filter-ii.c: Likewise.
9365         * lib/pipe.c: Likewise.
9366         * lib/pipe2.c: Likewise.
9367         * lib/popen.c: Likewise.
9368         * lib/progreloc.c: Likewise.
9369         * lib/relocatable.c: Likewise.
9370         * lib/sigaction.c: Likewise.
9371         * lib/sigprocmask.c: Likewise.
9372         * lib/spawn-pipe.h: Likewise.
9373         * lib/spawn-pipe.c: Likewise.
9374         * lib/spawni.c: Likewise.
9375         * lib/stat-time.h: Likewise.
9376         * lib/w32spawn.h: Likewise.
9377         * tests/test-isatty.c: Likewise.
9378         * lib/config.charset: More comments.
9379         * doc/gnulib-intro.texi: Mention native Windows.
9380         * doc/posix-functions/_Exit_C99.texi: Likewise.
9381         * doc/posix-headers/fcntl.texi: Likewise.
9382
9383 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
9384
9385         argp: Avoid crash if translator uses % characters in a translation.
9386         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
9387         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9388
9389 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
9390
9391         doc: C11 and C++11 are now official
9392         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
9393         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
9394         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
9395         * modules/stdalign:
9396         Replace references to draft C1X to C11, and to draft C++0X to C++11.
9397
9398 2012-01-06  Bruno Haible  <bruno@clisp.org>
9399
9400         uc-is-grapheme-break tests: Tweak.
9401         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
9402         message.
9403
9404 2012-01-06  Bruno Haible  <bruno@clisp.org>
9405
9406         test-init.sh: correct the test for diff -u
9407         * tests/test-init.sh: Also redirect stdout to /dev/null.
9408
9409 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
9410
9411         Use ', not `, for quoting output.
9412         * build-aux/announce-gen (usage, sizes, print_news_deltas)
9413         (print_changelog_deltas, get_tool_versions, main program):
9414         * build-aux/git-version-gen:
9415         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
9416         * build-aux/move-if-change (help):
9417         * build-aux/useless-if-before-free (usage, main program):
9418         * check-module (parse_module_file, usage)
9419         (find_included_lib_files, check_module):
9420         * lib/argmatch.c (main) [TEST]:
9421         * lib/argp-help.c (_help):
9422         * lib/getopt1.c (main) [TEST]:
9423         * lib/git-merge-changelog.c (usage):
9424         * lib/xstrtol-error.c (xstrtol_error):
9425         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
9426         * m4/argz.m4 (gl_FUNC_ARGZ):
9427         * m4/bison.m4 (gl_BISON):
9428         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
9429         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9430         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9431         * m4/fpending.m4 (gl_PREREQ_FPENDING):
9432         * m4/gc-random.m4 (gl_GC_RANDOM):
9433         * m4/intl.m4 (gt_CHECK_DECL):
9434         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
9435         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
9436         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
9437         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
9438         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
9439         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
9440         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
9441         * tests/test-dirname.c (main):
9442         * tests/test-getpass.c (main):
9443         * tests/test-iconvme.c (main):
9444         * tests/test-parse-datetime.c (LOG):
9445         * tests/test-xstrtoimax.sh:
9446         * tests/test-xstrtol.sh:
9447         * tests/test-xstrtoll.sh:
9448         * tests/test-xstrtoumax.sh:
9449         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
9450         * top/GNUmakefile (abort-due-to-no-makefile):
9451         Quote 'like this', not `like this', as per the recent change to
9452         the GNU coding standards.
9453
9454 2012-01-05  Bruno Haible  <bruno@clisp.org>
9455
9456         strtoimax: Don't force a replacement on systems where intmax_t is int.
9457         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9458         'intmax_t' is not larger than 'int'.
9459         Reported by Pádraig Brady <P@draigBrady.com>.
9460
9461 2012-01-05  Bruno Haible  <bruno@clisp.org>
9462
9463         doc: Mention NetBSD bugs.
9464         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9465         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9466
9467 2012-01-05  Bruno Haible  <bruno@clisp.org>
9468
9469         strtoumax tests: Enhance tests.
9470         * tests/test-strtoumax.c (main): Add tests for large values.
9471
9472 2012-01-05  Bruno Haible  <bruno@clisp.org>
9473
9474         strtoimax: Work around AIX 5.1 bug.
9475         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9476         definition.
9477         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9478         Set HAVE_STRTOIMAX.
9479         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9480         REPLACE_STRTOIMAX.
9481         * modules/inttypes-incomplete (Makefile.am): Substitute
9482         REPLACE_STRTOIMAX.
9483         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9484         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9485         (Depends-on): Update conditions.
9486         * tests/test-strtoimax.c (main): Add tests for large values.
9487         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9488
9489 2012-01-05  Bruno Haible  <bruno@clisp.org>
9490
9491         inttypes: Modernize.
9492         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9493         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9494         (Makefile.am): Update inttypes.h rule.
9495
9496 2012-01-05  Jim Meyering  <meyering@redhat.com>
9497
9498         init.sh: don't waste a subshell just to redirect stderr
9499         * tests/init.sh: In testing for diff -u and diff -c, use a
9500         stderr-redirecting exec inside `...` rather than a subshell.
9501
9502         test-init.sh: avoid failure on HP-UX 11.00
9503         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9504         resolves to diff -c or cmp.  Reported by Bruno Haible.
9505
9506 2012-01-05  Bruno Haible  <bruno@clisp.org>
9507
9508         Tests for module 'strtoull'.
9509         * modules/strtoull-tests: New file.
9510         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9511
9512 2012-01-05  Bruno Haible  <bruno@clisp.org>
9513
9514         Tests for module 'strtoll'.
9515         * modules/strtoll-tests: New file.
9516         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9517
9518 2012-01-05  Bruno Haible  <bruno@clisp.org>
9519
9520         Tests for module 'strtoul'.
9521         * modules/strtoul-tests: New file.
9522         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9523
9524 2012-01-05  Bruno Haible  <bruno@clisp.org>
9525
9526         Tests for module 'strtol'.
9527         * modules/strtol-tests: New file.
9528         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9529
9530 2012-01-04  Jim Meyering  <meyering@redhat.com>
9531
9532         test-init.sh: accommodate Solaris 5.10's different diff -u output
9533         * tests/test-init.sh: Also exempt @@ lines from the comparison
9534         of diff output, since Solaris 5.10 and GNU diff formats differ.
9535         Reported by Stefano Lattarini.
9536
9537 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9538
9539         test-posixtm: don't assume signed integer wraparound
9540         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9541         after signed integer overflow.  Inspired by (though it may not
9542         fix) Bruno Haible's bug report in
9543         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9544
9545         Spell out "Windows 9x" and "Windows XP".
9546         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9547         "Windows 9x" and "WinXP" with "Windows XP".
9548
9549 2012-01-04  Jim Meyering  <meyering@redhat.com>
9550
9551         test-vc-list-files-cvs.sh: remove obsolete comment
9552         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9553         double exit.  Now that's all encapsulated via skip_ and Exit.
9554
9555 2012-01-04  Bruno Haible  <bruno@clisp.org>
9556
9557         Talk about "native Windows API", not "Win32".
9558         * lib/classpath.c: Update comments to mention native Windows.
9559         * lib/csharpexec.c: Likewise.
9560         * lib/dup2.c: Likewise.
9561         * lib/error.c: Likewise.
9562         * lib/fcntl.c: Likewise.
9563         * lib/filename.h: Likewise.
9564         * lib/findprog.c: Likewise.
9565         * lib/get-rusage-as.c: Likewise.
9566         * lib/get-rusage-data.c: Likewise.
9567         * lib/getpagesize.c: Likewise.
9568         * lib/javaexec.c: Likewise.
9569         * lib/msvc-inval.c: Likewise.
9570         * lib/msvc-nothrow.c: Likewise.
9571         * lib/nanosleep.c: Likewise.
9572         * lib/nonblocking.c: Likewise.
9573         * lib/printf-parse.c: Likewise.
9574         * lib/setlocale.c: Likewise.
9575         * lib/sigaction.c: Likewise.
9576         * lib/strerror_r.c: Likewise.
9577         * lib/tmpdir.c: Likewise.
9578         * lib/vasnprintf.c: Likewise.
9579         * lib/w32spawn.h: Likewise.
9580         * lib/waitpid.c: Likewise.
9581         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9582         * m4/locale-ar.m4: Likewise.
9583         * m4/locale-fr.m4: Likewise.
9584         * m4/locale-ja.m4: Likewise.
9585         * m4/locale-tr.m4: Likewise.
9586         * m4/locale-zh.m4: Likewise.
9587         * m4/printf.m4: Likewise.
9588         * tests/test-cloexec.c: Likewise.
9589         * tests/test-copy-acl.sh: Likewise.
9590         * tests/test-copy-file.sh: Likewise.
9591         * tests/test-file-has-acl.sh: Likewise.
9592         * tests/test-set-mode-acl.sh: Likewise.
9593         * tests/test-dup-safer.c: Likewise.
9594         * tests/test-dup2.c: Likewise.
9595         * tests/test-dup3.c: Likewise.
9596         * tests/test-fcntl.c: Likewise.
9597         * tests/test-nonblocking-pipe.h: Likewise.
9598         * tests/test-nonblocking-socket.h: Likewise.
9599         * tests/test-pipe.c: Likewise.
9600         * tests/test-pipe2.c: Likewise.
9601         * tests/test-spawn-pipe-child.c: Likewise.
9602         * doc/acl-resources.txt: Likewise.
9603         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9604         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9605         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9606         * lib/localcharset.c: Update comments to mention native Windows.
9607         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9608         * lib/localename.c: Likewise.
9609         * lib/progreloc.c: Likewise.
9610         * lib/relocatable.c: Likewise.
9611         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9612         (windows_compute_revents): Renamed from win32_compute_revents.
9613         (windows_compute_revents_socket): Renamed from
9614         win32_compute_revents_socket.
9615         * lib/select.c: Update comments to mention native Windows.
9616         (windows_poll_handle): Renamed from win32_poll_handle.
9617         * m4/threadlib.m4: Update comments to mention native Windows.
9618         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9619         --enable-threads=windows instead of --enable-threads=win32. Set
9620         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9621         * lib/glthread/lock.h: Update comments to mention native Windows.
9622         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9623         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9624         USE_WIN32_THREADS.
9625         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9626         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9627         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9628         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9629         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9630         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9631         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9632         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9633         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9634         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9635         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9636         * tests/test-tls.c: Likewise.
9637         Rationale:
9638         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9639         on both 32-bit and 64-bit Windows systems.
9640         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9641         line of distinction is between "native Windows" on one side and Unix/
9642         POSIX systems on the other side. More details in
9643         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9644         Suggested by Paul Eggert.
9645
9646 2012-01-03  Bruno Haible  <bruno@clisp.org>
9647
9648         isatty: Support for MSVC 9.
9649         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9650         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9651         (_isatty_nothrow): New function.
9652         (isatty): Use it instead of _isatty.
9653         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9654         * lib/poll.c (IsConsoleHandle): Likewise.
9655         * lib/select.c (IsConsoleHandle): Likewise.
9656         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9657         (gl_PREREQ_ISATTY): New macro.
9658         * modules/isatty (Depends-on): Add msvc-inval.
9659         (configure.ac): Invoke gl_PREREQ_ISATTY.
9660
9661 2012-01-03  Jim Meyering  <meyering@redhat.com>
9662
9663         maint.mk: remove temporary transition aid from over 1.5 years ago
9664         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9665         purpose was to aid in the transition (avoiding silent malfunction)
9666         from that old name to the new _sc_search_regexp.  This shim was
9667         added by commit 219c504b.
9668
9669         init.sh: do not try to accommodate compare arguments starting with "-"
9670         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9671         compare arguments that start with "-".  Besides, we do not worry
9672         about this when invoking diff or cmp; why start now with sed?
9673         Using "--" to separate options from argument would trigger sed
9674         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9675         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9676
9677 2012-01-02  Bruno Haible  <bruno@clisp.org>
9678
9679         Enhance tests for module 'isatty'.
9680         * modules/isatty-tests (Depends-on): Add pipe-posix.
9681         * tests/test-isatty.c: Include <fcntl.h>.
9682         (DEV_NULL): New macro.
9683         (main): Test the resut of isatty() also on regular files, pipes, and
9684         /dev/null.
9685
9686         New module 'isatty'.
9687         * lib/unistd.in.h (isatty): New declaration.
9688         * lib/isatty.c: New file, based on an idea of
9689         Bastien Roucariès <roucaries.bastien@gmail.com>.
9690         * m4/isatty.m4: New file.
9691         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9692         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9693         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9694         REPLACE_ISATTY.
9695         * modules/isatty: New file.
9696         * doc/posix-functions/isatty.texi: Mention the new module.
9697         Suggested by Paolo Bonzini.
9698
9699 2012-01-02  Bruno Haible  <bruno@clisp.org>
9700
9701         canonicalize: Tweak 2011-12-29 commit.
9702         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9703         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9704
9705 2012-01-02  Jim Meyering  <meyering@redhat.com>
9706
9707         gitlog-to-changelog: describe input syntax in --help output
9708         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9709
9710         gitlog-to-changelog: fix typo in --help: show backslash before email @
9711         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9712         in sources, but not in actual output.
9713
9714 2011-12-30  Jim Meyering  <meyering@redhat.com>
9715
9716         gitlog-to-changelog: don't malfunction when name contains %-directive
9717         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9718         in a name string cause trouble.  E.g., with a user name of "%s",
9719         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9720
9721 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9722
9723         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9724         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9725         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9726         the "  (tiny change)" notation that is appended to the standard
9727         ChangeLog "date  name  email" header line.
9728
9729 2012-01-01  Jim Meyering  <meyering@redhat.com>
9730
9731         test-framework-sh: init.sh: fix "make dist" failure
9732         When using gnulib-tool's --with-tests option and any module that
9733         depends on test-framework-sh, "make dist" would fail due to the
9734         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9735         in the gltests directory, and not in the gllib/ directory.
9736         One way to work around that is to move the EXTRA_DIST += init.sh
9737         from the primary module to the -tests one:
9738         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9739         * modules/test-framework-sh (Makefile.am): ...not here.
9740         Reported by Tom G. Christensen in
9741         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9742
9743         version-etc: update copyright year reported by --version
9744         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9745
9746 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9747
9748         canonicalize: only stat() if required
9749         * lib/canonicalize.c (canonicalize_filename_mode):
9750         Avoid calling l?stat() when both CAN_MISSING,
9751         and CAN_NOLINKS are set, as we neither need
9752         to resolve symlinks or test component existence.
9753
9754 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9755
9756         doc: cover st_ino issues once; add OpenVMS etc.
9757         * doc/posix-functions/stat.texi (stat):
9758         * doc/posix-functions/lstat.texi (lstat):
9759         * doc/posix-functions/fstatat.texi (fstatat):
9760         * doc/posix-functions/fstat.texi (fstat):
9761         Move general 'struct stat' stuff to sys_stat.texi,
9762         leaving behind a pointer.
9763         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9764         Merge duplicate info about 'struct stat' problems into here.
9765         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9766         and suggest partial workarounds.
9767
9768         same-inode: port to OpenVMS
9769         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9770         three st_ino values.
9771
9772 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9773
9774         canonicalize: fix references to stat() and lstat()
9775         * lib/canonicalize.c (canonicalize_filename_mode):
9776         Ensure references always resolve to a replacement
9777         function if required (even via a macro).
9778
9779 2011-12-30  Jim Meyering  <meyering@redhat.com>
9780
9781         gitlog-to-changelog: remove a little duplication
9782         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9783         rather than twice.
9784
9785 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9786
9787         canonicalize: add support for not resolving symlinks
9788         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9789         indicate we don't want to follow symlinks.  Also
9790         provide CAN_MODE_MASK to aid setting these existing
9791         mutually exclusive values.
9792         * lib/canonicalize.c (canonicalize_filename_mode):
9793         Extract the flags from can_mode parameter, which
9794         are currently just used to select between stat()
9795         and lstat().  Also ensure that mutually exclusive
9796         values are flagged immediately as invalid.
9797         * tests/test-canonicalize.c: Verify symlinks are
9798         not followed, and that invalid flag combinations
9799         are diagnosed.
9800
9801 2011-12-25  Jim Meyering  <meyering@redhat.com>
9802
9803         gitlog-to-changelog: do not clump multi-paragraph entries
9804         Identical header lines (date,name,email+coauthors) are suppressed,
9805         thus putting all entries with those same characteristics under
9806         a single header.  However, when a log entry consists of two or
9807         more paragraphs, it may not be clear where it starts and ends.
9808         This change makes it so that such an entry is always separated
9809         from others by a header line, even when that header would
9810         otherwise be suppressed.
9811         * build-aux/gitlog-to-changelog: Implement the above.
9812         Inspired by a related request from Stefano Lattarini in
9813         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9814
9815 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9816
9817         announce-gen: fix `cmd' typo in diagnostic
9818         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9819         diagnostic: a missing '$' meant that the command was not output.
9820
9821 2011-12-23  Jim Meyering  <meyering@redhat.com>
9822
9823         test-framework-sh: distribute init.sh
9824         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9825         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9826         fail due to the lack of init.sh.
9827
9828         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9829         * modules/atexit-tests: Rather than listing tests/init.sh,
9830         now that there's a module for it, simply depend on that new module.
9831         * modules/closein-tests: Likewise.
9832         * modules/exclude-tests: Likewise.
9833         * modules/getcwd-tests: Likewise.
9834         * modules/perror-tests: Likewise.
9835         * modules/pread-tests: Likewise.
9836         * modules/pwrite-tests: Likewise.
9837         * modules/vc-list-files-tests: Likewise.
9838         * modules/verify-tests: Likewise.
9839         * modules/xalloc-die-tests: Likewise.
9840         * modules/xstrtoimax-tests: Likewise.
9841         * modules/xstrtol-tests: Likewise.
9842         * modules/xstrtoll-tests: Likewise.
9843         * modules/xstrtoumax-tests: Likewise.
9844         * modules/yesno-tests: Likewise.
9845
9846 2011-12-22  Jim Meyering  <meyering@redhat.com>
9847
9848         test-framework-sh: add minimal tests of init.sh's compare function
9849         * modules/test-framework-sh-tests: New file.
9850         * tests/test-init.sh: New file.
9851
9852         test-framework-sh: new module
9853         * modules/test-framework-sh: New file.
9854         * MODULES.html.sh (Support for maintaining and releasing projects):
9855         List it.
9856
9857         init.sh: do not emit simulated diff output to stderr
9858         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9859
9860 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9861
9862         .gitignore: ignore gnulib.dvi and regex.info
9863         * doc/.gitignore:add gnulib.dvi and regex.info
9864
9865 2011-12-22  Jim Meyering  <meyering@redhat.com>
9866
9867         init.sh: correct previous change
9868         * tests/init.sh (compare): My previous change was wrong.
9869         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9870
9871         init.sh: avoid unwarranted test failure when using "set -e"
9872         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9873         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9874         a use like "compare exp out" would get evoke an unconditional failure.
9875
9876 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9877
9878         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9879         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9880         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9881         autoreconf that did not.
9882         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9883         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9884
9885 2011-12-17  Jim Meyering  <meyering@redhat.com>
9886
9887         bootstrap: remove some now-unneeded code
9888         This script arose back when gnulib-tool was young.
9889         Since then, it has seen improvements that render much of this
9890         script unnecessary.  In particular, it can now make symlinks
9891         to the files it uses.  Also, I no longer see as much value in
9892         marking files as read-only via comments.
9893         If you relied on the symlink-creation feature of the preceding
9894         version of this script, you can get most of that functionality
9895         by adding the --symlink option to the definition of
9896         gnulib_tool_option_extras in your bootstrap.conf file.
9897         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9898         Run autopoint and libtoolize *before* gnulib-tool.
9899         After it, run an abbreviated autoreconf, rather than a loop around
9900         all tools.
9901         (slirp, bt_mark_as_generated): Remove functions.
9902
9903 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9904
9905         ftoastr: fix typo
9906         * lib/ftoastr.h: Fix misspelling in comment.
9907
9908 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9909
9910         * top/README-release: fix punctuation.
9911
9912 2011-12-17  Jim Meyering  <meyering@redhat.com>
9913
9914         bootstrap: correct the recent buildreq change
9915         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9916         had no effect.
9917         * build-aux/bootstrap (buildreq): Bracket each search term with
9918         "*...*", so that the shell "case" statement works as intended.
9919         Add comments.
9920
9921 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9922
9923         build: let bootstrap resort to wget when downloading .po files
9924         * build-aux/bootstrap (download_po_files): Fallback to wget when
9925         downloading the .po files via rsync fails.  This is necessary to
9926         bootstrap from behind a strict firewall.
9927
9928 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9929
9930         stdint: don't assume C++11 when compiling with g++
9931         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9932         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9933         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9934         work also in C++ before C++11, as that improperly inhibits
9935         generating a substitute stdint.h for that case.
9936
9937 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9938
9939         alloca: protect comment from gnulib-tool
9940         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9941         that gnulib-tool doesn't think it's a license, and munge it to
9942         say "GCC version 3".
9943
9944 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9945
9946         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9947         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9948         $(abs_top_builddir) instead of $(top_builddir).
9949
9950 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9951
9952         strftime-tests: also test nanoseconds
9953         * tests/test-strftime.c (T): Add a test of %N.
9954
9955 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9956
9957         inttypes, stdint: add C++11 support
9958         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9959         when including inttypes.h and stdint.h.  Support this change to
9960         the standard.
9961         * doc/posix-headers/inttypes.texi (inttypes.h):
9962         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9963         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9964         Define if not defined already, for the benefit of pre-C++11 hosts.
9965         Define the standard format macros (e.g., PRId8) always.
9966         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9967         Likewise, if __cpluspus.  Define the standard constant and limit
9968         macros (e.g., INT8_C, INT8_MAX) always.
9969         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9970         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9971         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9972         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9973         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9974         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9975         Likewise.
9976
9977 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9978
9979         nonblocking tests: Fix test failure on Linux/PPC.
9980         Suggested by Prerna Saxena in
9981         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9982         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9983         Set to 1100000.
9984
9985 2011-12-12  Jim Meyering  <meyering@redhat.com>
9986
9987         argmatch: don't hard-code `' when listing valid option arguments
9988         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9989         use the quote function to add quotes.  Use fputs rather than
9990         fprintf for the format string with no format directive.
9991
9992 2011-12-07  Eric Blake  <eblake@redhat.com>
9993
9994         bootstrap: detect tools required by gnulib-tool
9995         * build-aux/bootstrap (buildreq): Provide minimum implicit
9996         dependencies.
9997         * DEPENDENCIES: Mention patch as a prereq.
9998
9999 2011-12-04  Bruno Haible  <bruno@clisp.org>
10000
10001         sethostname: Port to Windows platforms.
10002         * lib/sethostname.c: Provide an alternate implementation for Windows
10003         platforms.
10004         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
10005         (main): Skip the test if sethostname() fails with EPERM. On Windows
10006         platforms, don't check the result of gethostname().
10007
10008 2011-12-04  Bruno Haible  <bruno@clisp.org>
10009             Jim Meyering  <meyering@redhat.com>
10010
10011         tests: Avoid spurious error message on platforms without mktemp program.
10012         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
10013
10014 2011-12-04  Bruno Haible  <bruno@clisp.org>
10015
10016         sethostname: Fix documentation.
10017         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
10018         "not fixed" section.
10019
10020 2011-12-03  Bruno Haible  <bruno@clisp.org>
10021
10022         gnulib-tool: Verify that the License field is present and non-empty.
10023         * gnulib-tool (func_get_license_raw): New function, extracted from
10024         func_get_license.
10025         (func_get_license): Use it. Warn if the module is not a test module and
10026         has no license.
10027         Suggested by Jim Meyering.
10028
10029 2011-12-03  Bruno Haible  <bruno@clisp.org>
10030
10031         sethostname tests: Fix link error on mingw.
10032         * tests/test-sethostname1.c: New file, extracted from
10033         tests/test-sethostname.c.
10034         * tests/test-sethostname2.c: New file, extracted from
10035         tests/test-sethostname.c.
10036         * tests/test-sethostname.c: Remove file.
10037         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
10038         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
10039         (Depends-on): Add gethostname.
10040         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
10041         Link the latter with $(GETHOSTNAME_LIB).
10042
10043         sethostname tests: Fix compilation error on mingw.
10044         * tests/test-sethostname.c: Don't include <sys/types.h>.
10045         (geteuid): Use a dummy value without uid_t.
10046         * modules/sethostname-tests (Depends-on): Remove sys_types.
10047
10048         sethostname tests: Avoid a gcc warning.
10049         * tests/test-sethostname.c (main): Remove an unused variable.
10050
10051         Tweak last commit.
10052         * modules/sethostname-tests (Files): Sort by decreasing importance.
10053         (configure.ac): Check for geteuid.
10054         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
10055         the test when there's nothing to test. Drop an unnecessary cast.
10056         Improve an error message. Verify that the final sethostname() call
10057         succeeds.
10058
10059 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10060
10061         Add a test suite for the sethostname module.
10062         * modules/sethostname-tests: New file.  A test program
10063         for the sethostname module.
10064         * tests/test-sethostname.c: Likewise.
10065
10066 2011-12-03  Bruno Haible  <bruno@clisp.org>
10067
10068         Tweak last commit.
10069         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
10070         Fix preprocessor directives indentation. Fix typos.
10071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
10072         * modules/unistd (Makefile): Likewise.
10073
10074 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10075
10076         Integrate the sethostname module into unistd.
10077         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
10078         into the unistd.h header.
10079         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
10080         preprocessor directives.
10081         * modules/unistd: Setup the Makefile substitutions of the
10082         SETHOSTNAME preprocessor directives.
10083
10084 2011-12-03  Bruno Haible  <bruno@clisp.org>
10085
10086         Tweak last commit.
10087         * lib/sethostname.c: Don't include <string.h>.
10088         (sethostname): No need to copy the argument string to the stack. Don't
10089         call clearerr. Preserve errno when fprintf failed.
10090         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
10091         Don't invoke AC_REPLACE_FUNCS.
10092         * modules/sethostname (Link): Remove empty section.
10093         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
10094         failure problem.
10095
10096 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10097
10098         New module 'sethostname'.
10099         * lib/sethostname.c (sethostname): New file.  Provide sethostname
10100         for systems that lack it.
10101         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
10102         sethostname declaration and function.
10103         * modules/sethostname: New file.  Define the sethostname module.
10104
10105 2011-12-03  Bruno Haible  <bruno@clisp.org>
10106
10107         Tweak last commit.
10108         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
10109
10110 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10111
10112         Split the HOST_NAME_MAX detection into a separate m4 macro.
10113         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
10114         macro so it can be used by the pending sethostname module.
10115
10116 2011-12-03  Bruno Haible  <bruno@clisp.org>
10117
10118         Fix module descriptions syntax.
10119         * modules/argv-iter (License): Fix syntax.
10120         * modules/di-set (License): Likewise.
10121         * modules/ino-map (License): Likewise.
10122         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
10123
10124 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
10125
10126         stdalign: port to Clang 3.0
10127         Problem reported by Simon Josefsson in
10128         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
10129         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
10130         which has <stdalign.h> but which does not define alignof.
10131         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
10132
10133 2011-12-01  Eric Blake  <eblake@redhat.com>
10134
10135         mktempd: silence dd usage
10136         * build-aux/mktempd (rand_bytes): Silence dd.
10137
10138 2011-11-30  Simon Josefsson  <simon@josefsson.org>
10139
10140         manywarnings: Don't mention gcc version in docstring.
10141         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
10142         Jim Meyering <meyering@redhat.com>.
10143
10144 2011-11-30  Jim Meyering  <meyering@redhat.com>
10145
10146         hash: mark a few floating point constants with "f" suffix
10147         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
10148         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
10149         floating point constants with "f", since they're destined to be
10150         saved/used as "float"s.
10151
10152 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
10153
10154         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
10155         * tests/test-float.c (test_long_double): Correct and re-enable the
10156         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
10157
10158 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
10159
10160         Avoid subtracting two pointers that don't point into the same block.
10161         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
10162         only pointers into the same memory block are subtracted. We cannot
10163         assume that sizeof (ptrdiff_t) == sizeof (void *).
10164
10165 2011-11-29  Eric Blake  <eblake@redhat.com>
10166
10167         maint.mk: add syntax check for use of compare from init.sh
10168         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
10169         moved here from coreutils.
10170
10171         manywarnings: drop -Wunsuffixed-float-constants
10172         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
10173         '1.0D', which is the only way to silence this warning for 'double'.
10174
10175 2011-11-29  Jim Meyering  <meyering@redhat.com>
10176
10177         hash: mark compute_bucket_size with the pure attribute
10178         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
10179
10180         quotearg, propername: correct pragma guard expression
10181         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
10182         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
10183
10184 2011-11-28  Jim Meyering  <meyering@redhat.com>
10185
10186         propername: do not mark proper_name with the const attribute
10187         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
10188         since it examines data pointed to by its parameter.
10189         * lib/propername.c (proper_name): Instead, add a pragma to suppress
10190         the suggestion from -Wsuggest-attribute=const.
10191
10192         propername: mark one more function as const
10193         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
10194
10195 2011-11-27  Jim Meyering  <meyering@redhat.com>
10196
10197         mark functions with const and pure attributes
10198
10199         Mark functions per suggestions from gcc-4.6 when using these options:
10200         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
10201         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
10202         Follow these guidelines: when possible, apply the attribute to
10203         an extern declaration, not to its definition.  Apply it to the
10204         definition only when the definition is static.
10205         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
10206         * lib/argv-iter.h (argv_iter_n_args): Likewise.
10207         * lib/base64.h (isbase64): Likewise.
10208         * lib/basename-lgpl.c (last_component, base_len): Likewise.
10209         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
10210         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
10211         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
10212         (c_tolower, c_toupper): Likewise.
10213         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
10214         * lib/chdir-long.c (find_non_slash): Likewise.
10215         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
10216         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
10217         * lib/file-type.h (file_type): Likewise.
10218         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
10219         * lib/filevercmp.c (verrevcmp): Likewise.
10220         * lib/freadahead.h (freadahead): Likewise.
10221         * lib/fts.c (fts_maxarglen): Likewise.
10222         * lib/hash-pjw.h (hash_pjw): Likewise.
10223         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
10224         * lib/hash.c (is_prime, next_prime): Likewise.
10225         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
10226         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
10227         (hash_table_ok, hash_get_first, hash_string): Likewise.
10228         (compute_bucket_size): Likewise.
10229         * lib/i-ring.h (i_ring_empty): Likewise.
10230         * lib/isnan.c (isnanl): Likewise.
10231         * lib/math.h (isnanl, rpl_isnanl): Likewise.
10232         * lib/memcasecmp.h (memcasecmp): Likewise.
10233         * lib/memchr2.h (memchr2): Likewise.
10234         * lib/memcmp2.h (memcmp2): Likewise.
10235         * lib/parse-datetime.y (lookup_zone): Likewise.
10236         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
10237         [!WINDOWS_SOCKETS]: Likewise.
10238         * lib/strnlen1.h (strnlen1): Likewise.
10239         * lib/uniwidth.in.h (uc_width): Likewise.
10240         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
10241         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
10242         (quoting_options_from_style): Add a comment.
10243         * lib/propername.h (proper_name): Add a comment.
10244
10245 2011-11-27  Bruno Haible  <bruno@clisp.org>
10246
10247         Remove unused macros from !_LIBC code in glibc-borrowed files.
10248         * lib/fnmatch.c (STRCOLL): Remove macro.
10249         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
10250         * lib/glob.c (__stat, __readdir64): Remove macros.
10251         * lib/tempname.c (__open64, __xstat64): Remove macros.
10252         Suggested by Paul Eggert.
10253
10254 2011-11-27  Bruno Haible  <bruno@clisp.org>
10255
10256         getcwd: Fix link error on MSVC 9.
10257         * modules/getcwd (Depends-on): Add readdir, rewinddir.
10258
10259 2011-11-27  Bruno Haible  <bruno@clisp.org>
10260
10261         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
10262         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
10263         HAVE_OPENDIR is 0.
10264         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
10265         HAVE_CLOSEDIR is 0.
10266         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
10267         is 0.
10268         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
10269
10270 2011-11-27  Bruno Haible  <bruno@clisp.org>
10271
10272         getcwd: Fix bug from 2011-08-17.
10273         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
10274         platforms that need it.
10275         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
10276         code of 4 to be a failure, not a success. This ensures that
10277         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
10278
10279 2011-11-27  Bruno Haible  <bruno@clisp.org>
10280
10281         binary-io tests: Avoid test failure on mingw when libtool is used.
10282         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
10283         Don't verify the size of t-bin-out1.tmp here.
10284         * tests/test-binary-io.sh: Verify it here.
10285         Reported by Simon Josefsson.
10286
10287 2011-11-26  Bruno Haible  <bruno@clisp.org>
10288
10289         Fix conflict between two instantiations of module 'unistd'.
10290         * gnulib-tool (func_emit_autoconf_snippet): Substitute
10291         ${include_guard_prefix} also in the autoconf snippet.
10292         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
10293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
10294         GNULIB_UNISTD_H_GETOPT.
10295         * modules/getopt-posix (configure.ac): Set the
10296         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
10297         * modules/getopt-gnu (configure.ac): Likewise.
10298         * modules/unistd (Makefile.am): Change the substitution value of
10299         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
10300         Reported by Simon Josefsson.
10301
10302 2011-11-25  Bruno Haible  <bruno@clisp.org>
10303
10304         pagealign_alloc: Doc and comments.
10305         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
10306         module.
10307         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
10308
10309 2011-11-25  Jim Meyering  <meyering@redhat.com>
10310
10311         test-update-copyright.sh: avoid false-positive failure
10312         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
10313         around false positive failure on Cygwin/Windows.  The latter was
10314         matching erroneously-created files with names like
10315         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
10316
10317 2011-11-25  Simon Josefsson  <simon@josefsson.org>
10318
10319         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
10320         * m4/valgrind-tests.m4: Check that the parameters that will be
10321         used works, not just a subset of them.  Reported by Bruno Haible
10322         <bruno@clisp.org>.
10323
10324 2011-11-24  Jim Meyering  <meyering@redhat.com>
10325
10326         test-stdalign.c: comment out long double tests
10327         * tests/test-stdalign.c: Don't try to reduce alignment of long double
10328         variables.  That provokes errors like this from gcc-4.7.0 20111124:
10329         error: '_Alignas' specifiers cannot reduce alignment of \
10330         'static_longdouble_alignas'.
10331
10332 2011-11-22  Jim Meyering  <meyering@redhat.com>
10333
10334         init.sh: make "compare /dev/null FILE" output more readable
10335         * tests/init.sh (compare_): Document the preferred order of arguments.
10336         (emit_diff_u_header_): New function.
10337         (compare_dev_null_): Emit a simulated diff, rather than just the
10338         contents of the unexpected file.  Suggestion from Bruno Haible.
10339
10340 2011-11-21  Jim Meyering  <meyering@redhat.com>
10341             Eric Blake  <eblake@redhat.com>
10342
10343         init.sh: work around OSF/1 5.1's mishandling of /dev/null
10344         * tests/init.sh: Make our compare function slightly more portable.
10345         Reported by Bruno Haible in
10346         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
10347
10348 2011-11-21  Simon Josefsson  <simon@josefsson.org>
10349
10350         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
10351         before using it, in code that ends up in config.h.
10352
10353 2011-11-20  Bruno Haible  <bruno@clisp.org>
10354
10355         getcwd: Work around getcwd bug on AIX 5..7.
10356         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
10357         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
10358         Use a different value for gl_cv_func_getcwd_path_max. Move the
10359         definition of HAVE_PARTLY_WORKING_GETCWD from here...
10360         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
10361         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
10362         Define HAVE_MINIMALLY_WORKING_GETCWD.
10363         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
10364         where it is not even minimally working, that is, on AIX.
10365         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
10366         m4/getcwd-path-max.m4.
10367         (main): Update exit code computation.
10368         * doc/posix-functions/getcwd.texi: Mention list of platforms where
10369         getcwd does not handle long file names.
10370
10371 2011-11-20  Bruno Haible  <bruno@clisp.org>
10372
10373         getcwd: Fix bug from 2009-09-10.
10374         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
10375         like "no".
10376
10377 2011-11-20  Simon Josefsson  <simon@josefsson.org>
10378
10379         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
10380
10381 2011-11-20  Bruno Haible  <bruno@clisp.org>
10382
10383         fma tests: Avoid shadowing local variables.
10384         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
10385         expected.
10386
10387 2011-11-20  Bruno Haible  <bruno@clisp.org>
10388
10389         copysignf tests: Fix.
10390         * tests/test-copysignf.c: Fix signature check.
10391
10392 2011-11-20  Bruno Haible  <bruno@clisp.org>
10393
10394         fma: Remove unused code.
10395         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
10396         unused macros.
10397
10398 2011-11-20  Bruno Haible  <bruno@clisp.org>
10399
10400         sethostname: Fix doc about AIX.
10401         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
10402         sethostname; it has it.
10403
10404         sethostname: Mention more portability problems.
10405         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
10406         problem.
10407         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
10408
10409 2011-11-19  Bruno Haible  <bruno@clisp.org>
10410
10411         Depend on module fcntl-h when AT_FDCWD is used.
10412         * modules/utimens (Depends-on): Add fcntl-h.
10413         * modules/areadlinkat (Depends-on): Likewise.
10414         * modules/areadlinkat-with-size (Depends-on): Likewise.
10415         * modules/faccessat (Depends-on): Likewise.
10416         * modules/fchmodat (Depends-on): Likewise.
10417         * modules/fchownat (Depends-on): Likewise.
10418         * modules/getcwd (Depends-on): Likewise.
10419         * modules/mkdirat (Depends-on): Likewise.
10420         * modules/mkfifoat (Depends-on): Likewise.
10421         * modules/readlinkat (Depends-on): Likewise.
10422         * modules/symlinkat (Depends-on): Likewise.
10423         * modules/dup2-tests (Depends-on): Likewise.
10424         * modules/fdutimensat-tests (Depends-on): Likewise.
10425         * modules/futimens-tests (Depends-on): Likewise.
10426
10427 2011-11-19  Bruno Haible  <bruno@clisp.org>
10428
10429         euidaccess: Update a comment.
10430         * lib/euidaccess.c: Update comment about platforms with faccessat.
10431
10432 2011-11-19  Bruno Haible  <bruno@clisp.org>
10433
10434         openat: Fix file list.
10435         * modules/openat (Files): Remove lib/at-func.c.
10436
10437 2011-11-19  Bruno Haible  <bruno@clisp.org>
10438
10439         fstatat: Simplify.
10440         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
10441         gnulib should define rpl_fstatat, there is a
10442         "#define fstatat rpl_fstatat" in <sys/stat.h>.
10443
10444 2011-11-19  Bruno Haible  <bruno@clisp.org>
10445
10446         Ensure 'inline' can be used in tests/test-utimens-common.h.
10447         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
10448         * modules/futimens-tests (configure.ac): Likewise.
10449         * modules/utimens-tests (configure.ac): Likewise.
10450         * modules/utimensat-tests (configure.ac): Likewise.
10451
10452 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10453
10454         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
10455         not hash_insert0.
10456         (hash_insert_if_absent): Doc fix.
10457
10458 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10459
10460         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10461
10462 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10463
10464         test-getcwd: disambiguate exit status
10465         * tests/test-getcwd.c (test_long_name): Return 0..7.
10466         (main): Exit with an unambiguous exit status.  The old
10467         code yielded a mysterious mixture of two failure codes.
10468
10469         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10470         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10471         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10472         rpl_fstatat or fstatat.  This should fix the other problem
10473         reported by Kai Habel in
10474         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10475         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10476         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10477         and I reproduced it on a Solaris 8 host we still have in production.
10478
10479 2011-11-18  Jim Meyering  <meyering@redhat.com>
10480
10481         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10482         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10483         Add a sentence to the comment.
10484         (hash_insert0): New function that simply calls hash_insert_if_absent.
10485         * lib/hash.h (hash_insert_if_absent): Declare it.
10486         (hash_insert0): Add deprecation attribute.
10487         (_GL_ATTRIBUTE_DEPRECATED): Define.
10488         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10489         not hash_insert0.
10490         * NEWS: Mention it, even though it's not really an incompatible change.
10491
10492 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10493
10494         openat: avoid compilation failure due to lack of <errno.h> inclusion
10495         * lib/openat.c: Include <errno.h>.
10496
10497 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10498
10499         * modules/getcwd (Depends-on): Add fdopendir.
10500         This fixes one of the two problems reported by Kai Habel in
10501         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10502
10503         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10504         stdalign problem reported by Ian Beckwith in
10505         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10506         * modules/crypto/gc-arcfour (Depends-on):
10507         Depend conditionally on crypto/arcfour.
10508         * modules/crypto/gc-arctwo (Depends-on):
10509         Depend conditionally on crypto/arctwo.
10510         * modules/crypto/gc-des (Depends-on):
10511         Depend conditionally on crypto/des.
10512         * modules/crypto/gc-hmac-md5 (Depends-on):
10513         Depend conditionally on crypto/hmac-md5.
10514         * modules/crypto/gc-hmac-sha1 (Depends-on):
10515         Depend conditionally on crypto/hmac-sha1.
10516         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10517         * modules/crypto/gc-md4 (Depends-on):
10518         Depend conditionally on crypto/md4.
10519         * modules/crypto/gc-md5 (Depends-on):
10520         Depend conditionally on crypto/md5.
10521         * modules/crypto/gc-rijndael (Depends-on):
10522         Depend conditionally on crypto/rijndael.
10523         * modules/crypto/gc-sha1 (Depends-on):
10524         Depend conditionally on crypto/sha1.
10525         * modules/crypto/gc-arcfour:
10526         * modules/crypto/gc-arctwo:
10527         * modules/crypto/gc-des:
10528         * modules/crypto/gc-hmac-md5:
10529         * modules/crypto/gc-hmac-sha1:
10530         * modules/crypto/gc-md2:
10531         * modules/crypto/gc-md4:
10532         * modules/crypto/gc-md5:
10533         * modules/crypto/gc-rijndael:
10534         * modules/crypto/gc-sha1:
10535         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10536         now that the conditional dependencies do the work for us.
10537
10538 2011-11-17  Jim Meyering  <meyering@redhat.com>
10539
10540         tests: factor st_ctime-comparison out of two headers
10541         * tests/test-utimens-common.h (ctime_compare): Define.
10542         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10543         * tests/test-lutimens.h (test_lutimens): Likewise.
10544         * tests/test-utimens.h (test_utimens): Likewise.
10545
10546         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10547         Invoke the test program via an init.sh-using wrapper.
10548         * tests/test-getcwd.sh: New file.
10549         * modules/getcwd-tests (Files): Add it.
10550         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10551
10552 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10553
10554         gitlog-to-changelog: support multi-author commits.
10555         The FSF cares about keeping track of all authors of patches to its
10556         projects, but Git doesn't provide obvious support for multi-author
10557         changesets. Consensus seems to be forming around the use of extra
10558         Signed-off-by inspired lines in the log message formatted as
10559         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10560         multi-author commits between version control systems.
10561         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10562         log message and output in standard ChangeLog multi-author format.
10563         Reported by Peter Rosin <peda@lysator.liu.se>
10564
10565 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10566             Bruno Haible  <bruno@clisp.org>
10567
10568         Fix some modules' file list.
10569         * modules/fstatat (Files): Add m4/lstat.m4.
10570         * modules/openat (Files): Likewise.
10571         * modules/unlinkat (Files): Likewise.
10572
10573 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10574
10575         maint.mk: fix tight-scope.mk generation in VPATH builds.
10576         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10577         reference with $(srcdir) so that the file is found correctly even
10578         when running `make syntax-check' in a VPATH build.
10579
10580 2011-11-13  Bruno Haible  <bruno@clisp.org>
10581             Jim Meyering  <meyering@redhat.com>
10582
10583         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10584         * tests/init.sh (compare): Remove "No differences encountered" or
10585         synonymous output from the 'diff' program.
10586
10587 2011-11-13  Bruno Haible  <bruno@clisp.org>
10588
10589         Makefile: Tweak indentation.
10590         * Makefile: Use tab as first character in every line that contains rule
10591         commands.
10592
10593 2011-11-13  Bruno Haible  <bruno@clisp.org>
10594
10595         Syntax check for copyright statements.
10596         * check-copyright: New file.
10597         * Makefile (sc_check_copyright): New rule.
10598
10599 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10600
10601         * build-aux/git-version-gen: Add --prefix to configure the tag
10602         match string.
10603
10604 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10605
10606         * build-aux/git-version-gen: Add --help and --version.
10607
10608 2011-11-12  Jim Meyering  <meyering@redhat.com>
10609
10610         revamp the other test-exclude?.sh scripts to use init.sh, too
10611         * tests/test-exclude1.sh: Use init.sh.
10612         * tests/test-exclude2.sh: Likewise.
10613         * tests/test-exclude3.sh: Likewise.
10614         * tests/test-exclude4.sh: Likewise.
10615         * tests/test-exclude5.sh: Likewise.
10616         * tests/test-exclude6.sh: Likewise.
10617         * tests/test-exclude7.sh: Likewise.
10618         * tests/test-exclude8.sh: Likewise.
10619         * modules/exclude-tests (Files): List init.sh.
10620
10621         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10622         These shell scripts ignored failure of the binary test-exclude,
10623         so making the latter return 77 didn't cause them to be skipped.
10624         * tests/test-exclude5.sh: Exit with test-exclude's error status
10625         when that program fails.  Revamp to use init.sh.
10626         * tests/test-exclude2.sh: Likewise.
10627
10628         test-exclude: fix a typo
10629         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10630
10631 2011-11-11  Bruno Haible  <bruno@clisp.org>
10632
10633         obstack: Fix compilation error on MSVC 9.
10634         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10635
10636 2011-11-11  Jim Meyering  <meyering@redhat.com>
10637
10638         test-exclude: skip tests rather than failing on deficient systems
10639         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10640         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10641         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10642         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10643
10644 2011-11-10  Bruno Haible  <bruno@clisp.org>
10645
10646         ptsname_r test: Avoid gcc warning on glibc systems.
10647         * tests/test-ptsname_r.c (null_ptr): New function.
10648         (test_errors): Use it.
10649
10650 2011-11-10  Bruno Haible  <bruno@clisp.org>
10651
10652         ptsname_r: Avoid compilation error on OSF/1 5.1.
10653         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10655         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10656         function is not declared or incompatibly declared.
10657         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10658         * modules/ptsname_r (Depends-on, configure.ac): Update.
10659         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10660
10661 2011-11-10  Bruno Haible  <bruno@clisp.org>
10662
10663         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10664         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10665         When cross-compiling, guess yes on all platforms except AIX.
10666         Reported by Ludovic Courtès <ludo@gnu.org>.
10667
10668 2011-11-09  Bruno Haible  <bruno@clisp.org>
10669
10670         ptsname_r tests: Fix bugs.
10671         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10672         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10673
10674 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10675
10676         fstatat: work with cross-compilation
10677         Problem reported by Ludovic Courtès in
10678         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10679         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10680         "cross-compiling" and assume the bug is present.  Replace
10681         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10682         an inverted sense, to be more conservative about our assumptions.
10683         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10684
10685 2011-11-09  Bruno Haible  <bruno@clisp.org>
10686
10687         Improve MODULES.html output.
10688         * modules/mkfifoat (Description): Use the word "function".
10689         * modules/readlinkat (Description): Likewise.
10690         * modules/symlinkat (Description): Likewise.
10691
10692 2011-11-09  Eric Blake  <eblake@redhat.com>
10693
10694         ptsname_r-tests: new test module
10695         * modules/ptsname_r-tests: New module.
10696         * tests/test-ptsname_r.c: New file.
10697
10698         ptsname_r: new module
10699         * modules/ptsname_r: New module.
10700         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10701         * lib/ptsname.c (__ptsname_r): Split...
10702         * lib/ptsname_r.c: ...into new file.
10703         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10704         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10705         * modules/stdlib (Makefile.am): Substitute witnesses.
10706         * lib/stdlib.in.h (ptsname_r): Declare it.
10707         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10708         * MODULES.html.sh (Misc): Likewise.
10709         * modules/ptsname (Depends-on): Alter dependency.
10710         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10711
10712 2011-11-09  Jim Meyering  <meyering@redhat.com>
10713
10714         announce-gen: be more concise when there's only one URL+tarball
10715         * build-aux/announce-gen (get_tool_versions): When you distribute
10716         only one type of tarball, combine the first two "Here are..."
10717         sections and make the key-checking grammar independent of
10718         how many tarballs there are.
10719
10720 2011-11-09  Eric Blake  <eblake@redhat.com>
10721
10722         openpty: provide a stub on mingw
10723         * lib/pty.in.h (includes): Provide forward declarations.
10724         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10725
10726         raise: fix mingw handling of SIGPIPE
10727         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10728
10729 2011-11-08  Bruno Haible  <bruno@clisp.org>
10730
10731         More conditional dependencies.
10732         * modules/faccessat (Depends-on): Add conditions.
10733         * modules/fchmodat (Depends-on): Likewise.
10734         * modules/fchownat (Depends-on): Likewise.
10735         * modules/fstatat (Depends-on): Likewise.
10736         * modules/mkfifoat (Depends-on): Likewise.
10737         * modules/readlinkat (Depends-on): Likewise.
10738         * modules/symlinkat (Depends-on): Likewise.
10739         * modules/unlinkat (Depends-on): Likewise.
10740         * modules/utimensat (Depends-on): Likewise.
10741         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10742         * modules/linkat (Depends-on): Refine the conditions.
10743         * modules/renameat (Depends-on): Likewise.
10744
10745 2011-11-08  Bruno Haible  <bruno@clisp.org>
10746
10747         faccessat: Move AC_LIBOBJ invocation to module description.
10748         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10749         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10750         invocation from here...
10751         * modules/faccessat (configure.ac): ... to here. Invoke
10752         gl_PREREQ_FACCESSAT.
10753
10754 2011-11-08  Bruno Haible  <bruno@clisp.org>
10755
10756         faccessat: Simplify autoconf macro.
10757         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10758         gl_FUNC_EUIDACCESS.
10759
10760 2011-11-08  Bruno Haible  <bruno@clisp.org>
10761
10762         renameat: Fix dependencies.
10763         * modules/renameat (Depends-on): Add stdbool.
10764
10765 2011-11-08  Bruno Haible  <bruno@clisp.org>
10766
10767         mkfifoat: Fix module description.
10768         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10769         not gl_UNISTD_MODULE_INDICATOR.
10770
10771 2011-11-08  Bruno Haible  <bruno@clisp.org>
10772
10773         fstatat: Remove unused dependency.
10774         * modules/fstatat (Depends-on): Remove fstat.
10775
10776 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10777
10778         GNUmakefile: behave when Makefile is missing.
10779         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10780
10781 2011-11-08  Bruno Haible  <bruno@clisp.org>
10782
10783         openat: Conditionalize dependencies.
10784         * lib/openat.c: Reduce the scope of some #includes.
10785         * modules/openat (Depends-on): Add conditions.
10786
10787 2011-11-07  Jim Meyering  <meyering@redhat.com>
10788
10789         maint.mk: extract GPG key ID without using a temporary file
10790         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10791         without using a temporary file.  Based on a suggestion from Werner Koch
10792         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10793
10794 2011-11-07  Eric Blake  <eblake@redhat.com>
10795
10796         grantpt: fix typo
10797         * lib/stdlib.in.h (grantpt): Check correct function.
10798
10799         maint.mk: silence new syntax check
10800         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10801
10802 2011-11-06  Bruno Haible  <bruno@clisp.org>
10803
10804         Doc about floating-point and math API.
10805         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10806         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10807
10808 2011-11-06  Bruno Haible  <bruno@clisp.org>
10809
10810         stdalign tests: Skip the test when compiled by Sun C.
10811         * tests/test-stdalign.c (main): Skip the test on Sun C.
10812
10813 2011-11-06  Bruno Haible  <bruno@clisp.org>
10814
10815         ansi-c++-opt: Complete the 2011-06-05 change.
10816         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10817         does not support namespaces, set the variable to "no", not to ":".
10818
10819 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10820
10821         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10822
10823 2011-11-06  Bruno Haible  <bruno@clisp.org>
10824
10825         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10826         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10827         (minus_zerol) [HP-UX]: New macro.
10828         (unary_minus) [HP-UX]: New function.
10829         (copysignl) [HP-UX]: Use unary_minus function.
10830
10831 2011-11-06  Bruno Haible  <bruno@clisp.org>
10832
10833         ldexp, ldexpf, ldexpl: Enhance tests.
10834         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10835         and tests/test-ldexpl.c.
10836         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10837         LDEXP, MIN_EXP, MAX_EXP): New macros.
10838         Include test-ldexp.h.
10839         (main): Just call test_function.
10840         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10841         infinity.h, nan.h.
10842         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10843         MAX_EXP): New macros.
10844         Include test-ldexp.h.
10845         (x, y): Remove variables.
10846         (main): Just call test_function.
10847         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10848         infinity.h, nan.h.
10849         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10850         MAX_EXP): New macros.
10851         Include test-ldexp.h.
10852         (x, y): Remove variables.
10853         (main): Just call test_function.
10854         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10855         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10856         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10857         (Depends-on): Add isnand-nolibm, signbit, float.
10858         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10859         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10860         (Depends-on): Add isnanf-nolibm, signbit, float.
10861
10862 2011-11-06  Bruno Haible  <bruno@clisp.org>
10863
10864         math tests: Cosmetics.
10865         * tests/test-math-c++.cc: Reorder declarations.
10866
10867 2011-11-05  Bruno Haible  <bruno@clisp.org>
10868
10869         fma*: Simplify test.
10870         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10871         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10872
10873         Tests for module 'fmal'.
10874         * modules/fmal-tests: New file.
10875         * tests/test-fmal1.c: New file.
10876         * tests/test-fmal2.c: New file.
10877
10878         New module 'fmal'.
10879         * lib/math.in.h (fmal): New declaration.
10880         * lib/fmal.c: New file.
10881         * m4/fmal.m4: New file.
10882         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10883         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10884         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10885         REPLACE_FMAL.
10886         * modules/fmal: New file.
10887         * doc/posix-functions/fmal.texi: Mention the new module and the various
10888         bugs.
10889
10890         Tests for module 'fmaf'.
10891         * modules/fmaf-tests: New file.
10892         * tests/test-fmaf1.c: New file.
10893         * tests/test-fmaf2.c: New file.
10894
10895         New module 'fmaf'.
10896         * lib/math.in.h (fmaf): New declaration.
10897         * lib/fmaf.c: New file.
10898         * m4/fmaf.m4: New file.
10899         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10900         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10901         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10902         REPLACE_FMAF.
10903         * modules/fmaf: New file.
10904         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10905         bugs.
10906
10907         Tests for module 'fma'.
10908         * modules/fma-tests: New file.
10909         * tests/test-fma1.c: New file.
10910         * tests/test-fma1.h: New file.
10911         * tests/test-fma2.c: New file.
10912         * tests/test-fma2.h: New file.
10913
10914         New module 'fma'.
10915         * lib/math.in.h (fma): New declaration.
10916         * lib/fma.c: New file.
10917         * m4/fma.m4: New file.
10918         * m4/fegetround.m4: New file.
10919         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10920         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10921         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10922         REPLACE_FMA.
10923         * modules/fma: New file.
10924         * doc/posix-functions/fma.texi: Mention the new module and the various
10925         bugs.
10926
10927         Extend gl_MATHFUNC.
10928         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10929         Support 'void' as argument type.
10930         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10931
10932 2011-11-05  Jim Meyering  <meyering@redhat.com>
10933
10934         maint.mk: also prohibit inclusion of dirent.h without use
10935         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10936
10937 2011-11-05  Bruno Haible  <bruno@clisp.org>
10938
10939         ldexpl tests: Avoid test failure on MSVC 9.
10940         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10941         value. Needed in order to enforce the conversion from a value greater
10942         than LDBL_MAX to Infinity.
10943
10944 2011-11-05  Bruno Haible  <bruno@clisp.org>
10945
10946         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10947         * modules/at-internal: New file, extracted from modules/openat.
10948         * modules/openat-h: New file.
10949         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10950         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10951         * modules/openat (Description): Add reference to POSIX function.
10952         (Files): Remove lib/openat.h, lib/openat-proc.c.
10953         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10954         intprops, unistd.
10955         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10956         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10957         gl_FCNTL_MODULE_INDICATOR.
10958         (Include): Remove unistd.h, openat.h.
10959         * modules/areadlinkat (Files): Add lib/at-func.c.
10960         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10961         openat-die, openat-h, save-cwd.
10962         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10963         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10964         openat-die, openat-h, save-cwd, unistd.
10965         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10966         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10967         openat-h, save-cwd. Remove fcntl-h, openat.
10968         * modules/fchmodat (Files): Remove lib/openat.h.
10969         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10970         openat, stdbool, unistd.
10971         * modules/fchownat (Files): Remove lib/openat.h.
10972         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10973         openat, stdbool, sys_stat.
10974         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10975         lib/openat-proc.c.
10976         (Depends-on): Add at-internal.
10977         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10978         * modules/fstatat (Files): Remove lib/openat.h.
10979         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10980         stdbool, unistd.
10981         * modules/fts (Depends-on): Add openat-h.
10982         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10983         openat.
10984         * modules/mkdirat (Files): Remove lib/openat.h.
10985         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10986         openat, stdbool, sys_stat.
10987         * modules/mkfifoat (Files): Add lib/at-func.c.
10988         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10989         openat-h, save-cwd. Remove fcntl-h, openat.
10990         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10991         * modules/readlinkat (Files): Add lib/at-func.c.
10992         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10993         openat-h, save-cwd. Remove fcntl-h, openat.
10994         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10995         openat.
10996         * modules/selinux-at (Files): Add lib/at-func.c.
10997         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10998         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10999         * modules/symlinkat (Files): Add lib/at-func.c.
11000         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11001         openat-h, save-cwd. Remove fcntl-h, openat.
11002         * modules/unlinkat (Files): Remove lib/openat.h.
11003         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
11004         stdbool.
11005         * modules/utimensat (Files): Add lib/at-func.c.
11006         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
11007         openat-die, openat-h, save-cwd.
11008         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
11009         * modules/fdutimensat-tests (Depends-on): Add openat.
11010         * modules/fstatat-tests (Depends-on): Add openat-h.
11011         * modules/readlinkat-tests (Depends-on): Add openat.
11012         * modules/symlinkat-tests (Depends-on): Add openat.
11013
11014 2011-11-05  Bruno Haible  <bruno@clisp.org>
11015
11016         openat: Include <stdbool.h>.
11017         * lib/openat.c: Include <stdbool.h>.
11018
11019 2011-11-04  Bruno Haible  <bruno@clisp.org>
11020
11021         fchownat, renameat, unlinkat: Fix dependencies.
11022         * modules/fchownat (Depends-on): Add fstatat.
11023         * modules/renameat (Depends-on): Likewise.
11024         * modules/unlinkat (Depends-on): Likewise.
11025
11026 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
11027
11028         openat: remove direct dependency on dirent
11029         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
11030         and hasn't been needed ever since fdopendir was split into its own
11031         module on 2009-08-31.
11032         * modules/openat (Depends-on): Remove dirent.
11033
11034 2011-11-04  Bruno Haible  <bruno@clisp.org>
11035
11036         renameat: Optimize code size.
11037         * modules/renameat (configure.ac): Don't compile at-func2.c if
11038         REPLACE_RENAMEAT is 1.
11039
11040 2011-11-04  Bruno Haible  <bruno@clisp.org>
11041
11042         openat tests: Fix file list.
11043         * modules/openat-tests (Files): Add tests/test-open.h.
11044
11045 2011-11-04  Bruno Haible  <bruno@clisp.org>
11046
11047         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
11048         * modules/fchmodat (Depends-on): Add openat-die.
11049         * modules/fchownat (Depends-on): Likewise.
11050         * modules/linkat (Depends-on): Likewise.
11051         * modules/renameat (Depends-on): Likewise.
11052         * modules/openat (Depends-on): Add dirent.
11053
11054 2011-11-04  Jim Meyering  <meyering@redhat.com>
11055
11056         at-func*.c: fix comments
11057         * lib/at-func2.c: Correct/improve first-line comment.
11058         * lib/at-func.c: Correct grammar in first-line comment.
11059
11060 2011-11-04  Bruno Haible  <bruno@clisp.org>
11061
11062         New module 'mkdirat', split off from module 'openat'.
11063         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
11064         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
11065         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
11066         * modules/mkdirat: New file, extracted from modules/openat.
11067         * modules/openat (Files): Remove lib/mkdirat.c.
11068         (Depends-on): Remove mkdir.
11069         (configure.ac): Remove AC_LIBOBJ of mkdirat.
11070         (Include): Remove <sys/stat.h>.
11071         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
11072         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
11073         tests/test-mkdir.h.
11074         (Depends-on): Remove ignore-value.
11075         (Makefile.am): Remove rules for test-mkdirat.
11076         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
11077         of module 'openat'.
11078         * NEWS: Mention the change.
11079
11080 2011-11-04  Bruno Haible  <bruno@clisp.org>
11081
11082         closedir: Avoid warning on mingw.
11083         * lib/closedir.c: Include <unistd.h>.
11084
11085 2011-11-04  Bruno Haible  <bruno@clisp.org>
11086
11087         New module 'fstatat', split off from module 'openat'.
11088         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
11089         defined.
11090         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
11091         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
11092         gl_FUNC_FSTATAT.
11093         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
11094         * modules/fstatat: New file, extracted from modules/openat.
11095         * modules/openat (Files): Remove lib/fstatat.c.
11096         (Depends-on): Remove lstat.
11097         (configure.ac): Remove AC_LIBOBJ of fstatat.
11098         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
11099         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
11100         tests/test-lstat.h, tests/test-stat.h.
11101         (Depends-on): Remove getcwd-lgpl.
11102         (Makefile.am): Remove rules for test-fstatat.
11103         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
11104         of module 'openat'.
11105         * NEWS: Mention the change.
11106         * modules/getcwd (Depends-on): Add fstatat.
11107         * modules/linkat (Depends-on): Likewise.
11108         * modules/mkfifoat-tests (Depends-on): Likewise.
11109         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
11110
11111 2011-11-03  Bruno Haible  <bruno@clisp.org>
11112
11113         New module 'unlinkat', split off from module 'openat'.
11114         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
11115         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
11116         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
11117         * modules/unlinkat: New file, extracted from modules/openat. Correct
11118         the dependency conditions.
11119         * modules/openat (Files): Remove lib/unlinkat.c.
11120         (Depends-on): Remove rmdir, unlink.
11121         (configure.ac): Remove AC_LIBOBJ of unlinkat.
11122         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
11123         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
11124         tests/test-rmdir.h, tests/test-unlink.h.
11125         (Depends-on): Remove unlinkdir.
11126         (Makefile.am): Remove rules for test-unlinkat.
11127         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
11128         of module 'openat'.
11129         * NEWS: Mention the change.
11130         * modules/linkat-tests (Depends-on): Add unlinkat.
11131         * modules/mkfifoat-tests (Depends-on): Likewise.
11132         * modules/readlinkat-tests (Depends-on): Likewise.
11133
11134 2011-11-02  Bruno Haible  <bruno@clisp.org>
11135
11136         New module 'fchmodat', split off from module 'openat'.
11137         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
11138         defined.
11139         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
11140         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
11141         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
11142         * modules/fchmodat: New file, extracted from modules/openat.
11143         * modules/openat (Files): Remove lib/fchmodat.c.
11144         (configure.ac): Remove AC_LIBOBJ of fchmodat.
11145         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
11146         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
11147         (Makefile.am): Remove rules for test-fchmodat.
11148         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
11149         of module 'openat'.
11150         * NEWS: Mention the change.
11151
11152 2011-11-02  Jim Meyering  <meyering@redhat.com>
11153
11154         putenv: indent #definition of "environ" to placate cppi
11155         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
11156
11157         gitlog-to-changelog: provide a ChangeLog-repair mechanism
11158         Git logs are often treated as immutable, because editing them
11159         changes the SHA1 checksums of all descendants.  Thus, errors in
11160         git logs tend to stay there forever.  However, when we generate
11161         a ChangeLog file -- typically for distribution -- from that git log,
11162         we can actually make corrections in the generated file.  The key
11163         lies in recording in machine-readable/applicable form the desired
11164         corrections.  See --help for description and an example.
11165         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
11166         (usage): Describe it; alphabetize option descriptions.
11167         (main): Honor the new option, carefully.
11168
11169 2011-11-01  Jim Meyering  <meyering@redhat.com>
11170
11171         gitlog-to-changelog: avoid an infloop
11172         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
11173         that ends up being empty.
11174
11175 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11176
11177         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
11178         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
11179         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
11180         contains (possibly-quoted) backslashes.  This should avoid
11181         all-too-common shell bugs if COMPLICATED contains backslashes in
11182         the "wrong" places.  Reported by David Evans in
11183         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
11184         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
11185         because we want ASCII ranges.  Is there some reason we don't use
11186         the C locale everywhere in this script?
11187         (func_module, top level): Avoid unwanted pathname expansion when
11188         $repo_url_prefix or $repo_url_suffix_repl contain shell
11189         metacharacters like '?' and '*'.
11190
11191 2011-11-01  Bruno Haible  <bruno@clisp.org>
11192
11193         fchownat: Improve description.
11194         * modules/fchownat (Description): Add link to function.
11195
11196 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11197
11198         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
11199         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
11200         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
11201         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
11202
11203 2011-11-01  Bruno Haible  <bruno@clisp.org>
11204
11205         alignof: Avoid collision with stdalign module.
11206         * lib/alignof.h (alignof): Remove macro.
11207         * NEWS: Mention the change.
11208         Reported by Paul Eggert.
11209
11210 2011-11-01  Bruno Haible  <bruno@clisp.org>
11211
11212         New module 'fchownat', split off from module 'openat'.
11213         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
11214         defined.
11215         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
11216         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
11217         invoke gl_FUNC_FCHOWNAT.
11218         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
11219         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
11220         * modules/fchownat: New file, extracted from modules/openat.
11221         * modules/openat (Files): Remove lib/fchownat.c.
11222         (Depends-on): Remove lchown.
11223         (configure.ac): Remove AC_LIBOBJ of fchownat.
11224         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
11225         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
11226         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
11227         (Depends-on): Remove mgetgroups, usleep, stat-time.
11228         (configure.ac): Remove test for getegid.
11229         (Makefile.am): Remove rules for test-fchownat.
11230         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
11231         of module 'openat'.
11232         * NEWS: Mention the change.
11233
11234 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
11235
11236         stdalign: port better to MSVC and to Sun C 5.11
11237         This fixes some of the problems reported by Bruno Haible in
11238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
11239         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
11240         shortcomings of MSVC and of Sun C 5.11.
11241         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
11242         around __declspec arg.
11243         * modules/stdalign-tests (Files): Add tests/macros.h.
11244         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
11245         Include macros.h, for ASSERT.
11246         (DECLARE_ALIGNED): Remove.
11247         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
11248         to catch bug), and to 1 if not (simplifies the rest of the code).
11249         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
11250         (CHECK_AUTO): Remove.
11251         (CHECK_ALIGNED): Check only the alignment of the static vars,
11252         since auto var alignment isn't supported by Sun C 5.11.
11253         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
11254         ASSERT failures are easier to diagnose.
11255
11256 2011-10-31  Bruno Haible  <bruno@clisp.org>
11257
11258         doc about some IRIX 5.3 problems.
11259         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
11260         on IRIX 5.3.
11261         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
11262         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
11263         5.3.
11264         * doc/posix-functions/grantpt.texi: Likewise.
11265         * doc/posix-functions/unlockpt.texi: Likewise.
11266         * doc/posix-functions/lgamma.texi: Likewise.
11267         * doc/posix-functions/nextafter.texi: Likewise.
11268         * doc/posix-functions/remainder.texi: Likewise.
11269         * doc/posix-functions/select.texi: Mention misplaced declaration on
11270         IRIX 5.3.
11271         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11272
11273 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
11274
11275         gitlog-to-changelog: fix git-log invocation.
11276         git-log mishandles date strings before 1970-01-01 UTC, and there is
11277         no use to specify --since=1970-01-01 by default anyway.
11278         * build-aux/gitlog-to-changelog: By default, when no --since option
11279         was given, do not specify explicit --since option to git-log.
11280
11281 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
11282
11283         gitlog-to-changelog: new option --append-dot.
11284         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
11285         first non-blank line of each commit message terminated with a dot.
11286
11287 2011-10-30  Bruno Haible  <bruno@clisp.org>
11288
11289         ffsl, ffsll: Avoid compilation error due to 'restrict'.
11290         * lib/ffsl.h: Include <config.h>.
11291         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
11292
11293 2011-10-30  Jim Meyering  <meyering@redhat.com>
11294
11295         GNUmakefile: reenable "make syntax-check" for most projects
11296         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
11297         build-aux variable", "syntax-check" would do nothing but succeed with
11298         the "No version control files detected..." diagnostic (unless you
11299         happened to override _build-aux via cfg.mk).
11300         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
11301         to precede inclusion of maint.mk.  Otherwise, these variables would
11302         be used undefined in any project that does not override the default.
11303
11304 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
11305
11306         gitlog-to-changelog: treat a message with only blank lines as empty.
11307         * build-aux/gitlog-to-changelog: Move the code that removes leading and
11308         trailing blank lines before the code that issues a warning about an
11309         empty commit message.
11310
11311 2011-10-30  Jim Meyering  <meyering@redhat.com>
11312
11313         test-parse-datetime.c: avoid new DST-related false positive test failure
11314         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
11315         based on the time/date we'll convert, not the current time.
11316         Otherwise, the moment we cross a DST boundary like today's in
11317         Europe, (CEST to CET), that offset ends up being one hour off.
11318
11319 2011-10-27  Bruno Haible  <bruno@clisp.org>
11320
11321         fstat: Tweak documentation.
11322         * modules/fstat (Description): More precise description.
11323
11324 2011-10-27  Bruno Haible  <bruno@clisp.org>
11325
11326         Update documentation regarding 'largefile' module.
11327         * doc/posix-functions/fstat.texi: Tweak wording.
11328         * doc/posix-functions/opendir.texi: Mention that the module fixes the
11329         problems with huge directories and/or small ino_t types.
11330         * doc/posix-functions/readdir.texi: Likewise.
11331         * doc/posix-functions/rewinddir.texi: Likewise.
11332
11333 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
11334
11335         maint.mk: don't maintain a second build-aux variable.
11336         * maint.mk (build_aux): Removed.  The maintainer-makefile module
11337         depends on GNUmakefile, which already maintains a cfg.mk
11338         overridable $(_build-aux) for projects with a non-standard
11339         build-aux directory location, although without the $(srcdir)
11340         prefix.  Use that variable consistently instead of introducing a
11341         second one.  Adjust all call sites.
11342
11343 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11344
11345         Add stdalign module and use it in other modules.
11346         This is based on a previous proposal by Bruno Haible
11347         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
11348
11349         stdalign: new module
11350         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
11351         * modules/stdalign: New files.
11352         * MODULES.html.sh (c1x_core_properties): Add stdalign.
11353         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
11354
11355         stdalign-tests: new module
11356         * modules/stdalign-tests, tests/test-stdalign.c: New files.
11357
11358         argp: use stdalign
11359         * lib/argp-parse.c: Include <stdalign.h>.
11360         (alignof): Remove.
11361         * modules/argp (Depends-on): Add stdalign.
11362
11363         crypto libraries: use stdalign
11364         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
11365         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
11366         Do not include <stdlib.h> twice, in md4.c.
11367         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
11368         because we are accessing a pointer's bit-pattern, not a size.
11369         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
11370         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
11371         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
11372         * modules/crypto/sha512: Likewise.
11373
11374         sys_socket: use stdalign, not alignof
11375         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
11376         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
11377
11378 2011-10-27  Bruno Haible  <bruno@clisp.org>
11379
11380         raise test: Avoid a test failure on Linux/MIPS.
11381         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
11382         because 99 is a valid signal on Linux/MIPS.
11383
11384 2011-10-27  Bruno Haible  <bruno@clisp.org>
11385
11386         nonblocking tests: Fix test failure on Linux/MIPS.
11387         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
11388         Set to 270000.
11389
11390 2011-10-27  Bruno Haible  <bruno@clisp.org>
11391
11392         utimensat: Work around problem on Linux/hppa.
11393         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
11394         values.
11395         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
11396
11397 2011-10-25  Jim Meyering  <meyering@redhat.com>
11398
11399         maint.mk: fix a bug in sc_prohibit_stddef_without_use
11400         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
11401         after symbols like NULL, size_t, etc.
11402         Reported by Alfred M. Szmidt.
11403
11404         maint.mk: exempt ENODATA from a syntax-check rule
11405         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
11406         from the sc_prohibit_always-defined_macros syntax-check rule.
11407         Add a comment.  See this for more details:
11408         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
11409
11410 2011-10-23  Jim Meyering  <meyering@redhat.com>
11411
11412         fts: close parent dir FD before returning from post-traversal fts_read
11413         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
11414         unlink A, even though an FD open on A remained.  This is suboptimal
11415         (holding a file descriptor open longer than needed), but otherwise not
11416         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
11417         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
11418         that represents a real problem: it causes the removal of A to fail
11419         with e.g., "rm: cannot remove `A': Device or resource busy"
11420
11421         fts visits each directory twice and keeps a cache (fts_fd_ring) of
11422         directory file descriptors.  After completing the final, FTS_DP,
11423         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
11424         cache, but then proceeded to add a new FD to it via the subsequent
11425         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
11426         final file descriptor would be closed only via fts_close's call to
11427         fd_ring_clear.  Now, it is usually closed earlier, via the final
11428         FTS_DP-returning fts_read call.
11429         * lib/fts.c (restore_initial_cwd): New function, converted from
11430         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
11431         Update callers.
11432         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
11433         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
11434
11435 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
11436             Bruno Haible  <bruno@clisp.org>
11437             Jim Meyering  <jim@meyering.net>
11438
11439         readme-release: improve safety of release prep instructions.
11440         * README-release: Don't git pull all branches when only master
11441         is needed for the release process.
11442         Run make maintainer-clean before changing trees and merging.
11443         Don't try to run ./configure right after git pull in case files
11444         that influence the bootstrap process have changed, move the
11445         ./configure step to after running ./bootstrap.
11446         Don't bootstrap "one last time"... it's the first time!
11447
11448 2011-10-22  Bruno Haible  <bruno@clisp.org>
11449
11450         errno, strerror-override: Support for MSVC 10.
11451         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
11452         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
11453         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
11454         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
11455         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11456         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11457         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11458         Assign values compatible with MSVC 10.
11459         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11460         New macros.
11461         (GNULIB_defined_EWINSOCK): New macro.
11462         * lib/strerror-override.c (strerror_override): Update accordingly.
11463         * lib/strerror-override.h: Likewise.
11464         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11465         longer equal to the corresponding errno value.
11466         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11467
11468 2011-10-22  Bruno Haible  <bruno@clisp.org>
11469
11470         perror: Recognize when test program crashes.
11471         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11472         strerror, set gl_cv_func_perror_works to no.
11473         Reported by Daniel Richard G. <skunk@iskunk.org>.
11474
11475         perror: Fix indentation.
11476         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11477
11478 2011-10-22  Bruno Haible  <bruno@clisp.org>
11479
11480         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11481         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11482         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11483         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11484         functions, not as a macro.
11485         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11486         macros.
11487         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11488         absence of macro.
11489         Suggested by Eric Blake.
11490         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11491
11492 2011-10-21  Bruno Haible  <bruno@clisp.org>
11493
11494         relocatable-prog-wrapper: Don't leave object files behind.
11495         * build-aux/install-reloc: Re-synchronize list of .o files to be
11496         removed with list of compilation units.
11497
11498 2011-10-20  Bruno Haible  <bruno@clisp.org>
11499
11500         openpty, posix_openpt: Remove code duplication.
11501         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11502         * lib/openpty.c: Include <stdlib.h>.
11503         (openpty): Use posix_openpt on all platforms except IRIX.
11504         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11505
11506 2011-10-20  Bruno Haible  <bruno@clisp.org>
11507
11508         unlockpt: Detect invalid argument.
11509         * lib/unlockpt.c: Include <fcntl.h>.
11510         (unlockpt): Check whether fd is valid, using fcntl().
11511         * modules/unlockpt (Depends-on): Add fcntl-h.
11512
11513 2011-10-20  Bruno Haible  <bruno@clisp.org>
11514
11515         openpty: Avoid compilation error on AIX 6.1.
11516         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11517
11518 2011-10-20  Bruno Haible  <bruno@clisp.org>
11519
11520         posix_openpt: Support for OpenBSD.
11521         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11522         (posix_openpt) [OpenBSD]: New code.
11523         * lib/grantpt.c: Include <fcntl.h>.
11524         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11525         * modules/grantpt (Depends-on): Add fcntl-h.
11526
11527 2011-10-20  Bruno Haible  <bruno@clisp.org>
11528
11529         posix_openpt test: Coding style.
11530         * tests/test-posix_openpt.c: Use GNU coding style.
11531
11532 2011-10-20  Bruno Haible  <bruno@clisp.org>
11533
11534         grantpt: Support --avoid=pt_chown.
11535         * modules/grantpt (Files): Add lib/pty-private.h.
11536
11537 2011-10-20  Bruno Haible  <bruno@clisp.org>
11538
11539         posix_openpt: Fix autoconf macro.
11540         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11541         unneeded check for _getpty.
11542
11543 2011-10-20  Bruno Haible  <bruno@clisp.org>
11544
11545         openpty: Update comments.
11546         * lib/openpty.c: Add comments about Minix.
11547
11548 2011-10-19  Eric Blake  <eblake@redhat.com>
11549
11550         openpty: relax license
11551         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11552
11553         pt_chown: use configmake to simplify build
11554         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11555
11556         ptsname and others: relax license
11557         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11558         * modules/unlockpt (License): Likewise.
11559         * modules/pt_chown (License): Likewise.
11560         * modules/ptsname (License): Likewise.
11561         * modules/ttyname_r (License): Likewise.
11562
11563 2011-10-19  Jim Meyering  <meyering@redhat.com>
11564
11565         posix_openpt: remove spurious #endif
11566         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11567
11568 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11569
11570         maint.mk: Respect $(build_aux) in web-manual rule.
11571         * top/maint.mk (web-manual): Find gen-announce script in user's
11572         $(build_aux) directory instead of hard-coding 'build-aux'.
11573
11574 2011-10-19  Bruno Haible  <bruno@clisp.org>
11575
11576         posix_openpt: Fix compilation error.
11577         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11578         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11579         Mention the openpty module as an alternative.
11580
11581 2011-10-19  Bruno Haible  <bruno@clisp.org>
11582
11583         Support for old NeXTstep 3.3 frexp().
11584         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11585         execution time of the test to 5 seconds.
11586         Reported by Daniel Richard G. <skunk@iskunk.org>.
11587
11588 2011-10-19  Bruno Haible  <bruno@clisp.org>
11589
11590         Support for old NeXTstep 3.3 sed.
11591         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11592         part, use /.../, not \|...|. Escape periods in the header file name.
11593         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11594         Reported by Daniel Richard G. <skunk@iskunk.org>.
11595
11596 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11597
11598         Support for old NeXTstep 3.3 gcc.
11599         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11600         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11601         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11602         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11603         * lib/regex.h (_Restrict_arr_): Likewise.
11604         * lib/regex_internal.h (re_token_t): Likewise.
11605         * lib/regexec.c (check_node_accept_bytes): Likewise.
11606         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11607
11608 2011-10-18  Eric Blake  <eblake@redhat.com>
11609
11610         posix_openpt: new module
11611         * modules/posix_openpt: New module.
11612         * m4/posix_openpt.m4: New file.
11613         * lib/posix_openpt.c: Likewise.
11614         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11615         (gl_STDLIB_H_DEFAULTS): Set defaults.
11616         * modules/stdlib (Makefile.am): Substitute macros.
11617         * lib/stdlib.in.h (posix_openpt): Declare.
11618         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11619         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11620         * modules/posix_openpt-tests: New test module.
11621         * tests/test-posix_openpt.c: New test.
11622
11623 2011-10-15  Bruno Haible  <bruno@clisp.org>
11624
11625         xstrtoll: Fix compilation failure.
11626         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11627         from lib/strtol.c.
11628         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11629         some platforms.
11630         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11631
11632 2011-10-15  Bruno Haible  <bruno@clisp.org>
11633
11634         vasnprintf: Optimize bit search operation.
11635         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11636         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11637         gl_DOUBLE_EXPONENT_LOCATION.
11638         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11639         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11640         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11641         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11642         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11643         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11644         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11645         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11646         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11647
11648 2011-10-15  Bruno Haible  <bruno@clisp.org>
11649
11650         vasnprintf: Fix comments.
11651         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11652
11653 2011-10-14  Bruno Haible  <bruno@clisp.org>
11654
11655         Tests for module 'integer_length_ll'.
11656         * modules/integer_length_ll-tests: New file.
11657         * tests/test-integer_length_ll.c: New file.
11658
11659         New module 'integer_length_ll'.
11660         * lib/integer_length_ll.c: New file.
11661         * modules/integer_length_ll: New file.
11662
11663 2011-10-14  Bruno Haible  <bruno@clisp.org>
11664
11665         Tests for module 'integer_length_l'.
11666         * modules/integer_length_l-tests: New file.
11667         * tests/test-integer_length_l.c: New file.
11668
11669         New module 'integer_length_l'.
11670         * lib/integer_length_l.c: New file.
11671         * modules/integer_length_l: New file.
11672
11673 2011-10-14  Bruno Haible  <bruno@clisp.org>
11674
11675         Tests for module 'integer_length'.
11676         * modules/integer_length-tests: New file.
11677         * tests/test-integer_length.c: New file.
11678
11679         New module 'integer_length'.
11680         * lib/integer_length.h: New file.
11681         * lib/integer_length.c: New file.
11682         * modules/integer_length: New file.
11683
11684 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11685
11686         popen: Fix dependency conditions.
11687         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11688
11689 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11690
11691         perror: Fix autoconf test.
11692         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11693         <stdlib.h> and <string.h>.
11694
11695 2011-10-14  Bruno Haible  <bruno@clisp.org>
11696
11697         ffsl: Optimize on 64-bit platforms.
11698         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11699         unrolling.
11700
11701 2011-10-13  Bruno Haible  <bruno@clisp.org>
11702
11703         ffsl: Optimize on 32-bit platforms.
11704         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11705         use ffs() without a loop.
11706
11707         ffsl, ffsll: Optimize for GCC.
11708         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11709         * lib/ffsl.c (GCC_BUILTIN): New macro.
11710         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11711
11712 2011-10-13  Bruno Haible  <bruno@clisp.org>
11713
11714         ffs, bcopy, memset: Support symbol renaming via config.h.
11715         * lib/ffs.c: Include <config.h>.
11716         * lib/bcopy.c: Likewise.
11717         * lib/memset.c: Likewise.
11718
11719 2011-10-10  Bruno Haible  <bruno@clisp.org>
11720
11721         atanl: Simplify for platforms where 'long double' == 'double'.
11722         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11723         alternative implementation.
11724         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11725         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11726         * modules/atanl (Depends-on): Add atan. Update conditions.
11727
11728 2011-10-10  Bruno Haible  <bruno@clisp.org>
11729
11730         acosl: Simplify for platforms where 'long double' == 'double'.
11731         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11732         alternative implementation.
11733         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11734         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11735         * modules/acosl (Depends-on): Add acos. Update conditions.
11736
11737 2011-10-10  Bruno Haible  <bruno@clisp.org>
11738
11739         asinl: Simplify for platforms where 'long double' == 'double'.
11740         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11741         alternative implementation.
11742         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11743         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11744         * modules/asinl (Depends-on): Add asin. Update conditions.
11745
11746 2011-10-10  Bruno Haible  <bruno@clisp.org>
11747
11748         tanl: Simplify for platforms where 'long double' == 'double'.
11749         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11750         implementation.
11751         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11752         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11753         * modules/tanl (Depends-on): Add tan. Update conditions.
11754         (configure.ac): Don't compile trigl.c if
11755         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11756
11757 2011-10-10  Bruno Haible  <bruno@clisp.org>
11758
11759         cosl: Simplify for platforms where 'long double' == 'double'.
11760         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11761         implementation.
11762         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11763         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11764         * modules/cosl (Depends-on): Add cos. Update conditions.
11765         (configure.ac): Don't compile sincosl.c and trigl.c if
11766         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11767
11768 2011-10-10  Bruno Haible  <bruno@clisp.org>
11769
11770         sinl: Simplify for platforms where 'long double' == 'double'.
11771         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11772         implementation.
11773         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11774         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11775         * modules/sinl (Depends-on): Add sin. Update conditions.
11776         (configure.ac): Don't compile sincosl.c and trigl.c if
11777         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11778
11779 2011-10-10  Bruno Haible  <bruno@clisp.org>
11780
11781         logl: Simplify for platforms where 'long double' == 'double'.
11782         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11783         implementation.
11784         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11785         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11786         * modules/logl (Depends-on): Add log. Update conditions.
11787
11788 2011-10-10  Bruno Haible  <bruno@clisp.org>
11789
11790         expl: Simplify for platforms where 'long double' == 'double'.
11791         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11792         implementation.
11793         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11794         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11795         * modules/expl (Depends-on): Add exp. Update conditions.
11796
11797 2011-10-10  Bruno Haible  <bruno@clisp.org>
11798
11799         sqrtl: Simplify for platforms where 'long double' == 'double'.
11800         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11801         alternative implementation.
11802         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11803         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11804         * modules/sqrtl (Depends-on): Update conditions.
11805
11806 2011-10-10  Bruno Haible  <bruno@clisp.org>
11807
11808         ldexpl: Simplify for platforms where 'long double' == 'double'.
11809         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11810         alternative implementation.
11811         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11812         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11813         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11814
11815 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11816
11817         ffsll: set correct witness
11818         * modules/ffsll (configure.ac): Fix typo.
11819
11820 2011-10-10  Bruno Haible  <bruno@clisp.org>
11821
11822         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11823         * lib/printf-frexpl.c: Include <config.h>.
11824         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11825         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11826         second time.
11827         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11828         gl_LONG_DOUBLE_VS_DOUBLE.
11829         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11830         conditions.
11831
11832 2011-10-10  Bruno Haible  <bruno@clisp.org>
11833
11834         frexpl: Simplify for platforms where 'long double' == 'double'.
11835         * lib/frexpl.c: Include <config.h>.
11836         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11837         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11838         time.
11839         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11840         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11841         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11842         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11843         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11844         conditions.
11845
11846 2011-10-10  Jim Meyering  <meyering@redhat.com>
11847
11848         test-renameat: don't leave behind a temporary file
11849         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11850           ERROR: files left in build directory after distclean:
11851           ./gltests/test-renameat.too
11852           make[1]: *** [distcleancheck] Error 1
11853         Reported by Tom G. Christensen.
11854
11855 2011-10-09  Bruno Haible  <bruno@clisp.org>
11856
11857         rint: Determine RINT_LIBM correctly on AIX 7.
11858         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11859         directly, not only through a function pointer. Also accept an optional
11860         4th argument with extra code.
11861         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11862         rintf() call by gcc when optimizing.
11863
11864         mathfunc.m4: Refactor.
11865         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11866         m4 variable.
11867
11868 2011-10-09  Bruno Haible  <bruno@clisp.org>
11869
11870         rintl: Simplify for platforms where 'long double' == 'double'.
11871         * lib/rintl.c: Include <config.h>.
11872         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11873         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11874         time.
11875         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11876         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11877         * modules/rintl (Depends-on): Add rint. Update conditions.
11878
11879 2011-10-09  Bruno Haible  <bruno@clisp.org>
11880
11881         roundl: Simplify for platforms where 'long double' == 'double'.
11882         * lib/roundl.c: Include <config.h>.
11883         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11884         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11885         time.
11886         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11887         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11888         * modules/roundl (Depends-on): Add round. Update conditions.
11889
11890 2011-10-09  Bruno Haible  <bruno@clisp.org>
11891
11892         truncl: Simplify for platforms where 'long double' == 'double'.
11893         * lib/truncl.c: Include <config.h>.
11894         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11895         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11896         time.
11897         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11898         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11899         * modules/truncl (Depends-on): Add trunc. Update conditions.
11900
11901 2011-10-09  Bruno Haible  <bruno@clisp.org>
11902
11903         ceill: Simplify for platforms where 'long double' == 'double'.
11904         * lib/ceill.c: Include <config.h>.
11905         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11906         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11907         time.
11908         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11909         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11910         * modules/ceill (Depends-on): Add ceil. Update conditions.
11911
11912 2011-10-09  Bruno Haible  <bruno@clisp.org>
11913
11914         floorl: Simplify for platforms where 'long double' == 'double'.
11915         * lib/floorl.c: Include <config.h>.
11916         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11917         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11918         time.
11919         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11920         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11921         * modules/floorl (Depends-on): Add floor. Update conditions.
11922
11923 2011-10-09  Bruno Haible  <bruno@clisp.org>
11924
11925         rint: Fix ordering constraints.
11926         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11927         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11928         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11929
11930 2011-10-09  Bruno Haible  <bruno@clisp.org>
11931
11932         copysignl: Simplify for platforms where 'long double' == 'double'.
11933         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11934         alternative.
11935         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11936         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11937         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11938
11939 2011-10-09  Bruno Haible  <bruno@clisp.org>
11940
11941         Tests for module 'rintl'.
11942         * modules/rintl-tests: New file.
11943         * tests/test-rintl.c: New file.
11944
11945         New module 'rintl'.
11946         * lib/math.in.h (rintl): New declaration.
11947         * lib/rintl.c: New file.
11948         * m4/rintl.m4: New file.
11949         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11950         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11951         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11952         * modules/rintl: New file.
11953         * tests/test-math-c++.cc: Check the declaration of rintl.
11954         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11955         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11956         * doc/posix-functions/rintl.texi: Mention the new module.
11957
11958 2011-10-09  Bruno Haible  <bruno@clisp.org>
11959
11960         Tests for module 'rintf'.
11961         * modules/rintf-tests: New file.
11962         * tests/test-rintf.c: New file.
11963
11964         New module 'rintf'.
11965         * lib/math.in.h (rintf): New declaration.
11966         * lib/rintf.c: New file.
11967         * m4/rintf.m4: New file.
11968         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11969         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11970         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11971         * modules/rintf: New file.
11972         * tests/test-math-c++.cc: Check the declaration of rintf.
11973         * doc/posix-functions/rintf.texi: Mention the new module.
11974
11975 2011-10-09  Bruno Haible  <bruno@clisp.org>
11976
11977         rint: Support for MSVC.
11978         * lib/math.in.h (rint): New declaration.
11979         * lib/rint.c: New file.
11980         * m4/rint.m4: New file.
11981         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11982         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11983         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11984         * modules/rint (Description): Fix.
11985         (Files): Add lib/rint.c, m4/rint.m4.
11986         (Depends-on): Add math.
11987         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11988         gl_MATH_MODULE_INDICATOR.
11989         * tests/test-math-c++.cc: Check the declaration of rint.
11990         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11991         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11992         * doc/posix-functions/rint.texi: Mention the replacement provided by
11993         the module.
11994
11995         rint tests: More tests.
11996         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11997         minus-zero.h, infinity.h, nan.h.
11998         (main): Skip the test if the current rounding mode is not standard. Add
11999         tests for negative numbers, minus zero, infinity, NaN.
12000         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
12001         tests/nan.h.
12002         (Depends-on): Add isnand-nolibm.
12003
12004 2011-10-09  Bruno Haible  <bruno@clisp.org>
12005
12006         Tests for module 'copysignl'.
12007         * modules/copysignl-tests: New file.
12008         * tests/test-copysignl.c: New file.
12009
12010         New module 'copysignl'.
12011         * lib/math.in.h (copysignl): New declaration.
12012         * lib/copysignl.c: New file.
12013         * m4/copysignl.m4: New file.
12014         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
12015         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
12016         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
12017         HAVE_COPYSIGNL.
12018         * modules/copysignl: New file.
12019         * tests/test-math-c++.cc: Check the declaration of copysignl.
12020         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12021         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
12022         * doc/posix-functions/copysignl.texi: Mention the new module.
12023
12024 2011-10-09  Bruno Haible  <bruno@clisp.org>
12025
12026         Tests for module 'copysignf'.
12027         * modules/copysignf-tests: New file.
12028         * tests/test-copysignf.c: New file.
12029
12030         New module 'copysignf'.
12031         * lib/math.in.h (copysignf): New declaration.
12032         * lib/copysignf.c: New file.
12033         * m4/copysignf.m4: New file.
12034         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
12035         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
12036         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
12037         HAVE_COPYSIGNF.
12038         * modules/copysignf: New file.
12039         * tests/test-math-c++.cc: Check the declaration of copysignf.
12040         * doc/posix-functions/copysignf.texi: Mention the new module.
12041
12042 2011-10-09  Bruno Haible  <bruno@clisp.org>
12043
12044         Ensure that HAVE_* variables are set to 1 before they are set to 0.
12045         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
12046         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
12047         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
12048         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
12049         gl_SIGNAL_H_DEFAULTS.
12050
12051 2011-10-09  Bruno Haible  <bruno@clisp.org>
12052
12053         poll: Make macro safer.
12054         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
12055         ac_cv_header_poll_h is not set.
12056
12057 2011-10-09  Bruno Haible  <bruno@clisp.org>
12058
12059         copysign: Provide replacement.
12060         * lib/math.in.h (copysign): New declaration.
12061         * lib/copysign.c: New file.
12062         * m4/copysign.m4: New file.
12063         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
12064         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
12065         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
12066         HAVE_COPYSIGN.
12067         * modules/copysign (Description): Clarify.
12068         (Files): Add lib/copysign.c, m4/copysign.m4.
12069         (Depends-on): Add math, signbit.
12070         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
12071         gl_MATH_MODULE_INDICATOR.
12072         * tests/test-math-c++.cc: Check the declaration of copysign.
12073         * doc/posix-functions/copysign.texi: Mention the effects of the module
12074         on Minix and MSVC.
12075
12076 2011-10-09  Bruno Haible  <bruno@clisp.org>
12077
12078         isinf: Ensure macro on AIX 5.1.
12079         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
12080         macro.
12081         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
12082
12083 2011-10-09  Bruno Haible  <bruno@clisp.org>
12084
12085         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
12086         * modules/snprintf-posix-tests (configure.ac): Require
12087         gl_LONG_DOUBLE_VS_DOUBLE.
12088         * modules/sprintf-posix-tests (configure.ac): Likewise.
12089         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
12090         * modules/vasprintf-posix-tests (configure.ac): Likewise.
12091         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
12092         * modules/vsprintf-posix-tests (configure.ac): Likewise.
12093         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
12094         tests on platforms where 'long double' is the same as 'double'.
12095         * tests/test-sprintf-posix.h (test_function): Likewise.
12096         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12097         * tests/test-vasprintf-posix.c (test_function): Likewise.
12098
12099         *printf: Fix for platforms where 'long double' == 'double'.
12100         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
12101         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
12102         * modules/dprintf-posix (Files): Add m4/math_h.m4.
12103         * modules/fprintf-posix (Files): Likewise.
12104         * modules/obstack-printf-posix (Files): Likewise.
12105         * modules/snprintf-posix (Files): Likewise.
12106         * modules/sprintf-posix (Files): Likewise.
12107         * modules/vasnprintf (Files): Likewise.
12108         * modules/vasnprintf-posix (Files): Likewise.
12109         * modules/vasprintf-posix (Files): Likewise.
12110         * modules/vdprintf-posix (Files): Likewise.
12111         * modules/vfprintf-posix (Files): Likewise.
12112         * modules/vsnprintf-posix (Files): Likewise.
12113         * modules/vsprintf-posix (Files): Likewise.
12114         * modules/unistdio/u8-vasnprintf (Files): Likewise.
12115         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
12116         * modules/unistdio/u16-vasnprintf (Files): Likewise.
12117         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
12118         * modules/unistdio/u32-vasnprintf (Files): Likewise.
12119         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
12120         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
12121
12122         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
12123         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
12124         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12125         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
12126         'long double'.
12127         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
12128
12129         isinf: Fix for platforms where 'long double' == 'double'.
12130         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12131         Don't blindly assume 80-bit 'long double'.
12132
12133         isfinite: Fix for platforms where 'long double' == 'double'.
12134         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12135         Don't blindly assume 80-bit 'long double'.
12136
12137         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
12138         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
12139         * modules/isfinite-tests (configure.ac): Require
12140         gl_LONG_DOUBLE_VS_DOUBLE.
12141         * modules/isinf-tests (configure.ac): Likewise.
12142         * modules/isnan-tests (configure.ac): Likewise.
12143         * modules/isnanl-tests (configure.ac): Likewise.
12144         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
12145         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
12146         tests on platforms where 'long double' is the same as 'double'.
12147         * tests/test-isinf.c (test_isinfl): Likewise.
12148         * tests/test-isnan.c (test_long_double): Likewise.
12149         * tests/test-isnanl.h (main): Likewise.
12150
12151 2011-10-08  Bruno Haible  <bruno@clisp.org>
12152
12153         Tests for module 'tanhf'.
12154         * modules/tanhf-tests: New file.
12155         * tests/test-tanhf.c: New file.
12156
12157         New module 'tanhf'.
12158         * lib/math.in.h (tanhf): New declaration.
12159         * lib/tanhf.c: New file.
12160         * m4/tanhf.m4: New file.
12161         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
12162         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
12163         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
12164         * modules/tanhf: New file.
12165         * tests/test-math-c++.cc: Check the declaration of tanhf.
12166         * doc/posix-functions/tanhf.texi: Mention the new module.
12167
12168         tanh: Use a .m4 file.
12169         * m4/tanh.m4: New file.
12170         * modules/tanh (Files): Add it.
12171         (configure.ac): Just invoke gl_FUNC_TANH.
12172
12173 2011-10-08  Bruno Haible  <bruno@clisp.org>
12174
12175         Tests for module 'coshf'.
12176         * modules/coshf-tests: New file.
12177         * tests/test-coshf.c: New file.
12178
12179         New module 'coshf'.
12180         * lib/math.in.h (coshf): New declaration.
12181         * lib/coshf.c: New file.
12182         * m4/coshf.m4: New file.
12183         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
12184         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
12185         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
12186         * modules/coshf: New file.
12187         * tests/test-math-c++.cc: Check the declaration of coshf.
12188         * doc/posix-functions/coshf.texi: Mention the new module.
12189
12190         cosh: Use a .m4 file.
12191         * m4/cosh.m4: New file.
12192         * modules/cosh (Files): Add it.
12193         (configure.ac): Just invoke gl_FUNC_COSH.
12194
12195 2011-10-08  Bruno Haible  <bruno@clisp.org>
12196
12197         Tests for module 'sinhf'.
12198         * modules/sinhf-tests: New file.
12199         * tests/test-sinhf.c: New file.
12200
12201         New module 'sinhf'.
12202         * lib/math.in.h (sinhf): New declaration.
12203         * lib/sinhf.c: New file.
12204         * m4/sinhf.m4: New file.
12205         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
12206         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
12207         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
12208         * modules/sinhf: New file.
12209         * tests/test-math-c++.cc: Check the declaration of sinhf.
12210         * doc/posix-functions/sinhf.texi: Mention the new module.
12211
12212         sinh: Use a .m4 file.
12213         * m4/sinh.m4: New file.
12214         * modules/sinh (Files): Add it.
12215         (configure.ac): Just invoke gl_FUNC_SINH.
12216
12217 2011-10-08  Bruno Haible  <bruno@clisp.org>
12218
12219         Tests for module 'atan2f'.
12220         * modules/atan2f-tests: New file.
12221         * tests/test-atan2f.c: New file.
12222
12223         New module 'atan2f'.
12224         * lib/math.in.h (atan2f): New declaration.
12225         * lib/atan2f.c: New file.
12226         * m4/atan2f.m4: New file.
12227         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
12228         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
12229         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
12230         * modules/atan2f: New file.
12231         * tests/test-math-c++.cc: Check the declaration of atan2f.
12232         * doc/posix-functions/atan2f.texi: Mention the new module.
12233
12234         atan2: Use a .m4 file.
12235         * m4/atan2.m4: New file.
12236         * modules/atan2 (Files): Add it.
12237         (configure.ac): Just invoke gl_FUNC_ATAN2.
12238
12239 2011-10-08  Bruno Haible  <bruno@clisp.org>
12240
12241         Tests for module 'atanf'.
12242         * modules/atanf-tests: New file.
12243         * tests/test-atanf.c: New file.
12244
12245         New module 'atanf'.
12246         * lib/math.in.h (atanf): New declaration.
12247         * lib/atanf.c: New file.
12248         * m4/atanf.m4: New file.
12249         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
12250         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
12251         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
12252         * modules/atanf: New file.
12253         * tests/test-math-c++.cc: Check the declaration of atanf.
12254         * doc/posix-functions/atanf.texi: Mention the new module.
12255
12256         atan: Use a .m4 file.
12257         * m4/atan.m4: New file.
12258         * modules/atan (Files): Add it.
12259         (configure.ac): Just invoke gl_FUNC_ATAN.
12260
12261 2011-10-08  Bruno Haible  <bruno@clisp.org>
12262
12263         Tests for module 'acosf'.
12264         * modules/acosf-tests: New file.
12265         * tests/test-acosf.c: New file.
12266
12267         New module 'acosf'.
12268         * lib/math.in.h (acosf): New declaration.
12269         * lib/acosf.c: New file.
12270         * m4/acosf.m4: New file.
12271         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
12272         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
12273         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
12274         * modules/acosf: New file.
12275         * tests/test-math-c++.cc: Check the declaration of acosf.
12276         * doc/posix-functions/acosf.texi: Mention the new module.
12277
12278         acos: Use a .m4 file.
12279         * m4/acos.m4: New file.
12280         * modules/acos (Files): Add it.
12281         (configure.ac): Just invoke gl_FUNC_ACOS.
12282
12283 2011-10-08  Bruno Haible  <bruno@clisp.org>
12284
12285         Tests for module 'asinf'.
12286         * modules/asinf-tests: New file.
12287         * tests/test-asinf.c: New file.
12288
12289         New module 'asinf'.
12290         * lib/math.in.h (asinf): New declaration.
12291         * lib/asinf.c: New file.
12292         * m4/asinf.m4: New file.
12293         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
12294         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
12295         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
12296         * modules/asinf: New file.
12297         * tests/test-math-c++.cc: Check the declaration of asinf.
12298         * doc/posix-functions/asinf.texi: Mention the new module.
12299
12300         asin: Use a .m4 file.
12301         * m4/asin.m4: New file.
12302         * modules/asin (Files): Add it.
12303         (configure.ac): Just invoke gl_FUNC_ASIN.
12304
12305 2011-10-08  Bruno Haible  <bruno@clisp.org>
12306
12307         Tests for module 'tanf'.
12308         * modules/tanf-tests: New file.
12309         * tests/test-tanf.c: New file.
12310
12311         New module 'tanf'.
12312         * lib/math.in.h (tanf): New declaration.
12313         * lib/tanf.c: New file.
12314         * m4/tanf.m4: New file.
12315         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
12316         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
12317         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
12318         * modules/tanf: New file.
12319         * tests/test-math-c++.cc: Check the declaration of tanf.
12320         * doc/posix-functions/tanf.texi: Mention the new module.
12321
12322         tan: Use a .m4 file.
12323         * m4/tan.m4: New file.
12324         * modules/tan (Files): Add it.
12325         (configure.ac): Just invoke gl_FUNC_TAN.
12326
12327 2011-10-08  Bruno Haible  <bruno@clisp.org>
12328
12329         Tests for module 'cosf'.
12330         * modules/cosf-tests: New file.
12331         * tests/test-cosf.c: New file.
12332
12333         New module 'cosf'.
12334         * lib/math.in.h (cosf): New declaration.
12335         * lib/cosf.c: New file.
12336         * m4/cosf.m4: New file.
12337         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
12338         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
12339         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
12340         * modules/cosf: New file.
12341         * tests/test-math-c++.cc: Check the declaration of cosf.
12342         * doc/posix-functions/cosf.texi: Mention the new module.
12343
12344         cos: Use a .m4 file.
12345         * m4/cos.m4: New file.
12346         * modules/cos (Files): Add it.
12347         (configure.ac): Just invoke gl_FUNC_COS.
12348
12349 2011-10-08  Bruno Haible  <bruno@clisp.org>
12350
12351         Tests for module 'sinf'.
12352         * modules/sinf-tests: New file.
12353         * tests/test-sinf.c: New file.
12354
12355         New module 'sinf'.
12356         * lib/math.in.h (sinf): New declaration.
12357         * lib/sinf.c: New file.
12358         * m4/sinf.m4: New file.
12359         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
12360         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
12361         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
12362         * modules/sinf: New file.
12363         * tests/test-math-c++.cc: Check the declaration of sinf.
12364         * doc/posix-functions/sinf.texi: Mention the new module.
12365
12366         sin: Use a .m4 file.
12367         * m4/sin.m4: New file.
12368         * modules/sin (Files): Add it.
12369         (configure.ac): Just invoke gl_FUNC_SIN.
12370
12371 2011-10-08  Bruno Haible  <bruno@clisp.org>
12372
12373         Tests for module 'powf'.
12374         * modules/powf-tests: New file.
12375         * tests/test-powf.c: New file.
12376
12377         New module 'powf'.
12378         * lib/math.in.h (powf): New declaration.
12379         * lib/powf.c: New file.
12380         * m4/powf.m4: New file.
12381         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
12382         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
12383         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
12384         * modules/powf: New file.
12385         * tests/test-math-c++.cc: Check the declaration of powf.
12386         * doc/posix-functions/powf.texi: Mention the new module.
12387
12388         pow: Use a .m4 file.
12389         * m4/pow.m4: New file.
12390         * modules/pow (Files): Add it.
12391         (configure.ac): Just invoke gl_FUNC_POW.
12392
12393 2011-10-08  Bruno Haible  <bruno@clisp.org>
12394
12395         Tests for module 'log10f'.
12396         * modules/log10f-tests: New file.
12397         * tests/test-log10f.c: New file.
12398
12399         New module 'log10f'.
12400         * lib/math.in.h (log10f): New declaration.
12401         * lib/log10f.c: New file.
12402         * m4/log10f.m4: New file.
12403         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
12404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
12405         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
12406         * modules/log10f: New file.
12407         * tests/test-math-c++.cc: Check the declaration of log10f.
12408         * doc/posix-functions/log10f.texi: Mention the new module.
12409
12410         log10: Use a .m4 file.
12411         * m4/log10.m4: New file.
12412         * modules/log10 (Files): Add it.
12413         (configure.ac): Just invoke gl_FUNC_LOG10.
12414
12415 2011-10-08  Bruno Haible  <bruno@clisp.org>
12416
12417         Tests for module 'logf'.
12418         * modules/logf-tests: New file.
12419         * tests/test-logf.c: New file.
12420
12421         New module 'logf'.
12422         * lib/math.in.h (logf): New declaration.
12423         * lib/logf.c: New file.
12424         * m4/logf.m4: New file.
12425         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
12426         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
12427         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
12428         * modules/logf: New file.
12429         * tests/test-math-c++.cc: Check the declaration of logf.
12430         * doc/posix-functions/logf.texi: Mention the new module.
12431
12432         log: Use a .m4 file.
12433         * m4/log.m4: New file.
12434         * modules/log (Files): Add it.
12435         (configure.ac): Just invoke gl_FUNC_LOG.
12436
12437 2011-10-08  Bruno Haible  <bruno@clisp.org>
12438
12439         Tests for module 'expf'.
12440         * modules/expf-tests: New file.
12441         * tests/test-expf.c: New file.
12442
12443         New module 'expf'.
12444         * lib/math.in.h (expf): New declaration.
12445         * lib/expf.c: New file.
12446         * m4/expf.m4: New file.
12447         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
12448         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
12449         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
12450         * modules/expf: New file.
12451         * tests/test-math-c++.cc: Check the declaration of expf.
12452         * doc/posix-functions/expf.texi: Mention the new module.
12453
12454         exp: Use a .m4 file.
12455         * m4/exp.m4: New file.
12456         * modules/exp (Files): Add it.
12457         (configure.ac): Just invoke gl_FUNC_EXP.
12458
12459 2011-10-08  Bruno Haible  <bruno@clisp.org>
12460
12461         Tests for module 'sqrtf'.
12462         * modules/sqrtf-tests: New file.
12463         * tests/test-sqrtf.c: New file.
12464
12465         New module 'sqrtf'.
12466         * lib/math.in.h (sqrtf): New declaration.
12467         * lib/sqrtf.c: New file.
12468         * m4/sqrtf.m4: New file.
12469         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12470         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12471         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12472         * modules/sqrtf: New file.
12473         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12474         * doc/posix-functions/sqrtf.texi: Mention the new module.
12475
12476 2011-10-08  Bruno Haible  <bruno@clisp.org>
12477
12478         Tests: Avoid link failures w.r.t. libintl.
12479         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12480         $(LIBINTL).
12481         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12482         $(LIBINTL).
12483         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12484         against $(LIBINTL).
12485         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12486         $(LIBINTL).
12487         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12488         $(LIBINTL).
12489         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12490
12491 2011-10-08  Bruno Haible  <bruno@clisp.org>
12492
12493         pow tests: Defeat compiler optimizations.
12494         * tests/test-pow.c (main): Assign arguments to x and y before use.
12495
12496 2011-10-08  Bruno Haible  <bruno@clisp.org>
12497
12498         gnulib-tool: Improve last commit.
12499         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12500         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12501         ignore dependencies that are not among the modules list.
12502
12503 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12504
12505         gnulib-tool: don't follow dependencies to avoided modules
12506         This fixes a bug that is related to the previous one.
12507         * gnulib-tool (func_modules_transitive_closure)
12508         (func_emit_autoconf_snippets):
12509         Check whether a dependency is acceptable before using it.
12510         (--extract-dependencies): Report an error if --avoid is also used,
12511         since this combination of options is not yet supported.
12512
12513         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12514         Problem reported by Peter Dyballa in
12515         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12516         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12517         when echoing "$condition".
12518
12519 2011-10-07  Bruno Haible  <bruno@clisp.org>
12520
12521         Fix documentation about math functions on MacOS X.
12522         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12523         MacOS X 10.5.
12524         * doc/posix-functions/fdim.texi: Likewise.
12525         * doc/posix-functions/feclearexcept.texi: Likewise.
12526         * doc/posix-functions/fegetenv.texi: Likewise.
12527         * doc/posix-functions/fegetround.texi: Likewise.
12528         * doc/posix-functions/feholdexcept.texi: Likewise.
12529         * doc/posix-functions/feraiseexcept.texi: Likewise.
12530         * doc/posix-functions/fesetenv.texi: Likewise.
12531         * doc/posix-functions/fesetround.texi: Likewise.
12532         * doc/posix-functions/fetestexcept.texi: Likewise.
12533         * doc/posix-functions/feupdateenv.texi: Likewise.
12534         * doc/posix-functions/fmax.texi: Likewise.
12535         * doc/posix-functions/fmin.texi: Likewise.
12536         * doc/posix-functions/log2.texi: Likewise.
12537         * doc/posix-functions/modff.texi: Likewise.
12538         * doc/posix-functions/nan.texi: Likewise.
12539         * doc/posix-functions/nanf.texi: Likewise.
12540         * doc/posix-functions/nextafterf.texi: Likewise.
12541         * doc/posix-functions/remquo.texi: Likewise.
12542
12543 2011-10-07  Bruno Haible  <bruno@clisp.org>
12544
12545         modff: Drop assumption about library that defines modff.
12546         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12547         AC_CHECK_FUNCS.
12548         * modules/modff (Files): Add m4/mathfunc.m4.
12549
12550 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12551
12552         raise tests: Avoid a GCC warning.
12553         * tests/test-raise.c (handler): Use _Noreturn.
12554
12555 2011-10-07  Bruno Haible  <bruno@clisp.org>
12556
12557         Tests for module 'ldexpf'.
12558         * modules/ldexpf-tests: New file.
12559         * tests/test-ldexpf.c: New file.
12560
12561         New module 'ldexpf'.
12562         * lib/math.in.h (ldexpf): New declaration.
12563         * lib/ldexpf.c: New file.
12564         * m4/ldexpf.m4: New file.
12565         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12566         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12567         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12568         * modules/ldexpf: New file.
12569         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12570         * doc/posix-functions/ldexpf.texi: Mention the new module.
12571
12572 2011-10-06  Bruno Haible  <bruno@clisp.org>
12573
12574         frexpf: Work around problems on IRIX and mingw.
12575         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12576         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12577         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12578         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12579         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12580         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12581         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12582
12583 2011-10-06  Bruno Haible  <bruno@clisp.org>
12584
12585         fabsf: Drop assumption about library that defines fabsf.
12586         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12587         AC_CHECK_FUNCS.
12588         * modules/fabsf (Files): Add m4/mathfunc.m4.
12589
12590 2011-10-06  Bruno Haible  <bruno@clisp.org>
12591
12592         frexpf: Drop assumption about library that defines frexpf.
12593         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12594         'int *', 'float *', 'long double *', 'float', 'long double'.
12595         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12596         AC_CHECK_FUNCS.
12597         * modules/frexpf (Files): Add m4/mathfunc.m4.
12598
12599         Tests for module 'frexpf'.
12600         * modules/frexpf-tests: New file.
12601         * tests/test-frexpf.c: New file.
12602
12603         New module 'frexpf'.
12604         * lib/math.in.h (frexpf): New declaration.
12605         * lib/frexpf.c: New file.
12606         * m4/frexpf.m4: New file.
12607         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12608         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12609         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12610         * modules/frexpf: New file.
12611         * tests/test-math-c++.cc: Check the declaration of frexpf.
12612         * doc/posix-functions/frexpf.texi: Mention the new module.
12613
12614 2011-10-06  Bruno Haible  <bruno@clisp.org>
12615
12616         math: Sort function declarations of math.in.h.
12617         * lib/math.in.h (frexp, logb): Move declarations.
12618
12619 2011-10-05  Bruno Haible  <bruno@clisp.org>
12620
12621         Tests for module 'modff'.
12622         * modules/modff-tests: New file.
12623         * tests/test-modff.c: New file.
12624
12625         New module 'modff'.
12626         * lib/math.in.h (modff): New declaration.
12627         * lib/modff.c: New file.
12628         * m4/modff.m4: New file.
12629         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12630         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12631         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12632         * modules/modff: New file.
12633         * tests/test-math-c++.cc: Check the declaration of modff.
12634         * doc/posix-functions/modff.texi: Mention the new module.
12635
12636         modf tests: Make test sharper.
12637         * tests/test-modf.c (main): Strengthen upper bound.
12638
12639         modf: Use a .m4 file.
12640         * m4/modf.m4: New file.
12641         * modules/modf (Files): Add it.
12642         (configure.ac): Just invoke gl_FUNC_MODF.
12643
12644 2011-10-05  Bruno Haible  <bruno@clisp.org>
12645
12646         Tests for module 'fmodf'.
12647         * modules/fmodf-tests: New file.
12648         * tests/test-fmodf.c: New file.
12649
12650         New module 'fmodf'.
12651         * lib/math.in.h (fmodf): New declaration.
12652         * lib/fmodf.c: New file.
12653         * m4/fmodf.m4: New file.
12654         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12655         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12656         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12657         * modules/fmodf: New file.
12658         * tests/test-math-c++.cc: Check the declaration of fmodf.
12659         * doc/posix-functions/fmodf.texi: Mention the new module.
12660
12661         fmod: Use a .m4 file.
12662         * m4/fmod.m4: New file.
12663         * modules/fmod (Files): Add it.
12664         (configure.ac): Just invoke gl_FUNC_FMOD.
12665
12666 2011-10-05  Bruno Haible  <bruno@clisp.org>
12667
12668         Tests for module 'fabsf'.
12669         * modules/fabsf-tests: New file.
12670         * tests/test-fabsf.c: New file.
12671
12672         New module 'fabsf'.
12673         * lib/math.in.h (fabsf): New declaration.
12674         * lib/fabsf.c: New file.
12675         * m4/fabsf.m4: New file.
12676         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12677         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12678         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12679         * modules/fabsf: New file.
12680         * tests/test-math-c++.cc: Check the declaration of fabsf.
12681         * doc/posix-functions/fabsf.texi: Mention the new module.
12682
12683         fabs: Use a .m4 file.
12684         * m4/fabs.m4: New file.
12685         * modules/fabs (Files): Add it.
12686         (configure.ac): Just invoke gl_FUNC_FABS.
12687
12688 2011-10-05  Jim Meyering  <meyering@redhat.com>
12689
12690         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12691         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12692         ls -lL regression introduced in coreutils-8.12, it does so at the
12693         cost of an additional stat call in the common case.  Besides, now
12694         that the kernel change that prompted commit 95f7c57f has been reverted
12695         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12696         we have no use for commit 95f7c57f, "file-has-acl: use
12697         acl_extended_file_nofollow if available".
12698
12699 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12700
12701         file-has-acl: revert unintended change in behavior of ls -L
12702         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12703         derived from...
12704         (file_has_acl): ...code here.  Call it.
12705         This problem was introduced with 2011-07-22 commit 95f7c57f,
12706         "file-has-acl: use acl_extended_file_nofollow if available".
12707         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12708
12709 2011-10-03  Bruno Haible  <bruno@clisp.org>
12710
12711         poll: Avoid link errors on MSVC.
12712         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12713         * modules/poll (Depends-on): Add sockets.
12714         (Link): New section.
12715         * NEWS: Mention the change.
12716         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12717         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12718         $(LIB_POLL) instead of $(LIBSOCKET).
12719
12720 2011-10-03  Bruno Haible  <bruno@clisp.org>
12721
12722         sys_select tests: Fix link error on MSVC 9.
12723         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12724         with $(LIB_SELECT) instead of $(LIBSOCKET).
12725
12726 2011-10-03  Bruno Haible  <bruno@clisp.org>
12727
12728         sys_select: Fix compilation error on mingw.
12729         * lib/sys_select.in.h: On native Windows, include <io.h>.
12730
12731 2011-10-03  Bruno Haible  <bruno@clisp.org>
12732
12733         wmemset: Support for MSVC.
12734         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12735         whether wmemset() exists.
12736
12737 2011-10-03  Bruno Haible  <bruno@clisp.org>
12738
12739         wmemmove: Support for MSVC.
12740         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12741         whether wmemmove() exists.
12742
12743 2011-10-03  Bruno Haible  <bruno@clisp.org>
12744
12745         wmemcpy: Support for MSVC.
12746         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12747         whether wmemcpy() exists.
12748
12749 2011-10-03  Bruno Haible  <bruno@clisp.org>
12750
12751         wmemcmp: Support for MSVC.
12752         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12753         whether wmemcmp() exists.
12754
12755 2011-10-03  Bruno Haible  <bruno@clisp.org>
12756
12757         wmemchr: Support for MSVC.
12758         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12759         whether wmemchr() exists.
12760
12761 2011-10-03  Bruno Haible  <bruno@clisp.org>
12762
12763         glthread/*, strsignal: Support for MSVC.
12764         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12765         including <winsock.h> on MSVC 9.
12766         * lib/glthread/lock.h: Likewise.
12767         * lib/glthread/thread.h: Likewise.
12768         * lib/glthread/tls.h: Likewise.
12769         * lib/glthread/yield.h: Likewise.
12770         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12771         if HAVE_UNISTD_H is false.
12772         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12773
12774 2011-10-03  Bruno Haible  <bruno@clisp.org>
12775
12776         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12777         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12778         Set to 100000.
12779
12780 2011-10-03  Bruno Haible  <bruno@clisp.org>
12781
12782         acl: Fix specification.
12783         * lib/file-has-acl.c (file_has_acl): Fix specification.
12784
12785 2011-10-03  Bruno Haible  <bruno@clisp.org>
12786
12787         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12788         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12789         (compute_curr_prefix, shared_library_fullname,
12790         find_shared_library_fullname, get_shared_library_fullname, relocate):
12791         Use it together with PIC && INSTALLDIR.
12792         Reported by <jojelino@gmail.com>
12793         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12794
12795 2011-10-01  Jim Meyering  <meyering@redhat.com>
12796
12797         maint.mk: adjust a release-related rule not to require use of gzip
12798         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12799         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12800         projects that build only .tar.xz files.  Also fix an erroneous test.
12801
12802         test-linkat: don't leave behind a temporary file
12803         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12804         Otherwise, coreutils' "make distcheck" would fail with this:
12805           Only in /c/cu/tests/torture/coreutils/test/\
12806             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12807           make[2]: *** [my-distcheck] Error 1
12808
12809         float, math: add omitted file
12810         * lib/itold.c: Add file, required for yesterday's float change.
12811
12812 2011-10-01  Bruno Haible  <bruno@clisp.org>
12813
12814         isinf: Fix for OpenBSD/x86.
12815         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12816         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12817         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12818
12819 2011-10-01  Bruno Haible  <bruno@clisp.org>
12820
12821         isfinite: Fix syntax error in configure test.
12822         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12823
12824         isfinite: Fix typo.
12825         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12826         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12827
12828 2011-10-01  Bruno Haible  <bruno@clisp.org>
12829
12830         nonblocking tests: Fix test failure on Linux/IA-64.
12831         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12832         Set to 270000.
12833
12834 2011-10-01  Bruno Haible  <bruno@clisp.org>
12835
12836         mkfifoat tests: Fix a test failure on mingw.
12837         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12838         with error ENOSYS.
12839
12840 2011-09-30  Bruno Haible  <bruno@clisp.org>
12841
12842         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12843         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12844         'long double'. Set REPLACE_ITOLD.
12845         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12846         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12847         * lib/itold.c: New file.
12848         * modules/float (Files): Add lib/itold.c.
12849         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12850         (Makefile.am): Substitute REPLACE_ITOLD.
12851         * modules/math (Depends-on): Add float.
12852         (Makefile.am): Substitute REPLACE_ITOLD.
12853         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12854         * doc/posix-headers/math.texi: Likewise.
12855         * doc/posix-functions/logl.texi: Likewise.
12856
12857 2011-09-30  Bruno Haible  <bruno@clisp.org>
12858
12859         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12860         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12861         Set to 140000.
12862
12863 2011-09-30  Bruno Haible  <bruno@clisp.org>
12864
12865         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12866         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12867         invocation, say "right after AC_PROG_CC_STDC", not "right after
12868         AC_PROG_CC".
12869         Reported by Gary V. Vaughan <gary@gnu.org>.
12870
12871 2011-09-30  Bruno Haible  <bruno@clisp.org>
12872
12873         Centralize C99 requirement.
12874         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12875         * modules/stdarg (configure.ac-early): Invoke it instead of
12876         AC_PROG_CC_STDC.
12877         Reported by Gary V. Vaughan and Paul Eggert.
12878
12879 2011-09-29  Bruno Haible  <bruno@clisp.org>
12880
12881         float: Fix LDBL_MAX value on Linux/PowerPC.
12882         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12883         on Linux/PowerPC.
12884         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12885         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12886         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12887         platform.
12888         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12889
12890 2011-09-29  Bruno Haible  <bruno@clisp.org>
12891
12892         doc: Improve doc about gl_EARLY.
12893         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12894         AC_PROG_CC_STDC invocation.
12895         Reported by Gary V. Vaughan <gary@gnu.org>.
12896
12897 2011-09-28  Bruno Haible  <bruno@clisp.org>
12898
12899         fgetc, fputc, fread, fwrite tests: Fix link error.
12900         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12901         on non-MSVC platforms.
12902         * tests/test-fputc.c (main): Likewise.
12903         * tests/test-fread.c (main): Likewise.
12904         * tests/test-fwrite.c (main): Likewise.
12905         Reported by Jim Meyering.
12906
12907 2011-09-27  Bruno Haible  <bruno@clisp.org>
12908
12909         fputc, fwrite tests: Avoid test failure on MSVC.
12910         * tests/test-fgetc.c: Include msvc-inval.h.
12911         (main): Invoke gl_msvc_inval_ensure_handler.
12912         * tests/test-fputc.c: Include msvc-inval.h.
12913         (main): Invoke gl_msvc_inval_ensure_handler.
12914         * tests/test-fread.c: Include msvc-inval.h.
12915         (main): Invoke gl_msvc_inval_ensure_handler.
12916         * tests/test-fwrite.c: Include msvc-inval.h.
12917         (main): Invoke gl_msvc_inval_ensure_handler.
12918         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12919         * modules/fputc-tests (Depends-on): Likewise.
12920         * modules/fread-tests (Depends-on): Likewise.
12921         * modules/fwrite-tests (Depends-on): Likewise.
12922
12923 2011-09-27  Bruno Haible  <bruno@clisp.org>
12924
12925         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12926         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12927         (raise): Remove older, duplicated declaration.
12928         (_gl_raise_SIGPIPE): New declaration.
12929         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12930         (rpl_raise): Remove function.
12931         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12932         a gnulib-defined SIGPIPE here.
12933         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12934         'sigprocmask' has detected missing signal-blocking and the module
12935         'sigpipe' is enabled.
12936         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12937
12938 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12939
12940         base64-tests: avoid memory leak
12941         * tests/test-base64.c (main): Plug memory leak.
12942
12943         base32: new module
12944         * modules/base32: New module.
12945         * lib/base32.c: New file.
12946         * lib/base32.h: Likewise.
12947         * m4/base32.m4: Likewise.
12948         * modules/base32-tests: New test.
12949         * tests/test-base32.c: Likewise.
12950         * MODULES.html.sh (Misc): Mention it.
12951
12952 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12953
12954         gnulib: use more-standard license notice wording
12955         * gnulib-tool (func_emit_copyright_notice): When emitting a
12956         license notice into a file, use the standard wording as suggested
12957         by the current information for GNU maintainers, except say "file"
12958         rather than "program".  The new wording gives a license version
12959         number, which addresses an issue raised by Glenn Morris in
12960         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12961         * m4/onceonly.m4: Use that same wording here, too.
12962
12963         dup2: minor simplification
12964         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12965         as lib/dup2.c no longer uses 'inline'.
12966
12967 2011-09-25  Bruno Haible  <bruno@clisp.org>
12968
12969         strings: Fix compilation error on MSVC.
12970         * lib/strings.in.h: Include <stddef.h> for size_t.
12971
12972 2011-09-25  Bruno Haible  <bruno@clisp.org>
12973
12974         fflush et al.: Document limitation on MSVC.
12975         * doc/posix-functions/fflush.texi: Document possible crash in handling
12976         mode other than DEFAULT_HANDLING.
12977         * doc/posix-functions/fgetc.texi: Likewise.
12978         * doc/posix-functions/fputc.texi: Likewise.
12979         * doc/posix-functions/fread.texi: Likewise.
12980         * doc/posix-functions/fwrite.texi: Likewise.
12981
12982 2011-09-25  Bruno Haible  <bruno@clisp.org>
12983
12984         msvc-inval: Allow three invalid parameter handling modes.
12985         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12986         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12987         macros.
12988         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12989         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12990         SANE_LIBRARY_HANDLING as a no-op.
12991         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12992         <stdlib.h>.
12993         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12994
12995 2011-09-25  Bruno Haible  <bruno@clisp.org>
12996
12997         msvc-inval: Make handler multithread-safe.
12998         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12999         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
13000         declarations.
13001         (gl_msvc_inval_current): New declaration.
13002         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
13003         Operate on the structure returned by gl_msvc_inval_current().
13004         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
13005         Remove varaiables.
13006         (tls_index, tls_initialized): New variables.
13007         (not_per_thread): New variable.
13008         (gl_msvc_inval_current): New function.
13009         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
13010         returned by gl_msvc_inval_current().
13011
13012 2011-09-25  Bruno Haible  <bruno@clisp.org>
13013
13014         msvc-inval: Install handler globally.
13015         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
13016         !_MSC_VER.
13017         (gl_msvc_invalid_parameter_handler): Remove declaration.
13018         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
13019         declarations.
13020         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
13021         Install the handler globally, don't uninstall it.
13022         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
13023         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
13024         currently valid, call RaiseException instead.
13025         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
13026         for !_MSC_VER.
13027
13028 2011-09-25  Bruno Haible  <bruno@clisp.org>
13029
13030         strerror_r-posix: Fix for MSVC 9.
13031         * lib/strerror_r.c (local_snprintf): New function.
13032         (snprintf): Define to local_snprintf, not to _snprintf.
13033
13034 2011-09-25  Bruno Haible  <bruno@clisp.org>
13035
13036         ftruncate: Support for MSVC 9.
13037         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
13038         (chsize_nothrow): New function.
13039         (chsize): Redefine as a macro.
13040         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
13041         * modules/ftruncate (Depends-on): Add msvc-inval.
13042
13043 2011-09-25  Bruno Haible  <bruno@clisp.org>
13044
13045         New module 'fstat'.
13046         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
13047         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
13048         * lib/fchdir.c (rpl_fstat): Remove function.
13049         * m4/fstat.m4: New file.
13050         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
13051         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
13052         declared.
13053         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
13054         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
13055         * modules/fstat: New file.
13056         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
13057         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
13058         is set.
13059         * doc/posix-functions/fstat.texi: Mention the new module and the
13060         problem on MSVC.
13061         * NEWS: Mention the change.
13062         * modules/acl (Depends-on): Add fstat.
13063         * modules/chdir-safer (Depends-on): Likewise.
13064         * modules/chown (Depends-on): Likewise.
13065         * modules/copy-file (Depends-on): Likewise.
13066         * modules/fchdir (Depends-on): Likewise.
13067         * modules/fdopendir (Depends-on): Likewise.
13068         * modules/fopen (Depends-on): Likewise.
13069         * modules/fts (Depends-on): Likewise.
13070         * modules/getcwd (Depends-on): Likewise.
13071         * modules/isapipe (Depends-on): Likewise.
13072         * modules/linkat (Depends-on): Likewise.
13073         * modules/lseek (Depends-on): Likewise.
13074         * modules/mkdir-p (Depends-on): Likewise.
13075         * modules/open (Depends-on): Likewise.
13076         * modules/openat (Depends-on): Likewise.
13077         * modules/read-file (Depends-on): Likewise.
13078         * modules/renameat (Depends-on): Likewise.
13079         * modules/utimens (Depends-on): Likewise.
13080
13081 2011-09-25  Bruno Haible  <bruno@clisp.org>
13082
13083         linkat: Fix compilation on MSVC 9.
13084         * lib/linkat.c: Don't include <stdint.h>.
13085
13086 2011-09-25  Bruno Haible  <bruno@clisp.org>
13087
13088         fclose: Support for MSVC 9.
13089         * lib/fclose.c: Include msvc-inval.h.
13090         (fclose_nothrow): New function.
13091         (rpl_fclose): Use it.
13092         * modules/fclose (Depends-on): Add msvc-inval.
13093         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
13094
13095 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
13096
13097         dup2: minor simplifications
13098         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
13099         that it's a performance win.
13100         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
13101         ! defined __CYGWIN__)" to "ifdef F_GETFL".
13102
13103 2011-09-24  Jim Meyering  <meyering@redhat.com>
13104
13105         test-futimens: avoid a warning from gcc -Wshadow
13106         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
13107         to avoid a shadowing warning.
13108
13109 2011-09-24  Bruno Haible  <bruno@clisp.org>
13110
13111         fdopen: Support for MSVC 9.
13112         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
13113         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
13114         * lib/fdopen.c: Include msvc-inval.h.
13115         (fdopen_nothrow): New function.
13116         (rpl_fdopen): Use it.
13117         * modules/fdopen (Depends-on): Add msvc-inval.
13118         * modules/fclose-tests (Depends-on): Add fdopen.
13119         * modules/fflush-tests (Depends-on): Likewise.
13120         * modules/fgetc-tests (Depends-on): Likewise.
13121         * modules/fputc-tests (Depends-on): Likewise.
13122         * modules/fread-tests (Depends-on): Likewise.
13123         * modules/freopen-tests (Depends-on): Likewise.
13124         * modules/fseeko-tests (Depends-on): Likewise.
13125         * modules/ftello-tests (Depends-on): Likewise.
13126         * modules/fwrite-tests  (Depends-on): Likewise.
13127         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
13128
13129 2011-09-24  Bruno Haible  <bruno@clisp.org>
13130
13131         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
13132         * modules/fgetc-tests (Depends-on): Add unistd.
13133         * modules/fputc-tests (Depends-on): Likewise.
13134         * modules/fread-tests (Depends-on): Likewise.
13135         * modules/fwrite-tests (Depends-on): Likewise.
13136
13137 2011-09-24  Bruno Haible  <bruno@clisp.org>
13138
13139         dup: Simplify autoconf test.
13140         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
13141         on gl_MSVC_INVAL's result.
13142
13143 2011-09-24  Bruno Haible  <bruno@clisp.org>
13144
13145         Tests for function fwrite().
13146         * modules/fwrite-tests: New file.
13147         * tests/test-fwrite.c: New file.
13148         * modules/stdio-tests (Depends-on): Add fwrite-tests.
13149
13150         Tests for function fread().
13151         * modules/fread-tests: New file.
13152         * tests/test-fread.c: New file.
13153         * modules/stdio-tests (Depends-on): Add fread-tests.
13154
13155         Activate fputc tests.
13156         * modules/stdio-tests (Depends-on): Add fputc-tests.
13157
13158         Enhance fgetc, fputc tests.
13159         * tests/test-fgetc.c (main): Also test the stream's error indicator.
13160         * tests/test-fputc.c (main): Likewise.
13161
13162 2011-09-24  Bruno Haible  <bruno@clisp.org>
13163
13164         write: Support for MSVC 9.
13165         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13166         is not 1.
13167         * lib/write.c (write_nothrow): New function.
13168         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
13169         not 1. Use write_nothrow.
13170         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
13171         invalid parameter handler.
13172         (gl_PREREQ_WRITE): New macro.
13173         * modules/write (Depends-on): Add msvc-inval.
13174         (configure.ac): Invoke gl_PREREQ_WRITE.
13175         * doc/posix-functions/write.texi: Mention the problem on MSVC.
13176
13177 2011-09-24  Bruno Haible  <bruno@clisp.org>
13178
13179         read: Fix last commit.
13180         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
13181
13182 2011-09-24  Bruno Haible  <bruno@clisp.org>
13183
13184         dup2: Fix last commit.
13185         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
13186         (rpl_dup2): Disable fcntl workaround on native Windows.
13187
13188         sigprocmask: Make code safer.
13189         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
13190         section that changes macro definitions for this compilation unit.
13191
13192 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13193
13194         dup2: clarify by coalescing Windows-specific material
13195         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
13196         "msvc-nothrow.h"' to the Windows-specific section, so that the
13197         Emacs source need not contain these include files.
13198         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
13199         Windows-specific fixes into this function rather than just the
13200         nothrow fix, as this shortens and clarifies the code.  Always
13201         define as a function, as that's a bit cleaner than having it be
13202         sometimes a function and sometimes a macro.
13203         (rpl_dup2): Move the Windows-specific stuff out of here and into
13204         ms_windows_dup2.  Don't protect the Haiku-related fix with
13205         "#if !defined __linux__", as the same code also works around
13206         a Linux kernel bug, and it doesn't add any system calls on any
13207         platform.  Add comment about FreeBSD 6.1.
13208
13209         sigprocmask: move #include directive
13210         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
13211         Windows-specific section, so that the Emacs source need not
13212         contain msvc-inval.h.
13213
13214 2011-09-23  Bruno Haible  <bruno@clisp.org>
13215
13216         read: Support for MSVC 9.
13217         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13218         is not 1.
13219         * lib/read.c (read_nothrow): New function.
13220         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
13221         read_nothrow.
13222         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
13223         invalid parameter handler.
13224         (gl_PREREQ_READ): New macro.
13225         * modules/read (Depends-on): Add msvc-inval.
13226         (configure.ac): Invoke gl_PREREQ_READ.
13227         * doc/posix-functions/read.texi: Mention the problem on MSVC.
13228
13229 2011-09-23  Bruno Haible  <bruno@clisp.org>
13230
13231         close: Support for MSVC 9.
13232         * lib/close.c: Include <errno.h>, msvc-inval.h.
13233         (close_nothrow): New function.
13234         (rpl_close): Use it.
13235         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
13236         invalid parameter handler.
13237         * modules/close (Depends-on): Add msvc-inval.
13238         * modules/dup2-tests (Depends-on): Add close.
13239         * modules/dup3-tests (Depends-on): Likewise.
13240         * modules/fcntl-tests (Depends-on): Likewise.
13241         * modules/spawn-pipe-tests (Depends-on): Likewise.
13242         * modules/unistd-safer-tests (Depends-on): Likewise.
13243         * doc/posix-functions/close.texi: Mention the problem on MSVC.
13244
13245 2011-09-23  Bruno Haible  <bruno@clisp.org>
13246
13247         New module 'dup'.
13248         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
13249         Allow replacement.
13250         * lib/dup.c: New file.
13251         * lib/fchdir.c (rpl_dup): Remove function.
13252         * m4/dup.m4: New file.
13253         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
13254         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
13255         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
13256         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
13257         * modules/dup: New file.
13258         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
13259         'dup' module is in use.
13260         * modules/fdopendir (Depends-on): Add dup.
13261         * modules/fdutimensat-tests (Depends-on): Likewise.
13262         * modules/fts (Depends-on): Likewise.
13263         * modules/futimens-tests (Depends-on): Likewise.
13264         * modules/posix_spawnp-tests (Depends-on): Likewise.
13265         * modules/unistd-safer-tests (Depends-on): Likewise.
13266         * modules/utimens-tests (Depends-on): Likewise.
13267         * doc/posix-functions/dup.texi: Mention the new module and the problem
13268         on MSVC.
13269
13270 2011-09-23  Bruno Haible  <bruno@clisp.org>
13271
13272         getdtablesize: Support for MSVC 9.
13273         * lib/getdtablesize.c: Include msvc-inval.h.
13274         (_setmaxstdio_nothrow): New function.
13275         (_setmaxstdio): Redefine it.
13276         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
13277         * modules/getdtablesize (Depends-on): Add msvc-inval.
13278         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
13279
13280 2011-09-23  Bruno Haible  <bruno@clisp.org>
13281
13282         signal-h: Rename from signal.
13283         * modules/signal-h: Renamed from modules/signal.
13284         * modules/pthread_sigmask (Depends-on): Update.
13285         * modules/raise (Depends-on): Likewise.
13286         * modules/sigaction (Depends-on): Likewise.
13287         * modules/sigpipe (Depends-on): Likewise.
13288         * modules/sigprocmask (Depends-on): Likewise.
13289         * modules/sys_select (Depends-on): Likewise.
13290         * modules/signal-h-tests: Renamed from modules/signal-tests.
13291         (Files, Depends-on, Makefile.am): Update.
13292         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
13293         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
13294         (Files, Makefile.am): Update.
13295         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
13296         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
13297         * modules/signal: New placeholder file.
13298         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
13299         * doc/posix-headers/signal.texi: Update.
13300         * NEWS: Mention the change.
13301
13302 2011-09-23  Bruno Haible  <bruno@clisp.org>
13303
13304         sigprocmask: Avoid crashes through signal() on MSVC 9.
13305         * lib/sigprocmask.c: Include msvc-inval.h.
13306         (signal_nothrow): New function.
13307         (signal): Redefine it.
13308         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
13309         * modules/sigprocmask (Depends-on): Add msvc-inval.
13310         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
13311
13312 2011-09-23  Bruno Haible  <bruno@clisp.org>
13313
13314         Tests for module 'raise'.
13315         * modules/raise-tests: New file.
13316         * tests/test-raise.c: New file.
13317
13318         raise: Support for MSVC.
13319         * lib/signal.in.h (raise): New declaration.
13320         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
13321         for native Windows platforms.
13322         * m4/raise.m4: New file.
13323         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
13324         HAVE_RAISE, REPLACE_RAISE.
13325         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
13326         REPLACE_RAISE.
13327         * modules/raise (Status, Notice): Remove fields.
13328         (Files): Add m4/raise.m4.
13329         (Depends-on): Add signal, msvc-inval.
13330         (configure.ac): Use the common idioms.
13331         (Maintainer): Add me.
13332         * tests/test-signal-c++.cc: Check the signature of raise.
13333         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
13334
13335 2011-09-23  Bruno Haible  <bruno@clisp.org>
13336
13337         pipe2: Fix compilation on pre-C99 compilers.
13338         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
13339
13340 2011-09-23  Bruno Haible  <bruno@clisp.org>
13341
13342         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
13343         * lib/msvc-nothrow.h: New file.
13344         * lib/msvc-nothrow.c: New file.
13345         * m4/msvc-nothrow.m4: New file.
13346         * modules/msvc-nothrow: New file.
13347         * lib/dup2.c: Include msvc-nothrow.h.
13348         (rpl_dup2): No need to protect _get_osfhandle call here.
13349         * lib/accept4.c: Include msvc-nothrow.h.
13350         * lib/error.c: Likewise.
13351         * lib/fcntl.c: Likewise.
13352         * lib/lseek.c: Likewise.
13353         * lib/nonblocking.c: Likewise.
13354         * lib/poll.c: Likewise.
13355         * lib/read.c: Likewise.
13356         * lib/select.c: Likewise.
13357         * lib/sockets.h: Likewise.
13358         * lib/sockets.c: Likewise.
13359         * lib/stdio-read.c: Likewise.
13360         * lib/stdio-write.c: Likewise.
13361         * lib/write.c: Likewise.
13362         * lib/w32sock.h: Likewise.
13363         * lib/w32spawn.h: Likewise.
13364         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
13365         * lib/fsync.c: Likewise.
13366         * lib/isapipe.c: Likewise.
13367         * modules/dup2 (Depends-on): Add msvc-nothrow.
13368         * modules/accept4 (Depends-on): Likewise.
13369         * modules/error (Depends-on): Likewise.
13370         * modules/fcntl (Depends-on): Likewise.
13371         * modules/lseek (Depends-on): Likewise.
13372         * modules/nonblocking (Depends-on): Likewise.
13373         * modules/poll (Depends-on): Likewise.
13374         * modules/read (Depends-on): Likewise.
13375         * modules/select (Depends-on): Likewise.
13376         * modules/sockets (Depends-on): Likewise.
13377         * modules/sigpipe (Depends-on): Likewise.
13378         * modules/write (Depends-on): Likewise.
13379         * modules/accept (Depends-on): Likewise.
13380         * modules/bind (Depends-on): Likewise.
13381         * modules/connect (Depends-on): Likewise.
13382         * modules/gethostname (Depends-on): Likewise.
13383         * modules/getpeername (Depends-on): Likewise.
13384         * modules/getsockname (Depends-on): Likewise.
13385         * modules/getsockopt (Depends-on): Likewise.
13386         * modules/ioctl (Depends-on): Likewise.
13387         * modules/listen (Depends-on): Likewise.
13388         * modules/recv (Depends-on): Likewise.
13389         * modules/recvfrom (Depends-on): Likewise.
13390         * modules/send (Depends-on): Likewise.
13391         * modules/sendto (Depends-on): Likewise.
13392         * modules/setsockopt (Depends-on): Likewise.
13393         * modules/shutdown (Depends-on): Likewise.
13394         * modules/socket (Depends-on): Likewise.
13395         * modules/execute (Depends-on): Likewise.
13396         * modules/spawn-pipe (Depends-on): Likewise.
13397         * modules/flock (Depends-on): Likewise.
13398         * modules/fsync (Depends-on): Likewise.
13399         * modules/isapipe (Depends-on): Likewise.
13400         * tests/test-cloexec.c: Include msvc-nothrow.h.
13401         * tests/test-dup-safer.c: Likewise.
13402         * tests/test-dup2.c: Likewise.
13403         * tests/test-dup3.c: Likewise.
13404         * tests/test-fcntl.c: Likewise.
13405         * tests/test-pipe.c: Likewise.
13406         * tests/test-pipe2.c: Likewise.
13407         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
13408         * modules/unistd-safer-tests (Depends-on): Likewise.
13409         * modules/dup2-tests (Depends-on): Likewise.
13410         * modules/dup3-tests (Depends-on): Likewise.
13411         * modules/fcntl-tests (Depends-on): Likewise.
13412         * modules/pipe-posix-tests (Depends-on): Likewise.
13413         * modules/pipe2-tests (Depends-on): Likewise.
13414
13415 2011-09-23  Bruno Haible  <bruno@clisp.org>
13416
13417         dup2: Make code more maintainable.
13418         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
13419         (rpl_dup2): Use it.
13420         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
13421         * modules/dup2 (configure.ac): Invoke it.
13422         Reported by Paul Eggert.
13423
13424 2011-09-23  Bruno Haible  <bruno@clisp.org>
13425
13426         msvc-inval: Fix compilation error.
13427         * lib/msvc-inval.h: Include <excpt.h>.
13428
13429 2011-09-23  Bruno Haible  <bruno@clisp.org>
13430
13431         mkdir: Tweak for MSVC 9.
13432         * lib/sys_stat.in.h: Update comments.
13433         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
13434
13435         Tests for module 'chdir'.
13436         * modules/chdir-tests: New file.
13437         * tests/test-chdir.c: New file.
13438
13439         New module 'chdir'.
13440         * modules/chdir: New file.
13441         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
13442         (chdir): New declaration.
13443         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
13444         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
13445         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
13446         * tests/test-unistd-c++.cc: Check signature of chdir.
13447         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
13448         * modules/chdir-long (Depends-on): Add chdir.
13449         * modules/fchdir (Depends-on): Likewise.
13450         * modules/rename (Depends-on): Likewise.
13451         * modules/savewd (Depends-on): Likewise.
13452
13453         rmdir: Support for mingw, MSVC 9.
13454         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
13455         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13456
13457         getcwd: Tweak for MSVC 9.
13458         * lib/unistd.in.h: Update comments.
13459         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13460
13461 2011-09-22  Bruno Haible  <bruno@clisp.org>
13462
13463         strerror_r-posix: Avoid a link error on MSVC.
13464         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13465         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13466
13467 2011-09-22  Bruno Haible  <bruno@clisp.org>
13468
13469         select: Avoid link errors on MSVC.
13470         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13471         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13472         * modules/pselect (Link): Likewise.
13473         * NEWS: Mention the change.
13474         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13475         test-select-stdin against $(LIB_SELECT).
13476         * modules/pselect-tests (Makefile.am): Link test-pselect against
13477         $(LIB_SELECT).
13478
13479 2011-09-22  Bruno Haible  <bruno@clisp.org>
13480
13481         select: Avoid compilation error on MSVC.
13482         * lib/select.c: Don't include <stdbool.h>.
13483
13484 2011-09-21  Bruno Haible  <bruno@clisp.org>
13485
13486         Consolidate all uses of PATH_MAX in *.m4 files.
13487         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13488         macros.
13489         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13490         and gl_PATHMAX_SNIPPET.
13491         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13492         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13493         * modules/chdir-long (Files): Add m4/pathmax.m4.
13494         * modules/getcwd (Files): Likewise.
13495
13496 2011-09-21  Bruno Haible  <bruno@clisp.org>
13497
13498         ftruncate: Un-deprecate, concentrate on Win32 support.
13499         * modules/ftruncate (Status, Notice): Remove sections.
13500         (Depends-on): Add largefile.
13501         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13502         non-mingw platforms.
13503         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13504         include <io.h>.
13505         * modules/perror-tests (Depends-on): Add ftruncate.
13506         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13507         'ftruncate' module.
13508
13509 2011-09-21  Bruno Haible  <bruno@clisp.org>
13510
13511         Add dependencies to new dirent related modules.
13512         * modules/opendir (Depends-on): Add closedir.
13513         * modules/getcwd (Depends-on): Add opendir, closedir.
13514         * modules/dirent-safer-tests (Depends-on): Likewise.
13515         * modules/fdopendir-tests (Depends-on): Likewise.
13516         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13517         * modules/renameat-tests (Depends-on): Likewise.
13518
13519 2011-09-21  Bruno Haible  <bruno@clisp.org>
13520
13521         opendir: Avoid compilation error on mingw.
13522         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13523         * modules/opendir (Depends-on): Add unistd.
13524
13525 2011-09-21  Bruno Haible  <bruno@clisp.org>
13526
13527         ftruncate tests: Avoid a test failure on mingw.
13528         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13529
13530 2011-09-21  Bruno Haible  <bruno@clisp.org>
13531
13532         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13533         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13534         native Windows.
13535
13536 2011-09-21  Bruno Haible  <bruno@clisp.org>
13537
13538         New module 'fdopen'.
13539         * lib/stdio.in.h (fdopen): New declaration.
13540         * lib/fdopen.c: New file.
13541         * m4/fdopen.m4: New file.
13542         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13543         REPLACE_FDOPEN.
13544         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13545         REPLACE_FDOPEN.
13546         * modules/fdopen: New file.
13547         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13548         * tests/test-stdio-c++.cc: Check signature of fdopen.
13549         * doc/posix-functions/fdopen.texi: Mention the new module.
13550
13551 2011-09-21  Bruno Haible  <bruno@clisp.org>
13552
13553         unlockpt tests: Avoid test failure on NetBSD 5.1.
13554         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13555         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13556
13557 2011-09-21  Bruno Haible  <bruno@clisp.org>
13558
13559         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13560         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13561         * tests/test-getlogin_r.c (main): Likewise.
13562
13563 2011-09-20  Bruno Haible  <bruno@clisp.org>
13564
13565         time tests: Don't require pid_t.
13566         * doc/posix-headers/time.texi: Revert last change.
13567         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13568         * tests/test-time.c: Comment out the check for pid_t.
13569
13570 2011-09-20  Bruno Haible  <bruno@clisp.org>
13571
13572         fsync tests: Avoid a test failure on mingw.
13573         * tests/test-fsync.c (main): Allow a failure with EIO.
13574
13575 2011-09-20  Bruno Haible  <bruno@clisp.org>
13576
13577         euidaccess: Update comments.
13578         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13579
13580 2011-09-20  Bruno Haible  <bruno@clisp.org>
13581
13582         Ensure EBADF returns for socket functions on mingw.
13583         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13584         descriptor is invalid.
13585         * lib/bind.c (rpl_bind): Likewise.
13586         * lib/connect.c (rpl_connect): Likewise.
13587         * lib/getpeername.c (rpl_getpeername): Likewise.
13588         * lib/getsockname.c (rpl_getsockname): Likewise.
13589         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13590         * lib/listen.c (rpl_listen): Likewise.
13591         * lib/recv.c (rpl_recv): Likewise.
13592         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13593         * lib/send.c (rpl_send): Likewise.
13594         * lib/sendto.c (rpl_sendto): Likewise.
13595         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13596         * lib/shutdown.c (rpl_shutdown): Likewise.
13597
13598 2011-09-20  Bruno Haible  <bruno@clisp.org>
13599
13600         select tests: EBADF tests.
13601         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13602         test_bad_fd): New functions.
13603         (test_function): Invoke also test_bad_fd.
13604
13605 2011-09-20  Bruno Haible  <bruno@clisp.org>
13606
13607         Tests for module 'posix_spawn_file_actions_addopen.
13608         * modules/posix_spawn_file_actions_addopen-tests: New file.
13609         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13610
13611         Tests for module 'posix_spawn_file_actions_adddup2'.
13612         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13613         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13614
13615         Tests for module 'posix_spawn_file_actions_addclose'.
13616         * modules/posix_spawn_file_actions_addclose-tests: New file.
13617         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13618
13619 2011-09-20  Bruno Haible  <bruno@clisp.org>
13620
13621         Tests for module 'unlockpt'.
13622         * modules/unlockpt-tests: New file.
13623         * tests/test-unlockpt.c: New file.
13624         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13625
13626         Tests for module 'grantpt'.
13627         * modules/grantpt-tests: New file.
13628         * tests/test-grantpt.c: New file.
13629         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13630
13631 2011-09-20  Bruno Haible  <bruno@clisp.org>
13632
13633         freopen tests: EBADF tests.
13634         * tests/test-freopen.c: Include errno.h, unistd.h.
13635         (main): Add tests for EBADF, commented out for the moment.
13636
13637         fclose tests: EBADF tests.
13638         * tests/test-fclose.c (main): Add tests for EBADF.
13639
13640         fflush tests: EBADF tests.
13641         * tests/test-fflush.c: Include errno.h, macros.h.
13642         (main): Add tests for EBADF.
13643
13644         ftello tests: EBADF tests.
13645         * tests/test-ftello4.sh: New file.
13646         * tests/test-ftello4.c: New file.
13647         * modules/ftello-tests (Files): Add them.
13648         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13649
13650         fseeko tests: EBADF tests.
13651         * tests/test-fseeko4.sh: New file.
13652         * tests/test-fseeko4.c: New file.
13653         * modules/fseeko-tests (Files): Add them.
13654         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13655
13656         Tests for function fputc().
13657         * modules/fputc-tests: New file.
13658         * tests/test-fputc.c: New file.
13659         * modules/stdio-tests (Depends-on): Add fputc-tests.
13660
13661         Tests for function fgetc().
13662         * modules/fgetc-tests: New file.
13663         * tests/test-fgetc.c: New file.
13664         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13665
13666         Tests for function fdopen().
13667         * modules/fdopen-tests: New file.
13668         * tests/test-fdopen.c: New file.
13669         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13670
13671         Tests for module 'vdprintf'.
13672         * modules/vdprintf-tests: New file.
13673         * tests/test-vdprintf.c: New file.
13674
13675         Tests for module 'dprintf'.
13676         * modules/dprintf-tests: New file.
13677         * tests/test-dprintf.c: New file.
13678
13679 2011-09-20  Bruno Haible  <bruno@clisp.org>
13680
13681         Tests for module 'ioctl'.
13682         * modules/ioctl-tests: New file.
13683         * tests/test-ioctl.c: New file.
13684
13685 2011-09-20  Bruno Haible  <bruno@clisp.org>
13686
13687         fcntl tests: EBADF tests.
13688         * tests/test-fcntl.c (main): Add more tests for EBADF.
13689
13690 2011-09-20  Bruno Haible  <bruno@clisp.org>
13691
13692         utimensat tests: EBADF tests.
13693         * tests/test-utimensat.c (main): Add tests for EBADF.
13694
13695         renameat tests: EBADF tests.
13696         * tests/test-renameat.c (main): Add tests for EBADF.
13697
13698         mkfifoat tests: EBADF tests.
13699         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13700
13701         readlinkat tests: EBADF tests.
13702         * tests/test-readlinkat.c (main): Add tests for EBADF.
13703
13704         symlinkat tests: EBADF tests.
13705         * tests/test-symlinkat.c (main): Add tests for EBADF.
13706
13707         linkat tests: EBADF tests.
13708         * tests/test-linkat.c (main): Add tests for EBADF.
13709
13710         Tests for module 'faccessat'.
13711         * modules/faccessat-tests: New file.
13712         * tests/test-faccessat.c: New file.
13713
13714         fdopendir tests: EBADF tests.
13715         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13716
13717         openat tests: EBADF tests.
13718         * tests/test-fchownat.c (main): Add tests for EBADF.
13719         * tests/test-fstatat.c (main): Likewise.
13720         * tests/test-mkdirat.c (main): Likewise.
13721         * tests/test-openat.c (main): Likewise.
13722         * tests/test-unlinkat.c (main): Likewise.
13723         * tests/test-fchmodat.c: New file.
13724         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13725         (Makefile.am): Also run 'test-fchmodat'.
13726
13727 2011-09-20  Bruno Haible  <bruno@clisp.org>
13728
13729         utimens, futimens, fdutimensat tests: EBADF tests.
13730         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13731
13732         Tests for function fstat().
13733         * modules/fstat-tests: New file.
13734         * tests/test-fstat.c: New file.
13735         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13736
13737 2011-09-20  Bruno Haible  <bruno@clisp.org>
13738
13739         test-ttyname_r tests: EBADF tests.
13740         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13741
13742         Tests for module 'isatty'.
13743         * modules/isatty-tests: New file.
13744         * tests/test-isatty.c: New file.
13745
13746         Tests for module 'write'.
13747         * modules/write-tests: New file.
13748         * tests/test-write.c: New file.
13749
13750         Tests for module 'read'.
13751         * modules/read-tests: New file.
13752         * tests/test-read.c: New file.
13753
13754         pwrite tests: EBADF tests.
13755         * tests/test-pwrite.c (main): Add tests for EBADF.
13756
13757         pread tests: EBADF tests.
13758         * tests/test-pread.c (main): Add tests for EBADF.
13759
13760         lseek tests: EBADF tests.
13761         * tests/test-lseek.c (main): Add more tests for EBADF.
13762
13763         Tests for module 'ftruncate'.
13764         * modules/ftruncate-tests: New file.
13765         * tests/test-ftruncate.sh: New file.
13766         * tests/test-ftruncate.c: New file.
13767
13768         fsync tests: EBADF tests.
13769         * tests/test-fsync.c (main): Add more tests for EBADF.
13770
13771         fdatasync tests: EBADF tests.
13772         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13773
13774         Tests for module 'fchown'.
13775         * modules/fchown-tests: New file.
13776         * tests/test-fchown.c: New file.
13777
13778         Tests for module 'fchmod'.
13779         * modules/fchmod-tests: New file.
13780         * tests/test-fchmod.c: New file.
13781
13782         fchdir tests: EBADF tests.
13783         * tests/test-fchdir.c (main): Add more tests for EBADF.
13784
13785         dup2 tests: EBADF tests.
13786         * tests/test-dup2.c (main): Add more tests for EBADF.
13787
13788         Tests for module 'dup'.
13789         * modules/dup-tests: New file.
13790         * tests/test-dup.c: New file.
13791
13792         Tests for module 'close'.
13793         * modules/close-tests: New file.
13794         * tests/test-close.c: New file.
13795
13796 2011-09-20  Bruno Haible  <bruno@clisp.org>
13797
13798         Tests for module 'shutdown'.
13799         * modules/shutdown-tests: New file.
13800         * tests/test-shutdown.c: New file.
13801
13802         Tests for module 'setsockopt'.
13803         * modules/setsockopt-tests: New file.
13804         * tests/test-setsockopt.c: New file.
13805
13806         Tests for module 'sendto'.
13807         * modules/sendto-tests: New file.
13808         * tests/test-sendto.c: New file.
13809
13810         Tests for module 'send'.
13811         * modules/send-tests: New file.
13812         * tests/test-send.c: New file.
13813
13814         Tests for module 'recvfrom'.
13815         * modules/recvfrom-tests: New file.
13816         * tests/test-recvfrom.c: New file.
13817
13818         Tests for module 'recv'.
13819         * modules/recv-tests: New file.
13820         * tests/test-recv.c: New file.
13821
13822         Tests for module 'listen'.
13823         * modules/listen-tests: New file.
13824         * tests/test-listen.c: New file.
13825
13826         Tests for module 'getsockopt'.
13827         * modules/getsockopt-tests: New file.
13828         * tests/test-getsockopt.c: New file.
13829
13830         Tests for module 'getsockname'.
13831         * modules/getsockname-tests: New file.
13832         * tests/test-getsockname.c: New file.
13833
13834         Tests for module 'getpeername'.
13835         * modules/getpeername-tests: New file.
13836         * tests/test-getpeername.c: New file.
13837
13838         Tests for module 'connect'.
13839         * modules/connect-tests: New file.
13840         * tests/test-connect.c: New file.
13841
13842         Tests for module 'bind'.
13843         * modules/bind-tests: New file.
13844         * tests/test-bind.c: New file.
13845
13846         accept4 tests: Fix for native Windows.
13847         * tests/test-accept4.c: Include sockets.h.
13848         (main): Invoke gl_sockets_startup.
13849         * modules/accept4-tests (Depends-on): Add sockets.
13850
13851         accept tests: Fix for native Windows.
13852         * tests/test-accept.c: Include sockets.h.
13853         (main): Invoke gl_sockets_startup.
13854         * modules/accept-tests (Depends-on): Add sockets.
13855
13856 2011-09-19  Bruno Haible  <bruno@clisp.org>
13857
13858         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13859         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13860         do...while(0).
13861         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13862         Suggested by Paul Eggert.
13863
13864 2011-09-19  Bruno Haible  <bruno@clisp.org>
13865
13866         sched: Ensure pid_t is defined.
13867         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13868         not define pid_t.
13869         * lib/sched.in.h: Include <sys/types.h>.
13870         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13871         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13872
13873 2011-09-19  Bruno Haible  <bruno@clisp.org>
13874
13875         msvc-inval: Ensure the entire expansion is a single statement.
13876         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13877         of braces.
13878
13879 2011-09-19  Jim Meyering  <meyering@redhat.com>
13880
13881         tests: use printf, not echo in init.sh's warn_ function
13882         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13883         misbehave when given strings containing a backslash or starting
13884         with e.g., -n.  James Youngman suggested setting IFS.
13885
13886 2011-09-19  Eric Blake  <eblake@redhat.com>
13887
13888         futimens: enhance test
13889         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13890         closed non-negative fd.
13891
13892         date: accept 'hence' as opposite of 'ago'
13893         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13894         * tests/test-parse-datetime.c (main): Enhance test.
13895         Suggested by Jesse Wilson.
13896
13897 2011-09-19  Jim Meyering  <meyering@redhat.com>
13898
13899         getcwd: don't fail in a deep directory on a system without openat
13900         Before this change, getcwd would fail when called from a directory
13901         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13902         the non-openat implementation used "..", "../..", "../../..", etc.
13903         to access ancestor directories.  With too many, that string would
13904         be longer than PATH_MAX.
13905         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13906         using gnulib's openat replacement.
13907         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13908         we're using the replacement function.
13909
13910 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13911
13912         maint.mk: avoid warnings from perl about missing files
13913         * top/maint.mk (def_sym_regex): Ignore files listed in
13914         $(gl_other_headers_) that do not exist, say because a project
13915         does not use a corresponding module.
13916
13917 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13918
13919         stat: use pathmax.h only if needed
13920         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13921         This is better for Emacs, which does not have a mingw port and
13922         therefore can avoid the pathmax module.
13923
13924         utimens: remove dependency on dup2
13925         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13926         to work around the Linux kernel bug.
13927         * modules/utimens (Depends-on): Remove dup2.
13928
13929 2011-09-18  Bruno Haible  <bruno@clisp.org>
13930
13931         inet_ntop, inet_pton: Look for it also in libresolv.
13932         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13933         libnsl, search for it in libresolv.
13934         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13935         Needed on Solaris 7.
13936
13937 2011-09-18  Bruno Haible  <bruno@clisp.org>
13938
13939         accept, accept4 tests: Avoid link error on Solaris.
13940         * modules/accept-tests (Makefile.am): Link test-accept against
13941         $(LIBSOCKET).
13942         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13943         $(LIBSOCKET).
13944
13945         accept4: Avoid link error on Solaris.
13946         * modules/accept4 (Link): New section.
13947
13948         socket functions: Avoid link errors on Solaris.
13949         * modules/accept (Depends-on): Add socketlib.
13950         (Link): New section.
13951         * modules/bind (Depends-on): Add socketlib.
13952         (Link): New section.
13953         * modules/connect (Depends-on): Add socketlib.
13954         (Link): New section.
13955         * modules/getpeername (Depends-on): Add socketlib.
13956         (Link): New section.
13957         * modules/getsockname (Depends-on): Add socketlib.
13958         (Link): New section.
13959         * modules/getsockopt (Depends-on): Add socketlib.
13960         (Link): New section.
13961         * modules/listen (Depends-on): Add socketlib.
13962         (Link): New section.
13963         * modules/recv (Depends-on): Add socketlib.
13964         (Link): New section.
13965         * modules/recvfrom (Depends-on): Add socketlib.
13966         (Link): New section.
13967         * modules/send (Depends-on): Add socketlib.
13968         (Link): New section.
13969         * modules/sendto (Depends-on): Add socketlib.
13970         (Link): New section.
13971         * modules/setsockopt (Depends-on): Add socketlib.
13972         (Link): New section.
13973         * modules/shutdown (Depends-on): Add socketlib.
13974         (Link): New section.
13975         * modules/socket (Depends-on): Add socketlib.
13976         (Link): New section.
13977
13978 2011-09-18  Bruno Haible  <bruno@clisp.org>
13979
13980         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13981         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13982         than 5 seconds.
13983         * modules/ptsname-tests (configure.ac): Test for alarm.
13984
13985 2011-09-18  Bruno Haible  <bruno@clisp.org>
13986
13987         posix_spawn_file_actions_add*: Fix module dependencies.
13988         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13989         posix_spawn_file_actions_init.
13990         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13991         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13992
13993 2011-09-18  Bruno Haible  <bruno@clisp.org>
13994
13995         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13996         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13997         * tests/test-renameat.c (main): Likewise.
13998
13999 2011-09-18  Bruno Haible  <bruno@clisp.org>
14000
14001         Tests for module 'accept4'.
14002         * modules/accept4-tests: New file.
14003         * tests/test-accept4.c: New file.
14004
14005 2011-09-18  Bruno Haible  <bruno@clisp.org>
14006
14007         Tests for module 'accept'.
14008         * modules/accept-tests: New file.
14009         * tests/test-accept.c: New file.
14010
14011 2011-09-18  Bruno Haible  <bruno@clisp.org>
14012
14013         dup2: Support for MSVC.
14014         * lib/dup2.c: Include msvc-inval.h.
14015         (rpl_dup2): Handle invalid parameter notifications during dup2 and
14016         _get_osfhandle calls.
14017         * modules/dup2 (Depends-on): Add msvc-inval.
14018         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
14019
14020         New module 'msvc-inval'.
14021         * lib/msvc-inval.h: New file.
14022         * lib/msvc-inval.c: New file.
14023         * m4/msvc-inval.m4: New file.
14024         * modules/msvc-inval: New file.
14025
14026 2011-09-17  Bruno Haible  <bruno@clisp.org>
14027
14028         Tests for module 'pclose'.
14029         * modules/pclose-tests: New file.
14030
14031         New module 'pclose'.
14032         * lib/stdio.in.h (pclose): New declaration.
14033         * lib/pclose.c: New file.
14034         * m4/pclose.m4: New file.
14035         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
14036         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
14037         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
14038         * modules/pclose: New file.
14039         * modules/popen-tests (Depends-on): Add pclose.
14040         * modules/popen-safer-tests (Depends-on): Likewise.
14041         * doc/posix-functions/pclose.texi: Mention the new module.
14042
14043 2011-09-17  Bruno Haible  <bruno@clisp.org>
14044
14045         popen: Support for MSVC.
14046         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
14047         * lib/popen.c (popen): Provide alternate definition for native Windows.
14048         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
14049         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
14050         * modules/popen (Depends-on, configure.ac): Update condition.
14051         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
14052         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
14053         fixed.
14054
14055 2011-09-17  Bruno Haible  <bruno@clisp.org>
14056
14057         isnanl, isnand, isnanf: Work around MSVC bug.
14058         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
14059
14060 2011-09-17  Bruno Haible  <bruno@clisp.org>
14061
14062         sys_socket tests: Fix recent mistake.
14063         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
14064
14065 2011-09-17  Bruno Haible  <bruno@clisp.org>
14066
14067         putenv: Support for MSVC.
14068         * modules/putenv (Depends-on): Add environ.
14069         * lib/putenv.c (environ): Disable declaration.
14070         * lib/unistd.in.h: Update comment.
14071
14072 2011-09-17  Bruno Haible  <bruno@clisp.org>
14073
14074         math: Avoid macro redefinition warnings on MSVC.
14075         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
14076         Undefine before redefining.
14077
14078 2011-09-17  Bruno Haible  <bruno@clisp.org>
14079
14080         doc: Mention functions which are declared as macros.
14081         * doc/posix-functions/*[fl].texi: Mention that some functions are
14082         defined as macros with arguments only.
14083
14084 2011-09-17  Bruno Haible  <bruno@clisp.org>
14085
14086         Add dependencies to new dirent related modules.
14087         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
14088         * modules/fts (Depends-on): Likewise.
14089         * modules/glob (Depends-on): Likewise.
14090         * modules/savedir (Depends-on): Likewise.
14091         * modules/scandir (Depends-on): Likewise.
14092         * modules/dirent-safer (Depends-on): Add opendir, closedir.
14093         * modules/fdopendir (Depends-on): Add opendir.
14094
14095 2011-09-17  Bruno Haible  <bruno@clisp.org>
14096
14097         inet_pton: Support for MSVC on Windows Vista or newer.
14098         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
14099         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
14100         HAVE_DECL_INET_PTON is defined.
14101         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14102         On platforms with <winsock2.h>, test whether inet_pton is declared in
14103         <ws2tcpip.h>. If so, arrange to replace it.
14104         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14105         REPLACE_INET_PTON.
14106         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
14107         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
14108         (Depends-on, configure.ac): Update condition.
14109         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
14110
14111 2011-09-17  Bruno Haible  <bruno@clisp.org>
14112
14113         inet_ntop: Support for MSVC on Windows Vista or newer.
14114         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
14115         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
14116         HAVE_DECL_INET_NTOP is defined.
14117         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14118         On platforms with <winsock2.h>, test whether inet_ntop is declared in
14119         <ws2tcpip.h>. If so, arrange to replace it.
14120         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14121         REPLACE_INET_NTOP.
14122         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
14123         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
14124         (Depends-on, configure.ac): Update condition.
14125         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
14126
14127 2011-09-16  Eric Blake  <eblake@redhat.com>
14128
14129         test-fsync: yet another enhancement
14130         * tests/test-fsync.c (main): Also test behavior on read-only text
14131         file.
14132
14133 2011-09-16  Bruno Haible  <bruno@clisp.org>
14134
14135         Enhance fsync, fdatasync tests.
14136         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
14137         * tests/test-fdatasync.c (main): Likewise.
14138
14139 2011-09-16  Bruno Haible  <bruno@clisp.org>
14140
14141         Support for MSVC compiler: Ensure mode_t gets defined.
14142         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
14143         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14144         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
14145         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
14146         * tests/test-fcntl-h.c: Check that mode_t is defined.
14147         * tests/test-sys_stat.c: Likewise.
14148         * tests/test-sys_types.c: Likewise.
14149         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
14150         * doc/posix-headers/sys_stat.texi: Likewise.
14151         * doc/posix-headers/sys_types.texi: Likewise.
14152
14153 2011-09-16  Bruno Haible  <bruno@clisp.org>
14154
14155         sys_stat: Support for MSVC.
14156         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
14157         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
14158         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
14159         MSVC.
14160
14161 2011-09-16  Bruno Haible  <bruno@clisp.org>
14162
14163         Support for MSVC compiler: Ensure off_t gets defined.
14164         * lib/unistd.in.h: Include <sys/types.h>.
14165         * tests/test-fcntl-h.c: Check that off_t is defined.
14166         * tests/test-sys_stat.c: Likewise.
14167         * tests/test-sys_types.c: Likewise.
14168
14169 2011-09-16  Eric Blake  <eblake@redhat.com>
14170
14171         fdatasync: port to Solaris
14172         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
14173         * modules/fdatasync (Link): Document it.
14174         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
14175
14176         fdatasync: port to MacOS X 10.7
14177         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
14178         declared.
14179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
14180         * modules/unistd (Makefile.am): Substitute it.
14181         * lib/unistd.in.h (fdatasync): Declare on MacOS.
14182         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
14183
14184         fdatasync: minor improvements
14185         * modules/fdatasync (Depends-on): Add condition for fsync.
14186         * lib/fdatasync.c (fdatasync): Add comment.
14187         * tests/test-unistd-c++.cc: Test fdatasync.
14188
14189         unistd: update refs to newer POSIX
14190         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
14191         Suggested by Bruno Haible.
14192
14193         fdatasync: new module
14194         * modules/fsync (Description): Document difference to fdatasync.
14195         * modules/fdatasync: New module.
14196         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
14197         * lib/fdatasync.c (fdatasync): Likewise.
14198         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
14199         defaults.
14200         * modules/unistd (Makefile.am): Set witnesses.
14201         * lib/unistd.in.h (fdatasync): Declare.
14202         * MODULES.html.sh: Document it.
14203         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
14204         * modules/fdatasync-tests: New test.
14205         * tests/test-fdatasync.c: Likewise.
14206
14207 2011-09-16  Eric Blake  <eblake@redhat.com>
14208
14209         test-fsync: enhance tests
14210         * modules/fsync-tests (Depends-on): Add errno, for mingw.
14211         * tests/test-fsync.c (main): Enhance test.
14212
14213 2011-09-15  Bruno Haible  <bruno@clisp.org>
14214
14215         Support for MSVC compiler: Ensure ssize_t gets defined.
14216         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
14217         * doc/posix-headers/stdio.texi: Likewise.
14218         * modules/stdio (Depends-on): Add ssize_t.
14219         * modules/sys_socket (Depends-on): Likewise.
14220         * modules/sys_types (Depends-on): Likewise.
14221         * modules/sys_uio (Depends-on): Likewise.
14222         * modules/unistd (Depends-on): Likewise.
14223         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
14224         * tests/test-sys_types.c: Check that ssize_t is defined.
14225
14226 2011-09-14  Bruno Haible  <bruno@clisp.org>
14227
14228         Avoid using #, the m4 comment starter character, near brackets.
14229         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
14230         delimiter character in sed expressions.
14231         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
14232         Suggested by Eric Blake.
14233
14234         Properly quote AC_CHECK_DECLS' 4th argument.
14235         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
14236         argument.
14237         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14238         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14239         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14240         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14241         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14242         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
14243         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
14244         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
14245         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
14246         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14247         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
14248         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14249         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14250         * m4/isinf.m4 (gl_ISINF): Likewise.
14251         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14252         * m4/readutmp.m4 (gl_READUTMP): Likewise.
14253         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
14254         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14255         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14256         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14257         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14258         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14259         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
14260         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14261         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14262         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14263         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
14264         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14265         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14266         Reported by Eric Blake.
14267
14268         Properly quote AC_CHECK_DECL's 4th argument.
14269         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
14270         argument.
14271         * m4/argp.m4 (gl_ARGP): Likewise.
14272         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
14273         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
14274         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
14275         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14276         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
14277         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
14278         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
14279         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
14280         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14281         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
14282         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
14283         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
14284         Reported by Eric Blake.
14285
14286 2011-09-14  Eric Blake  <eblake@redhat.com>
14287
14288         opendir: avoid compile warning
14289         * lib/opendir.c (includes): Always include errno.h.
14290         Reported by Tatsuro MATSUOKA.
14291
14292 2011-09-14  Jim Meyering  <meyering@redhat.com>
14293
14294         maint.mk: sc_tight_scope: propagate failure from sub-make
14295         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
14296         Reported by Martin von Gagern.
14297
14298 2011-09-13  Bruno Haible  <bruno@clisp.org>
14299
14300         tempname: Support for MSVC.
14301         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
14302         MSVC.
14303         * modules/tempname (Depends-on): Add fcntl-h.
14304
14305 2011-09-13  Bruno Haible  <bruno@clisp.org>
14306
14307         sys_time: Support for MSVC.
14308         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
14309         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
14310         include <winsock2.h>.
14311         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
14312         function declarations that collide with POSIX.
14313         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
14314         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14315
14316 2011-09-13  Bruno Haible  <bruno@clisp.org>
14317
14318         stat: Support for MSVC.
14319         * lib/stat.c: Include pathmax.h.
14320         * modules/stat (Depends-on): Add pathmax.
14321
14322         pathmax: Support for native Windows.
14323         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
14324
14325 2011-09-12  Bruno Haible  <bruno@clisp.org>
14326
14327         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
14328         * lib/dirent.in.h (struct dirent): New type.
14329         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
14330         DT_WHT): New macros.
14331         (DIR): New type.
14332         (opendir, closedir): Declare only if the module 'opendir' is enabled.
14333         (readdir, rewinddir): New declarations.
14334         * lib/dirent-private.h: New file.
14335         * lib/opendir.c: New file.
14336         * lib/readdir.c: New file.
14337         * lib/rewinddir.c: New file.
14338         * lib/closedir.c: New file.
14339         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
14340         * m4/opendir.m4: New file.
14341         * m4/readdir.m4: New file.
14342         * m4/rewinddir.m4: New file.
14343         * m4/closedir.m4: New file.
14344         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
14345         REPLACE_CLOSEDIR here.
14346         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
14347         readdir, rewinddir are declared.
14348         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
14349         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
14350         HAVE_REWINDDIR, HAVE_CLOSEDIR.
14351         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
14352         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
14353         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
14354         * modules/opendir: New file.
14355         * modules/readdir: New file.
14356         * modules/rewinddir: New file.
14357         * modules/closedir: New file.
14358         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
14359         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
14360         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
14361         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
14362         * NEWS: Mention the 'fchdir' change.
14363
14364 2011-09-11  Bruno Haible  <bruno@clisp.org>
14365
14366         asm-underscore.m4: Support for MSVC.
14367         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
14368         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
14369
14370 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
14371
14372         Doc about crypt functions.
14373         * doc/posix-functions/crypt.texi: Expand range of glibc versions
14374         needing for _GNU_SOURCE to get crypt.
14375         * doc/posix-functions/encrypt.texi: Likewise.
14376         * doc/posix-functions/setkey.texi: Likewise.
14377
14378 2011-09-11  Bruno Haible  <bruno@clisp.org>
14379
14380         doc: Update regarding MSVC 9.
14381         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
14382         tested".
14383         * doc/posix-functions/*.texi: Update with info about MSVC 9.
14384         * doc/posix-headers/*.texi: Likewise.
14385         * doc/pastposix-functions/*.texi: Likewise.
14386         * doc/glibc-functions/*.texi: Likewise.
14387         * doc/glibc-headers/*.texi: Likewise.
14388
14389 2011-09-11  Bruno Haible  <bruno@clisp.org>
14390
14391         unistd et al.: Don't assume <unistd.h> exists.
14392         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
14393         does not exist.
14394         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
14395         exist. But include <stdlib.h>.
14396         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
14397         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
14398         symlink() does not exist.
14399         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
14400         include <io.h> instead.
14401         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
14402         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
14403         include <direct.h> instead.
14404         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14405         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14406         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
14407         <io.h> instead.
14408         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
14409         correctly if the system does not have hard links.
14410         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
14411         <direct.h> instead.
14412         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
14413         it when looking for function declarations.
14414         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
14415         <direct.h> and <io.h> instead.
14416         * doc/posix-headers/unistd.texi: More details about MSVC problem.
14417
14418 2011-09-11  Bruno Haible  <bruno@clisp.org>
14419
14420         strcase: Support for MSVC.
14421         * modules/strcase (Status, Notice): Remove obsoletion mark.
14422         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
14423         * doc/posix-functions/strncasecmp.texi: Likewise.
14424
14425         strings: Don't assume <strings.h> exists.
14426         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
14427         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
14428         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
14429         * doc/posix-headers/strings.texi: Mention the MSVC problem.
14430
14431 2011-09-11  Bruno Haible  <bruno@clisp.org>
14432
14433         dirent: Don't assume <dirent.h> exists.
14434         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
14435         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
14436         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
14437         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
14438
14439 2011-09-11  Bruno Haible  <bruno@clisp.org>
14440
14441         Fix wint_t on MSVC.
14442         * lib/wchar.in.h (wint_t): On MSVC, override it.
14443         * lib/wctype.in.h (wint_t): Likewise.
14444         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
14445         MSVC.
14446         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
14447         * doc/posix-headers/wctype.texi: Likewise.
14448
14449 2011-09-11  Bruno Haible  <bruno@clisp.org>
14450
14451         sys_types: Fix typo.
14452         * lib/sys_types.in.h: Fix typo in comment.
14453         Reported by Paul Eggert.
14454
14455         Support for MSVC compiler: Ensure size_t gets defined.
14456         * modules/strings (Depends-on): Add 'sys_types'.
14457         * modules/sys_uio (Depends-on): Likewise.
14458         * lib/sys_uio.in.h: Update comment.
14459
14460         C++ tests for module 'sys_types'.
14461         * modules/sys_types-c++-tests: New file.
14462         * tests/test-sys_types-c++.cc: New file.
14463
14464         Tests for module 'sys_types'.
14465         * modules/sys_types-tests: New file.
14466         * tests/test-sys_types.c: New file.
14467
14468         New module 'sys_types'.
14469         * lib/sys_types.in.h: New file.
14470         * m4/sys_types_h.m4: New file.
14471         * modules/sys_types: New file.
14472         * doc/posix-headers/sys_types.texi: Mention the new module and the
14473         size_t problem on MSVC 9.
14474
14475 2011-09-11  Bruno Haible  <bruno@clisp.org>
14476
14477         Support for MSVC compiler: Avoid division by a literal 0.
14478         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14479         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14480         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14481         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14482         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14483         * tests/infinity.h: New file.
14484         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14485         on MSVC.
14486         * tests/test-ceilf1.c: Include infinity.h.
14487         (main): Use Infinityf.
14488         * tests/test-ceil1.c: Include infinity.h.
14489         (main): Use Infinityd.
14490         * tests/test-ceill.c: Include infinity.h.
14491         (main): Use Infinityl.
14492         * tests/test-dprintf-posix.c: Include infinity.h.
14493         (test_function): Use Infinityd.
14494         * tests/test-floorf1.c: Include infinity.h.
14495         (main): Use Infinityf.
14496         * tests/test-floor1.c: Include infinity.h.
14497         (main): Use Infinityd.
14498         * tests/test-floorl.c: Include infinity.h.
14499         (main): Use Infinityl.
14500         * tests/test-fprintf-posix.c: Include infinity.h.
14501         (test_function): Use Infinityd.
14502         * tests/test-frexp.c: Include infinity.h.
14503         (main): Use Infinityd.
14504         * tests/test-frexpl.c: Include infinity.h.
14505         (main): Use Infinityl.
14506         * tests/test-isfinite.c: Include infinity.h.
14507         (test_isfinitef): Use Infinityf.
14508         (test_isfinited): Use Infinityd.
14509         (test_isfinitel): Use Infinityl.
14510         * tests/test-isinf.c: Include infinity.h.
14511         (test_isinff): Use Infinityf.
14512         (test_isinfd): Use Infinityd.
14513         (test_isinfl): Use Infinityl.
14514         * tests/test-isnan.c: Include infinity.h.
14515         (test_float): Use Infinityf.
14516         (test_double): Use Infinityd.
14517         (test_long_double): Use Infinityl.
14518         * tests/test-isnanf.h: Include infinity.h.
14519         (main): Use Infinityf.
14520         * tests/test-isnand.h: Include infinity.h.
14521         (main): Use Infinityd.
14522         * tests/test-isnanl.h: Include infinity.h.
14523         (main): Use Infinityl.
14524         * tests/test-ldexpl.c: Include infinity.h.
14525         (main): Use Infinityl.
14526         * tests/test-printf-posix.h: Include infinity.h.
14527         (test_function): Use Infinityd.
14528         * tests/test-roundf1.c: Include infinity.h.
14529         (main): Use Infinityf.
14530         * tests/test-round1.c: Include infinity.h.
14531         (main): Use Infinityd.
14532         * tests/test-roundl.c: Include infinity.h.
14533         (main): Use Infinityl.
14534         * tests/test-signbit.c: Include infinity.h.
14535         (test_signbitf): Use Infinityf.
14536         (test_signbitd): Use Infinityd.
14537         (test_signbitl): Use Infinityl.
14538         * tests/test-snprintf-posix.h: Include infinity.h.
14539         (test_function): Use Infinityd, Infinityl.
14540         * tests/test-sprintf-posix.h: Include infinity.h.
14541         (test_function): Use Infinityd, Infinityl.
14542         * tests/test-truncf1.c: Include infinity.h.
14543         (main): Use Infinityf.
14544         * tests/test-trunc1.c: Include infinity.h.
14545         (main): Use Infinityd.
14546         * tests/test-truncl.c: Include infinity.h.
14547         (main): Use Infinityl.
14548         * tests/test-vasnprintf-posix.c: Include infinity.h.
14549         (test_function): Use Infinityd, Infinityl.
14550         * tests/test-vasprintf-posix.c: Include infinity.h.
14551         (test_function): Use Infinityd, Infinityl.
14552         * modules/ceilf-tests (Files): Add tests/infinity.h.
14553         * modules/ceil-tests (Files): Likewise.
14554         * modules/ceill-tests (Files): Likewise.
14555         * modules/dprintf-posix-tests (Files): Likewise.
14556         * modules/floorf-tests (Files): Likewise.
14557         * modules/floor-tests (Files): Likewise.
14558         * modules/floorl-tests (Files): Likewise.
14559         * modules/fprintf-posix-tests (Files): Likewise.
14560         * modules/frexp-tests (Files): Likewise.
14561         * modules/frexp-nolibm-tests (Files): Likewise.
14562         * modules/frexpl-tests (Files): Likewise.
14563         * modules/frexpl-nolibm-tests (Files): Likewise.
14564         * modules/isfinite-tests (Files): Likewise.
14565         * modules/isinf-tests (Files): Likewise.
14566         * modules/isnan-tests (Files): Likewise.
14567         * modules/isnanf-tests (Files): Likewise.
14568         * modules/isnanf-nolibm-tests (Files): Likewise.
14569         * modules/isnand-tests (Files): Likewise.
14570         * modules/isnand-nolibm-tests (Files): Likewise.
14571         * modules/isnanl-tests (Files): Likewise.
14572         * modules/isnanl-nolibm-tests (Files): Likewise.
14573         * modules/ldexpl-tests (Files): Likewise.
14574         * modules/printf-posix-tests (Files): Likewise.
14575         * modules/roundf-tests (Files): Likewise.
14576         * modules/round-tests (Files): Likewise.
14577         * modules/roundl-tests (Files): Likewise.
14578         * modules/signbit-tests (Files): Likewise.
14579         * modules/snprintf-posix-tests (Files): Likewise.
14580         * modules/sprintf-posix-tests (Files): Likewise.
14581         * modules/truncf-tests (Files): Likewise.
14582         * modules/trunc-tests (Files): Likewise.
14583         * modules/truncl-tests (Files): Likewise.
14584         * modules/vasnprintf-posix-tests (Files): Likewise.
14585         * modules/vasprintf-posix-tests (Files): Likewise.
14586         * modules/vdprintf-posix-tests (Files): Likewise.
14587         * modules/vfprintf-posix-tests (Files): Likewise.
14588         * modules/vprintf-posix-tests (Files): Likewise.
14589         * modules/vsnprintf-posix-tests (Files): Likewise.
14590         * modules/vsprintf-posix-tests (Files): Likewise.
14591         * modules/xprintf-posix-tests (Files): Likewise.
14592
14593 2011-09-11  Bruno Haible  <bruno@clisp.org>
14594
14595         Ensure pid_t gets defined.
14596         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14597         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14598         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14599         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14600         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14601         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14602         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14603         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14604         * tests/test-fcntl-h.c: Check that pid_t is defined.
14605         * tests/test-sched.c: Likewise.
14606         * tests/test-termios.c: Likewise.
14607         * tests/test-time.c: Likewise.
14608         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14609         * doc/posix-headers/signal.texi: Likewise.
14610         * doc/posix-headers/sys_types.texi: Likewise.
14611         * doc/posix-headers/time.texi: Likewise.
14612
14613 2011-09-11  Bruno Haible  <bruno@clisp.org>
14614
14615         acl: Fix compilation on Solaris 10 (older version).
14616         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14617         of ACE_EVERYONE.
14618         * lib/set-mode-acl.c (qset_acl): Likewise.
14619         Reported by Christian Jullien <eligis@orange.fr>.
14620
14621 2011-09-10  Bruno Haible  <bruno@clisp.org>
14622
14623         iconv, unsetenv: Add support for MSVC compiler.
14624         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14625         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14626
14627 2011-09-10  Bruno Haible  <bruno@clisp.org>
14628
14629         *printf: Add support for MSVC compiler.
14630         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14631         handles the exception caused by the %n directive. When cross-compiling,
14632         guess no on native Windows.
14633         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14634         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14635         emulate it through vsnprintf.
14636         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14637         * doc/posix-functions/dprintf.texi: Update documentation regarding
14638         MSVC 9.
14639         * doc/posix-functions/fprintf.texi: Likewise.
14640         * doc/posix-functions/printf.texi: Likewise.
14641         * doc/posix-functions/snprintf.texi: Likewise.
14642         * doc/posix-functions/sprintf.texi: Likewise.
14643         * doc/posix-functions/swprintf.texi: Likewise.
14644         * doc/posix-functions/vdprintf.texi: Likewise.
14645         * doc/posix-functions/vfprintf.texi: Likewise.
14646         * doc/posix-functions/vprintf.texi: Likewise.
14647         * doc/posix-functions/vsnprintf.texi: Likewise.
14648         * doc/posix-functions/vsprintf.texi: Likewise.
14649         * doc/glibc-functions/asprintf.texi: Likewise.
14650         * doc/glibc-functions/obstack_printf.texi: Likewise.
14651         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14652         * doc/glibc-functions/vasprintf.texi: Likewise.
14653
14654 2011-09-10  Bruno Haible  <bruno@clisp.org>
14655
14656         nocrash: Add support for native Windows.
14657         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14658
14659 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14660             Bruno Haible  <bruno@clisp.org>
14661
14662         absolute-header, include-next: Add support for MSVC compiler.
14663         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14664         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14665         directory separator in #line directives.
14666         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14667         recognize also backslash as directory separator in #line directives.
14668
14669 2011-09-08  Jim Meyering  <meyering@redhat.com>
14670
14671         maint.mk: mark the post-release commit log with "maint: " prefix
14672         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14673         one-line commit-log summary.
14674
14675 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14676             Bruno Haible  <bruno@clisp.org>
14677
14678         Doc about crypt functions.
14679         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14680         systems.
14681         * doc/posix-functions/encrypt.texi: Likewise.
14682         * doc/posix-functions/setkey.texi: Likewise.
14683
14684 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14685
14686         * lib/gc.h: Fix copyright header.
14687
14688 2011-09-07  Bruno Haible  <bruno@clisp.org>
14689
14690         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14691         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14692         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14693
14694 2011-09-07  Bruno Haible  <bruno@clisp.org>
14695
14696         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14697         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14698         * lib/freopen.c: Likewise.
14699         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14700         * lib/lstat.c: Likewise.
14701         * lib/stat.c: Likewise.
14702         * lib/open.c: Use different syntax for include of <fcntl.h>.
14703         * lib/openat.c: Include fcntl.h again, explicitly.
14704
14705 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14706
14707         parse-datetime: document the newly accepted format
14708         * doc/parse-datetime.texi (Combined date and time of day items):
14709         New section.
14710
14711 2011-09-06  Bruno Haible  <bruno@clisp.org>
14712
14713         acl: Fix a test failure on newer Solaris 10 with ZFS.
14714         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14715         ENOSYS as no ACL.
14716         Reported by Jim Meyering.
14717
14718 2011-09-06  Bruno Haible  <bruno@clisp.org>
14719
14720         acl: Update for AIX >= 5.3 with NFS.
14721         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14722         ENOSYS as no ACL.
14723
14724         acl: Fix a test failure on AIX >= 5.3 with NFS.
14725         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14726         as no ACL.
14727
14728 2011-09-06  Bruno Haible  <bruno@clisp.org>
14729
14730         acl: Fix a test failure on IRIX 6.5 with NFS.
14731         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14732         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14733         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14734         * lib/copy-acl.c (qcopy_acl): Likewise.
14735
14736 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14737
14738         openat: port to AIX 7.1 with large files
14739         AIX 7.1 does a "#define openat open64at" if large files are in use,
14740         so we can't simply #undef openat.  Use the orig_openat trick (similar
14741         to orig_open in lib/open.c) to work around the problem.  Problem
14742         reported by Kevin Brott for GNU tar, in the thread containing
14743         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14744         * lib/openat.c (__need_system_fcntl_h): Define first.
14745         Include <fcntl.h> and <sys/types.h> before undefining.
14746         (orig_openat) [HAVE_OPENAT]: New inline function.
14747         (openat) [HAVE_OPENAT]: Do not undef.
14748         (rpl_openat): Use orig_openat, not openat.
14749
14750 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14751             Bruno Haible  <bruno@clisp.org>
14752
14753         acl: Avoid errors on NonStop Kernel.
14754         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14755         ENOTSUP errors.
14756
14757 2011-09-05  Bruno Haible  <bruno@clisp.org>
14758
14759         acl: Clean up Solaris code.
14760         * lib/acl-internal.h: Remove no-op #if.
14761         * lib/file-has-acl.c: Likewise.
14762         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14763         * lib/copy-acl.c (qcopy_acl): Likewise.
14764
14765 2011-09-05  Bruno Haible  <bruno@clisp.org>
14766
14767         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14768         binaries built on the original Solaris 10.
14769         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14770         trivial.
14771
14772 2011-09-05  Bruno Haible  <bruno@clisp.org>
14773
14774         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14775         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14776         10.
14777         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14778         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14779         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14780         instead of acl_get, facl_get, acl_set, facl_set.
14781
14782 2011-09-05  Bruno Haible  <bruno@clisp.org>
14783
14784         copy-file: Try unit tests on more file systems.
14785         * tests/test-copy-file-1.sh: New file.
14786         * tests/test-copy-file-2.sh: New file.
14787         * modules/copy-file-tests (Files): Add them.
14788         (Makefile.am): Add them to TESTS.
14789
14790         acl: Try unit tests on more file systems.
14791         * tests/test-file-has-acl-1.sh: New file.
14792         * tests/test-file-has-acl-2.sh: New file.
14793         * tests/test-set-mode-acl-1.sh: New file.
14794         * tests/test-set-mode-acl-2.sh: New file.
14795         * tests/test-copy-acl-1.sh: New file.
14796         * tests/test-copy-acl-2.sh: New file.
14797         * modules/acl-tests (Files): Add them.
14798         (Makefile.am): Add them to TESTS.
14799
14800 2011-09-04  Bruno Haible  <bruno@clisp.org>
14801
14802         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14803         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14804         10.
14805         (OLD_ALLOW, OLD_DENY): New macros.
14806         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14807         ACE_ACCESS_ALLOWED_ACE_TYPE.
14808         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14809         ACE_ACCESS_DENIED_ACE_TYPE.
14810         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14811         (NEW_ACE_EXECUTE): Fix value.
14812         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14813         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14814         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14815         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14816         NEW_ACE_SYNCHRONIZE): New macros.
14817         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14818         instead of acl_fromtext, acl_set, facl_set.
14819         Fixes a coreutils/tests/cp/perm failure.
14820
14821 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14822
14823         openat: test for fstatat (..., 0) bug
14824         Further testing with tar suggests that fstatat (..., 0)
14825         does not work in general, on AIX 7.1; see
14826         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14827         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14828         replacement fstatat (which is what older AIX releases were using
14829         anyway).
14830         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14831         use is now changed to orig_fstatat.  This was probably the right
14832         thing to do anyway.
14833         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14834         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14835         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14836         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14837         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14838         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14839         if the bug is found.
14840
14841         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14842         This tests for another fstatat bug on AIX 7.1:
14843         fstatat (AT_FDCWD, ..., 0) does not work.  See
14844         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14845         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14846         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14847         (rpl_fstatat): Adjust so that it works around either (or both)
14848         bugs if present.
14849         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14850
14851 2011-09-03  Karl Berry  <karl@gnu.org>
14852
14853         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14854         in index entries.
14855
14856 2011-09-02  Bruno Haible  <bruno@clisp.org>
14857
14858         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14859         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14860         values of AR, ARFLAGS, RANLIB.
14861         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14862
14863 2011-09-02  Bruno Haible  <bruno@clisp.org>
14864
14865         Find 'ar' program that fits with --host argument.
14866         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14867
14868 2011-09-02  Bruno Haible  <bruno@clisp.org>
14869
14870         tests: init.sh: Support any non-GNU diff.
14871         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14872         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14873         Solaris 8.
14874
14875 2011-09-02  Bruno Haible  <bruno@clisp.org>
14876
14877         tests: init.sh: work also with any non-GNU diff that supports -u
14878         * tests/init.sh: Relax check for diff -u support.
14879         Rather than checking for GNU diff via --version, simply check
14880         for support for -u itself.  Useful at least on OpenBSD 4.9,
14881         AIX 7.1, IRIX 6.5, and Solaris 10.
14882
14883 2011-09-01  Bruno Haible  <bruno@clisp.org>
14884
14885         strtoimax, strtoumax: Document problem on HP-UX 11.
14886         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14887         * doc/posix-functions/strtoumax.texi: Likewise.
14888
14889 2011-09-01  Bruno Haible  <bruno@clisp.org>
14890
14891         strtoumax: Avoid link error on OSF/1 with DTK cc.
14892         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14893         defined as a function.
14894         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14895         strtoumax is defined, not whether it is declared.
14896
14897 2011-09-01  Bruno Haible  <bruno@clisp.org>
14898
14899         strtoimax: Avoid link error on OSF/1 with DTK cc.
14900         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14901         defined as a function.
14902         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14903         strtoimax is defined, not whether it is declared.
14904
14905 2011-09-01  Bruno Haible  <bruno@clisp.org>
14906
14907         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14908         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14909         as a function.
14910         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14911         whether it is declared.
14912
14913 2011-09-01  Bruno Haible  <bruno@clisp.org>
14914
14915         imaxabs: Avoid link error on OSF/1 with DTK cc.
14916         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14917         as a function.
14918         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14919         whether it is declared.
14920
14921 2011-09-01  Bruno Haible  <bruno@clisp.org>
14922
14923         Tests for module 'strtoumax'.
14924         * modules/strtoumax-tests: New file.
14925         * tests/test-strtoumax.c: New file.
14926
14927         Tests for module 'strtoimax'.
14928         * modules/strtoimax-tests: New file.
14929         * tests/test-strtoimax.c: New file.
14930
14931         Tests for module 'imaxdiv'.
14932         * modules/imaxdiv-tests: New file.
14933         * tests/test-imaxdiv.c: New file.
14934
14935         Tests for module 'imaxabs'.
14936         * modules/imaxabs-tests: New file.
14937         * tests/test-imaxabs.c: New file.
14938
14939 2011-09-01  Bruno Haible  <bruno@clisp.org>
14940
14941         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14942         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14943         pthread_create.
14944
14945 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14946
14947         openat: work around AIX 7.1 fstatat issue
14948         This should fix the problem that was not properly fixed
14949         in the previous change, dated 2011-08-30.
14950         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14951         __need_system_stat_h defined.
14952         (orig_fstatat) [HAVE_FSTATAT]: New function.
14953         (rpl_fstatat): Go back to the old way of doing things,
14954         except call orig_fstatat instead of fstatat.
14955         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14956         Remove unnecessary check whether fstatat fills in st_size etc.
14957
14958 2011-09-01  Bruno Haible  <bruno@clisp.org>
14959
14960         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14961         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14962         just include the system's header.
14963
14964 2011-08-31  Jim Meyering  <meyering@redhat.com>
14965
14966         tests: avoid spurious assertion failure in test-float.c on ppc64
14967         * tests/test-float.c (test_long_double): Comment out an assertion,
14968         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14969         with gcc-4.4.4.
14970
14971         maint: indent with spaces, not TABs
14972         I need to get in the habit of running gnulib's "make check".
14973         Both of these would have been caught.
14974         * m4/largefile.m4: Indent with spaces, not TABs.
14975         * lib/parse-datetime.y (iso_8601_time): Likewise.
14976         Spotted by Pádraig Brady.
14977
14978         test-parse-datetime.c: accommodate a relatively strict gcc warning
14979         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14980         to avoid a warning from gcc's -Werror=missing-declarations.
14981         Insert a few spaces-before-funcall-parenthesis.
14982
14983 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14984
14985         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14986         The parser now accepts ISO 8601 date-time strings with "T" as the
14987         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14988         with a space between the date and time strings.  Now it also parses
14989         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14990         variants like "2004-02-29T16:21:42.333-07:00"
14991         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14992         of day representation using the 'T' separator character.
14993         * doc/parse-datetime.texi (General date syntax): replace use of
14994         deprecated --iso-8601 option with --rfc-3339 in example of date
14995         command output formats that can be parsed.
14996         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14997         lib/parse-datetime.y.
14998         (gmt_offset): New function.
14999         (main): Add additional test cases to validate ISO8601 extended
15000         date and time of day parsing.
15001
15002 2011-08-31  Bruno Haible  <bruno@clisp.org>
15003
15004         freopen: Documentation.
15005         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
15006         name.
15007         Reported by Claudio Bley <claudio.bley@gmail.com>.
15008
15009 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
15010
15011         freopen: Don't crash if the filename argument is NULL.
15012         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
15013         NULL.
15014
15015 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15016
15017         openat: work around AIX 7.1 fstatat bug
15018         Problem reported by Kevin Brott for GNU tar, in the thread containing
15019         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
15020         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
15021         FSTATAT_ST_SIZE_ETC_BROKEN.
15022         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
15023         rpl_fstatat.
15024         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
15025         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
15026         AC_CHECK_FUNCS_ONCE for fstatat.
15027         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
15028         fchmodat, mkdirat, openat and unlinkat.
15029
15030 2011-08-30  Bruno Haible  <bruno@clisp.org>
15031
15032         Avoid endless recursions if config.h includes some header files.
15033         * lib/fopen.c (__need_FILE): Define already before including config.h.
15034         * lib/freopen.c (__need_FILE): Likewise.
15035         * lib/open.c (__need_system_fcntl_h): Likewise.
15036         * lib/stat.c (__need_system_sys_stat_h): Likewise.
15037         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
15038         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
15039
15040 2011-08-25  Karl Berry  <karl@gnu.org>
15041
15042         * config/srclist.txt (ylwrap): new try.
15043         * build-aux/ylwrap: new file.
15044
15045 2011-08-23  Bruno Haible  <bruno@clisp.org>
15046
15047         tmpdir: Use a good default directory on native Windows.
15048         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
15049         (P_tmpdir): Default to _P_tmpdir on native Windows.
15050         (path_search): On native Windows, try the value returned by GetTempPath
15051         before trying P_tmpdir.
15052         * modules/tmpdir (Depends-on): Add pathmax.
15053         Suggested by John Darrington <john@darrington.wattle.id.au>.
15054
15055 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
15056
15057         doc: fix typo in README-release
15058         * top/README-release: Capitalize first word of a sentence.
15059
15060 2011-08-19  Jim Meyering  <meyering@redhat.com>
15061
15062         fts: do not exhaust memory when processing million-entry directories
15063         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
15064         directory would require about 256*N bytes of memory.  Thus, it was
15065         easy to construct a directory too large to be processed by any of
15066         those tools.  With this change, fts' maximum memory utilization is
15067         now limited to around 30MB.
15068         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
15069         (fts_read): When we've processed the final entry (i.e., when
15070         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
15071         using the parent entry to read any remaining entries.  Dispatch
15072         depending on what fts_build returns:
15073         - NULL+stop, aka failure: stop
15074         - NULL otherwise: move up in the dir hierarchy
15075         - non-NULL: handle this new entry
15076         (fts_build): Declare and use new local, continue_readdir.
15077         Prepare to be called from fts_read, when the entries
15078         from a partially-read directory have just been exhausted.
15079         In that case, we'll skip the opendir and instead use the parent's
15080         fts_dirp and derive dir_fd from that.
15081         Finally, in the readdir loop, if we read max_entries entries,
15082         exit the loop ensuring *not* to call closedir.  This is required
15083         so that fts_dirp can be reused on a subsequent call.
15084         Prompted by Ben England's report of memory exhaustion in find
15085         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
15086
15087         maint: fts: move decl of `dp' down into while loop; split a long line
15088         * lib/fts.c (fts_build): No semantic change.
15089
15090         fts: add/use new struct member, fts_dirp
15091         We are about to use this to manage any directory with
15092         too many entries to read all of them into memory at once.
15093         To do that, we'll need to save the DIR* pointer in each
15094         affected FTSENT struct.
15095         * lib/fts_.h: Include <dirent.h>.
15096         (struct FTSENT) [fts_dirp]: New member.
15097         * lib/fts.c (closedir_and_clear): Define.
15098         Use it in place of closedir so that we are sure to
15099         clear the new fts_dirp member when done with it.
15100         (fts_alloc): Initialize the new member.
15101         (fts_lfree): Free, if needed.
15102
15103         maint: fts: give __opendir2 a new parameter and rename
15104         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
15105         than surreptitiously using sole caller's "dir_fd".
15106         (fts_opendir): Rename from __opendir2.
15107
15108         maint: fts.c: remove __opendir2's now-unused parameter, oflag
15109         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
15110
15111         maint: fts.c: correct off-by-one indentation
15112         * lib/fts.c (fts_build): Correct indentation, change style
15113         of a couple of block comments, and bracing style.
15114
15115         maint: fts.c: move __opendir2 #define "up" out of function body
15116         * lib/fts.c (__opendir2): Move "up".  No semantic change.
15117
15118         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
15119         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
15120         out for a long time and besides was useful only on BSD systems.
15121
15122 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15123
15124         regex: port to Stratus OpenVOS
15125         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
15126         define to empty, rather than attempting nonportable optimizations.
15127         Problem reported by Paul Green in:
15128         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
15129         and fix suggested by Eric Blake in:
15130         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
15131
15132 2011-08-17  Eric Blake  <eblake@redhat.com>
15133
15134         getcwd: fix test failures on mingw
15135         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
15136         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
15137         test if long directory cannot be created, and allow mingw errno.
15138
15139         getcwd-lgpl: fix m4 to match relaxed test for BSD
15140         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
15141         (gl_FUNC_GETCWD_SIGNATURE): New macro.
15142         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
15143         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
15144         signature problem.
15145
15146         getcwd: fix compilation on mingw64
15147         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
15148         getcwd.
15149         Reported by Marc-André Lureau.
15150
15151         pipe2: silence compiler warning
15152         * lib/pipe2.c (pipe2): Hide label if it is not used.
15153
15154 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
15155
15156         relocatable-prog: fix link error
15157         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
15158         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
15159         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
15160         into modules/relocatable-lib without noticing that
15161         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
15162         also needs to build relocatable.c.
15163
15164 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15165
15166         getaddrinfo: fix sh typo in gai_strerrorA decl checking
15167         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
15168         shell code: it contained a 'break' that was not in a loop.
15169         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
15170         via a shell-language loop; this may have been true in old Autoconf
15171         versions, but it's not true in Autoconf 2.68.  I found this bug
15172         when testing coreutils git on Solaris 8, whose shell complains
15173         about the syntax error.
15174
15175 2011-08-12  Simon Josefsson  <simon@josefsson.org>
15176
15177         * lib/base64.c: Fix comment to reference RFC 4648.
15178         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
15179         <gvtulder@gmail.com>.
15180
15181 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15182
15183         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
15184
15185         po/Makefile.in.in: fix make -q problem
15186         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
15187         rule, since there's no file named 'check-macro-version' and its
15188         use as a file breaks make -q.
15189         (all): Don't depend on check-macro-version.
15190         (CHECK_MACRO_VERSION): New macro.
15191         (stamp-po): Use it.
15192
15193         configmake: fix make -q problem
15194         * modules/configmake (configmake.h): Update configmake.h's time stamp
15195         even if the file does not change.  Otherwise, 'make -q' fails.
15196         Problem reported by Simon Josefsson in
15197         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
15198
15199 2011-08-11  Jim Meyering  <meyering@redhat.com>
15200
15201         git-version-gen: correct the advice in a comment
15202         * build-aux/git-version-gen: Correct comment.
15203         Don't recommend to list .tarball-version in .gitignore.
15204
15205 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15206
15207         base64: fix off-by-one buffer size bug
15208         Problem and (trivial) fix reported by Gijs van Tulder in
15209         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
15210         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
15211         * tests/test-base64.c (main): Catch the bug.
15212
15213 2011-08-10  Eric Blake  <eblake@redhat.com>
15214
15215         closein: correct comments
15216         * lib/closein.c (close_stdin): Improve comments.
15217
15218 2011-08-09  Bruno Haible  <bruno@clisp.org>
15219
15220         More tests for 'fseeko'.
15221         * tests/test-fseeko3.c: New file, from Eric Blake.
15222         * tests/test-fseeko3.sh: New file.
15223         * modules/fseeko-tests (Files): Add them.
15224         (TESTS): Add test-fseeko3.sh.
15225         (check_PROGRAMS): Add test-fseeko3.
15226
15227 2011-08-09  Eric Blake  <eblake@redhat.com>
15228
15229         fseeko: remove unneeded hack
15230         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
15231
15232         fseeko: fix bug on glibc
15233         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
15234         Reported by John W. Eaton.
15235
15236 2011-08-08  Bruno Haible  <bruno@clisp.org>
15237
15238         unictype/base: Fix interoperability with preinstalled libunistring.
15239         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
15240         Reported by Simon Josefsson.
15241
15242 2011-08-08  Bruno Haible  <bruno@clisp.org>
15243
15244         iswblank: Detect declaration correctly.
15245         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
15246         AC_CHECK_DECLS invocation.
15247
15248 2011-08-08  Bruno Haible  <bruno@clisp.org>
15249
15250         tcgetsid: Detect declaration correctly.
15251         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
15252         AC_CHECK_DECLS invocation.
15253         Reported by Simon Josefsson.
15254
15255 2011-08-08  Eric Blake  <eblake@redhat.com>
15256
15257         largefile: fix typo that regressed large file support
15258         * modules/largefile (configure.ac-early): Fix section name.
15259
15260 2011-08-06  Karl Berry  <karl@gnu.org>
15261
15262         * MODULES.html.sh (func_all_files): _Noreturn is no longer
15263         a separate module.
15264
15265 2011-08-05  Simon Josefsson  <simon@josefsson.org>
15266
15267         openat: Fix warnings and commens when building unlinkat.c on Hurd.
15268         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
15269         get prototype for free.
15270
15271 2011-08-04  Bruno Haible  <bruno@clisp.org>
15272
15273         Tests for module 'pathmax'.
15274         * modules/pathmax-tests: New file.
15275         * tests/test-pathmax.c: New file.
15276
15277         canonicalize-lgpl: Support larger filenames on the Hurd.
15278         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
15279         Reported by Paul Eggert.
15280
15281         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
15282         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
15283         * lib/chdir-long.h: Include pathmax.h.
15284         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
15285         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
15286         (PATH_MAX): Remove code that is done by pathmax.h.
15287         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
15288         * lib/tmpfile.c: Add a comment.
15289         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
15290         * modules/chdir-long (Depends-on): Add pathmax.
15291         * modules/getcwd (Depends-on): Add pathmax.
15292         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
15293         is not defined.
15294         * doc/posix-headers/limits.texi: Mention the pathmax module.
15295         * NEWS: Mention the change.
15296
15297 2011-08-02  Bruno Haible  <bruno@clisp.org>
15298
15299         pthread_sigmask: Actually use results of gl_THREADLIB.
15300         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
15301         gl_THREADLIB, not gl_[]THREADLIB.
15302         Reported by Eric Blake.
15303
15304 2011-08-02  Jim Meyering  <meyering@redhat.com>
15305
15306         maint.mk: relax the default _gl_TS_function_match regexp
15307         * top/maint.mk (_gl_TS_function_match): Don't require at least one
15308         space between function name and "(" in an "extern" declaration.
15309         That would fail to match a decl with no space there: extern void foo();
15310
15311 2011-07-31  Iain Nicol  <iain@thenicols.net>
15312
15313         git-version-gen: document that EXTRA_DIST must include .version
15314         * build-aux/git-version-gen: In the how-to-use comment, document
15315         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
15316         will fail when run from an unpacked distribution tarball.
15317
15318 2011-08-01  Bruno Haible  <bruno@clisp.org>
15319
15320         wctype-h: Fix last change.
15321         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
15322         REPLACE_TOWLOWER to 0.
15323         Reported by Sam Steingold <sds@gnu.org>.
15324
15325 2011-07-31  Bruno Haible  <bruno@clisp.org>
15326
15327         frexpl: Update autoconf test.
15328         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
15329         according to changes of 2011-06-20.
15330
15331 2011-07-31  Bruno Haible  <bruno@clisp.org>
15332
15333         sys_utsname: Add support for Minix.
15334         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
15335         <sys/utsname.h>.
15336         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15337         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
15338
15339 2011-07-31  Bruno Haible  <bruno@clisp.org>
15340
15341         strings: Add support for Minix.
15342         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
15343         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15344         * doc/posix-headers/strings.texi: Document the Minix problem.
15345
15346 2011-07-31  Bruno Haible  <bruno@clisp.org>
15347
15348         wctype-h: Add support for Minix.
15349         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
15350         REPLACE_TOWLOWER.
15351         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
15352         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
15353         REPLACE_ISWCNTRL.
15354
15355 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15356
15357         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
15358         This is a performance improvement for 64-bit hosts: it causes the
15359         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
15360
15361 2011-07-31  Bruno Haible  <bruno@clisp.org>
15362
15363         stdioext: Add support for Minix.
15364         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
15365         * lib/fpurge.c (fpurge): Likewise.
15366         * lib/freadahead.c (freadahead): Likewise.
15367         * lib/freadable.c (freadable): Likewise.
15368         * lib/freading.c (freading): Likewise.
15369         * lib/freadptr.c (freadptr): Likewise.
15370         * lib/freadseek.c (freadptrinc): Likewise.
15371         * lib/fseeko.c (rpl_fseeko): Likewise.
15372         * lib/fseterr.c (fseterr): Likewise.
15373         * lib/fwritable.c (fwritable): Likewise.
15374         * lib/fwriting.c (fwriting): Likewise.
15375         * lib/fflush.c (clear_ungetc_buffer): Update comment.
15376         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
15377
15378 2011-07-31  Bruno Haible  <bruno@clisp.org>
15379
15380         errno: Port to Minix.
15381         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
15382         ECONNABORTED are defined.
15383         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
15384         GNULIB_defined_ECONNABORTED): New macros.
15385         * lib/strerror-override.h (strerror_override): Test also
15386         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
15387         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
15388         ECONNABORTED.
15389         * doc/posix-headers/errno.texi: Mention the Minix problem.
15390
15391 2011-07-31  Bruno Haible  <bruno@clisp.org>
15392
15393         Work around declaration collisions on Minix.
15394         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
15395         defined, set REPLACE_MBSINIT.
15396         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
15397         defined, set REPLACE_MBRTOWC.
15398         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
15399         set REPLACE_MBRLEN.
15400         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
15401         defined, set REPLACE_MBSRTOWCS.
15402         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
15403         defined, set REPLACE_WCRTOMB.
15404         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
15405         defined, set REPLACE_WCSRTOMBS.
15406
15407 2011-07-31  Bruno Haible  <bruno@clisp.org>
15408
15409         Add support for Minix with ACK compiler.
15410         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
15411         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
15412         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
15413
15414 2011-07-31  Bruno Haible  <bruno@clisp.org>
15415
15416         Documentation about Minix.
15417         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
15418         * doc/glibc-headers/*.texi: Likewise.
15419         * doc/posix-functions/*.texi: Likewise.
15420         * doc/glibc-functions/*.texi: Likewise.
15421
15422 2011-07-31  Bruno Haible  <bruno@clisp.org>
15423
15424         snippet/warn-on-use: Fix indentation.
15425         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
15426
15427 2011-07-25  Jim Meyering  <meyering@redhat.com>
15428
15429         tests: test-update-copyright.sh: remove unnecessary "rm" commands
15430         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
15431         commands.
15432
15433 2011-07-27  Jim Meyering  <meyering@redhat.com>
15434
15435         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
15436         * top/maint.mk (gl_extract_significant_defines_): Now that
15437         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
15438         gnulib/lib/signal.in.h, and now that we recommend to
15439         define-if-undefined those two symbols in application code,
15440         we must filter them out of the "significant" list.
15441         This avoids a "make syntax-check" failure in coreutils.
15442
15443 2011-07-26  Eric Blake  <eblake@redhat.com>
15444
15445         warnings: add comments about previous patch
15446         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
15447         * m4/include_next.m4: Likewise.
15448         * m4/warn-on-use.m4: Likewise.
15449         * m4/warnings.m4: Likewise, and simplify use.
15450         Suggested by Stefano Lattarini.
15451
15452         include-next, warnings: support older autoconf
15453         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
15454         AS_VAR_PUSHDEF in a way that works with older autoconf.
15455         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15456         Reported by Daniel P. Berrange.
15457
15458 2011-07-25  Bruno Haible  <bruno@clisp.org>
15459
15460         fseek, ftell: Fix doc.
15461         * doc/posix-functions/fseek.texi: Reword statement about
15462         AC_SYS_LARGEFILE.
15463         * doc/posix-functions/ftell.texi: Likewise.
15464
15465 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15466             Bruno Haible  <bruno@clisp.org>
15467
15468         Add dependencies to the 'largefile' module.
15469         * modules/fopen (Depends-on): Add 'largefile'.
15470         * modules/freopen (Depends-on): Likewise.
15471         * modules/fseeko (Depends-on): Likewise.
15472         * modules/ftello (Depends-on): Likewise.
15473         * modules/glob (Depends-on): Likewise.
15474         * modules/lseek (Depends-on): Likewise.
15475         * modules/lstat (Depends-on): Likewise.
15476         * modules/mkostemp (Depends-on): Likewise.
15477         * modules/mkostemps (Depends-on): Likewise.
15478         * modules/mkstemp (Depends-on): Likewise.
15479         * modules/mkstemps (Depends-on): Likewise.
15480         * modules/open (Depends-on): Likewise.
15481         * modules/openat (Depends-on): Likewise.
15482         * modules/pread (Depends-on): Likewise.
15483         * modules/pwrite (Depends-on): Likewise.
15484         * modules/scandir (Depends-on): Likewise.
15485         * modules/stat (Depends-on): Likewise.
15486         * modules/tmpfile (Depends-on): Likewise.
15487         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15488         since the containing module now depends on the largefile module.
15489         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15490         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15491         off_t is fixed by gnulib.
15492         * doc/posix-functions/freopen.texi: Likewise.
15493         * doc/posix-functions/fseeko.texi: Likewise.
15494         * doc/posix-functions/fstatat.texi: Likewise.
15495         * doc/posix-functions/ftello.texi: Likewise.
15496         * doc/posix-functions/glob.texi: Likewise.
15497         * doc/posix-functions/lseek.texi: Likewise.
15498         * doc/posix-functions/lstat.texi: Likewise.
15499         * doc/posix-functions/mkstemp.texi: Likewise.
15500         * doc/posix-functions/open.texi: Likewise.
15501         * doc/posix-functions/openat.texi: Likewise.
15502         * doc/posix-functions/pread.texi: Likewise.
15503         * doc/posix-functions/pwrite.texi: Likewise.
15504         * doc/posix-functions/scandir.texi: Likewise.
15505         * doc/posix-functions/stat.texi: Likewise.
15506         * doc/posix-functions/tmpfile.texi: Likewise.
15507         * doc/glibc-functions/mkostemp.texi: Likewise.
15508         * doc/glibc-functions/mkostemps.texi: Likewise.
15509         * doc/glibc-functions/mkstemps.texi: Likewise.
15510
15511 2011-07-25  Bruno Haible  <bruno@clisp.org>
15512
15513         fcntl: Move AC_LIBOBJ invocation to module description.
15514         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15515         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15516
15517         fcntl: Remove call-in from fchdir.m4.
15518         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15519         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15520
15521         dup3: Remove potential call-in from fchdir.m4.
15522         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15523         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15524
15525         dup2: Move AC_LIBOBJ invocation to module description.
15526         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15527         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15528         Don't invoke AC_LIBOBJ.
15529         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15530
15531         dup2: Remove call-in from fchdir.m4.
15532         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15533         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15534
15535         fclose: Move AC_LIBOBJ invocation to module description.
15536         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15537         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15538         to 1.
15539         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15540
15541         fclose: Remove call-in from close.m4.
15542         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15543         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15544
15545         close: Move AC_LIBOBJ invocation to module description.
15546         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15547         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15548         1.
15549         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15550
15551         close: Remove call-in from fchdir.m4.
15552         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15553         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15554
15555         open: Move AC_LIBOBJ invocation to module description.
15556         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15557         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15558         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15559
15560         open: Remove call-in from fchdir.m4.
15561         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15562         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15563
15564         fchdir: Start to remove gl_REPLACE_* idiom.
15565         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15566         (gl_FUNC_FCHDIR): Invoke it.
15567
15568 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15569
15570         * lib/ftell.c (ftell): Comment out cast.
15571
15572         close: use gl_REPLACE_FCLOSE only if defined
15573         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15574         is defined.  The close module doesn't depend on the fclose module
15575         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15576         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15577         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15578
15579 2011-07-24  Jim Meyering  <meyering@redhat.com>
15580
15581         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15582         * tests/test-select.h (test_function): Declare as "static".
15583
15584 2011-07-24  Bruno Haible  <bruno@clisp.org>
15585
15586         doc: Mention the effects of AC_SYS_LARGEFILE.
15587         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15588         on this function.
15589         * doc/posix-functions/aio_error.texi: Likewise.
15590         * doc/posix-functions/aio_fsync.texi: Likewise.
15591         * doc/posix-functions/aio_read.texi: Likewise.
15592         * doc/posix-functions/aio_return.texi: Likewise.
15593         * doc/posix-functions/aio_suspend.texi: Likewise.
15594         * doc/posix-functions/aio_write.texi: Likewise.
15595         * doc/posix-functions/fgetpos.texi: Likewise.
15596         * doc/posix-functions/fopen.texi: Likewise.
15597         * doc/posix-functions/freopen.texi: Likewise.
15598         * doc/posix-functions/fsetpos.texi: Likewise.
15599         * doc/posix-functions/fstatvfs.texi: Likewise.
15600         * doc/posix-functions/ftruncate.texi: Likewise.
15601         * doc/posix-functions/ftw.texi: Likewise.
15602         * doc/posix-functions/getrlimit.texi: Likewise.
15603         * doc/posix-functions/glob.texi: Likewise.
15604         * doc/posix-functions/lio_listio.texi: Likewise.
15605         * doc/posix-functions/lockf.texi: Likewise.
15606         * doc/posix-functions/mkstemp.texi: Likewise.
15607         * doc/posix-functions/mmap.texi: Likewise.
15608         * doc/posix-functions/nftw.texi: Likewise.
15609         * doc/posix-functions/openat.texi: Likewise.
15610         * doc/posix-functions/opendir.texi: Likewise.
15611         * doc/posix-functions/posix_fadvise.texi: Likewise.
15612         * doc/posix-functions/posix_fallocate.texi: Likewise.
15613         * doc/posix-functions/pread.texi: Likewise.
15614         * doc/posix-functions/pwrite.texi: Likewise.
15615         * doc/posix-functions/readdir.texi: Likewise.
15616         * doc/posix-functions/readdir_r.texi: Likewise.
15617         * doc/posix-functions/rewinddir.texi: Likewise.
15618         * doc/posix-functions/scandir.texi: Likewise.
15619         * doc/posix-functions/seekdir.texi: Likewise.
15620         * doc/posix-functions/setrlimit.texi: Likewise.
15621         * doc/posix-functions/statvfs.texi: Likewise.
15622         * doc/posix-functions/telldir.texi: Likewise.
15623         * doc/posix-functions/tmpfile.texi: Likewise.
15624         * doc/posix-functions/truncate.texi: Likewise.
15625         * doc/glibc-functions/fallocate.texi: Likewise.
15626         * doc/glibc-functions/fstatfs.texi: Likewise.
15627         * doc/glibc-functions/fts_children.texi: Likewise.
15628         * doc/glibc-functions/fts_read.texi: Likewise.
15629         * doc/glibc-functions/getdirentries.texi: Likewise.
15630         * doc/glibc-functions/mkostemp.texi: Likewise.
15631         * doc/glibc-functions/mkostemps.texi: Likewise.
15632         * doc/glibc-functions/mkstemps.texi: Likewise.
15633         * doc/glibc-functions/preadv.texi: Likewise.
15634         * doc/glibc-functions/pwritev.texi: Likewise.
15635         * doc/glibc-functions/sendfile.texi: Likewise.
15636         * doc/glibc-functions/statfs.texi: Likewise.
15637
15638 2011-07-24  Bruno Haible  <bruno@clisp.org>
15639
15640         doc: Fix typo.
15641         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15642
15643 2011-07-24  Bruno Haible  <bruno@clisp.org>
15644
15645         doc: Mention fsusage.
15646         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15647
15648 2011-07-24  Bruno Haible  <bruno@clisp.org>
15649
15650         doc: Mention new glibc headers and functions.
15651         * doc/glibc-headers/gshadow.texi: New file.
15652         * doc/glibc-functions/endsgent.texi: New file.
15653         * doc/glibc-functions/fgetsgent.texi: New file.
15654         * doc/glibc-functions/fgetsgent_r.texi: New file.
15655         * doc/glibc-functions/getsgent.texi: New file.
15656         * doc/glibc-functions/getsgent_r.texi: New file.
15657         * doc/glibc-functions/getsgnam.texi: New file.
15658         * doc/glibc-functions/getsgnam_r.texi: New file.
15659         * doc/glibc-functions/putsgent.texi: New file.
15660         * doc/glibc-functions/setsgent.texi: New file.
15661         * doc/glibc-functions/sgetsgent.texi: New file.
15662         * doc/glibc-functions/sgetsgent_r.texi: New file.
15663         * doc/glibc-functions/malloc_info.texi: New file.
15664         * doc/glibc-functions/preadv.texi: New file.
15665         * doc/glibc-functions/pwritev.texi: New file.
15666         * doc/glibc-functions/register_printf_modifier.texi: New file.
15667         * doc/glibc-functions/register_printf_specifier.texi: New file.
15668         * doc/glibc-functions/register_printf_type.texi: New file.
15669         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15670         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15671         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15672         * doc/glibc-functions/pthread_getname_np.texi: New file.
15673         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15674         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15675         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15676         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15677         * doc/glibc-functions/pthread_setname_np.texi: New file.
15678         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15679         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15680         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15681         * doc/glibc-functions/qsort_r.texi: New file.
15682         * doc/glibc-functions/quick_exit.texi: New file.
15683         * doc/glibc-functions/syncfs.texi: New file.
15684         * doc/gnulib.texi: Include them.
15685         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15686         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15687         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15688         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15689         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15690         * doc/glibc-functions/execvpe.texi: Likewise.
15691
15692 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15693
15694         ftell: don't include <unistd.h>
15695         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15696         guaranteed to define off_t, and the ftell module depends on the
15697         stdio module.
15698
15699         ftell: do not assume wraparound signed arithmetic
15700         * lib/ftell.c: Include <limits.h>.
15701         (ftell): Don't assume wraparound signed arithmetic.
15702
15703 2011-07-24  Bruno Haible  <bruno@clisp.org>
15704
15705         close: No longer depend on module 'fclose'.
15706         * modules/close (Depends-on): Remove fclose.
15707         * NEWS: Mention the change.
15708         Suggested by Sam Steingold <sds@gnu.org>.
15709
15710 2011-07-24  Bruno Haible  <bruno@clisp.org>
15711
15712         fsusage: Enable large volume support on AIX >= 5.2.
15713         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15714         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15715         instead of STAT_STATVFS.
15716         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15717
15718         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15719         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15720         f_blocks field only on MacOS X.
15721
15722         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15723         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15724         * modules/fsusage (Depends-on): Add largefile.
15725
15726 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15727
15728         * README: Modernize discussion of signed integers.
15729         Assuming overflow wraparound is no longer safe.
15730         Mention ones' complement and signed magnitude.
15731
15732 2011-07-22  Bruno Haible  <bruno@clisp.org>
15733
15734         select tests, pselect tests: Refactor.
15735         * tests/test-select.h: New file, extracted from tests/test-select.c.
15736         (select_fn): New type.
15737         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15738         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15739         test_pipe): Add my_select argument.
15740         (test_function): Renamed from main. Add my_select argument.
15741         * tests/test-select.c: Move most code to tests/test-select.h. Include
15742         test-select.h.
15743         * modules/select-tests (Files): Add tests/test-select.h.
15744         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15745         (my_select, main): New functions.
15746         * modules/pselect-tests (Files): Add tests/test-select.h,
15747         tests/macros.h, tests/signature.h.
15748         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15749         (configure.ac): Check for <sys/wait.h>.
15750
15751 2011-07-22  Bruno Haible  <bruno@clisp.org>
15752
15753         sys_select tests: Check the signature of FD_*.
15754         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15755         signature tests from here...
15756         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15757         here.
15758         * modules/sys_select-tests (Files): Add tests/signature.h.
15759
15760 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15761
15762         largefile: new module, replacing large-inode
15763         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15764         * MODULES.html.sh: Add largefile, remove large-inode.
15765         * modules/largefile, m4/largefile.m4: New files.
15766         * modules/large-inode, m4/large-inode.m4: Remove.
15767
15768         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15769         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15770         implementations that use only 32 bits to count blocks.
15771         On typical hosts with 1024-byte blocks, this fails with file
15772         systems as small as 4 TiB.  Problem reported by Herb Wartens
15773         <http://debbugs.gnu.org/9140> and this should also fix a similar
15774         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15775
15776         large-inode: New module
15777         * MODULES.html.sh: Add it.
15778         * modules/large-inode, m4/large-inode.m4: New files.
15779
15780         extensions: Enable extensions on MacOS X 10.5 and later.
15781         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15782
15783 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15784
15785         file-has-acl: use acl_extended_file_nofollow if available
15786         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15787         (acl_extended_file): New macro.
15788         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15789         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15790
15791 2011-07-21  Bruno Haible  <bruno@clisp.org>
15792
15793         Declare system functions in a way that works with C++.
15794         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15795         declare fdopendir as extern "C".
15796         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15797         declare frexpl as extern "C".
15798         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15799         declare gai_strerror as extern "C".
15800         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15801         programs, declare gai_strerror as extern "C".
15802         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15803         declare getlogin_r as extern "C".
15804         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15805         as extern "C".
15806         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15807         declare ldexpl as extern "C".
15808         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15809         as extern "C".
15810         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15811         program, declare getmntinfo as extern "C".
15812         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15813         stpncpy as extern "C".
15814         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15815         program, declare __xpg_strerror_r as extern "C".
15816         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15817         strndup as extern "C".
15818         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15819         declare memset and bzero as extern "C".
15820         Reported by Sam Steingold <sds@gnu.org>.
15821
15822 2011-07-12  Jim Meyering  <meyering@redhat.com>
15823
15824         maint.mk: prohibit inclusion of "verify.h" without use
15825         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15826
15827 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15828
15829         timer-time: A new module to check for timer_settime()
15830         * m4/timer_time.m4: Check for the posix function.
15831         * modules/timer-time: Add the new module.
15832         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15833         Mention it.
15834
15835 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15836             Bruno Haible  <bruno@clisp.org>
15837
15838         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15839         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15840         not defined, assume POSIX threads and look for pthread_sigmask in
15841         $LIBS, without changing $CPPFLAGS.
15842
15843 2011-07-19  Bruno Haible  <bruno@clisp.org>
15844
15845         strstr: Update cross-compilation guess.
15846         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15847         CPUs, guess no, in view of glibc
15848         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15849         Suggested by Eric Blake. Reported by Reuben Thomas.
15850
15851 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15852
15853         getopt-gnu: suppress core dumps from detection code
15854         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15855         to suppress core dumps that may well occur on glibc systems.
15856         * modules/getopt-gnu: Depend on nocrash.
15857
15858 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15859
15860         pthread_sigmask: ensure usleep is declared
15861         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15862         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15863
15864 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15865
15866         doc: Document NonStop portability issues.
15867         * doc/posix-functions/sigaction.texi (sigaction):
15868         * doc/posix-headers/signal.texi (signal.h):
15869         Document NonStop.  See Joachim Schmitz in
15870         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15871
15872 2011-07-15  Bruno Haible  <bruno@clisp.org>
15873
15874         ffsl, ffsll: Avoid unportable behaviour.
15875         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15876
15877 2011-07-15  Bruno Haible  <bruno@clisp.org>
15878
15879         ffs: More tests.
15880         * tests/test-ffs.c (NBITS): New macro.
15881         (main): Add more tests.
15882         * tests/test-ffsl.c (NBITS): New macro.
15883         (main): Add more tests.
15884         * tests/test-ffsll.c (NBITS): New macro.
15885         (main): Add more tests.
15886
15887 2011-07-15  Eric Blake  <eblake@redhat.com>
15888
15889         ffsl, ffsll: new modules
15890         * modules/ffsl: New file.
15891         * modules/ffsll: Likewise.
15892         * m4/ffsl.m4: Likewise.
15893         * m4/ffsll.m4: Likewise.
15894         * lib/ffsl.c: Likewise.
15895         * lib/ffsl.h: Likewise.
15896         * lib/ffsll.c: Likewise.
15897         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15898         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15899         * modules/string (Makefile.am): Substitute witnesses.
15900         * lib/strings.in.h (ffsl, ffsll): Declare.
15901         * modules/ffsl-tests: New test file.
15902         * modules/ffsll-tests: Likewise.
15903         * tests/test-ffsl.c: Likewise.
15904         * tests/test-ffsll.c: Likewise.
15905         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15906         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15907         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15908
15909         ffs: fix m4 prerequisite
15910         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15911
15912         ffs: avoid undefined behavior
15913         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15914         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15915         Reported by Bruno Haible.
15916
15917 2011-07-12  Bruno Haible  <bruno@clisp.org>
15918
15919         pthread_sigmask: Rely on module 'threadlib'.
15920         * modules/pthread_sigmask (Depends-on): Add threadlib.
15921         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15922         is defined.
15923
15924 2011-07-12  Bruno Haible  <bruno@clisp.org>
15925
15926         regex: Depend on module 'strcase'.
15927         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15928
15929 2011-07-12  Jim Meyering  <meyering@redhat.com>
15930
15931         warn-on-use: fix typo in file name
15932         * modules/snippet/warn-on-use (Files): Correct file name:
15933         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15934
15935 2011-07-12  Bruno Haible  <bruno@clisp.org>
15936
15937         strings: Document module.
15938         * doc/posix-headers/strings.texi: Mention module 'strings'.
15939
15940 2011-07-12  Bruno Haible  <bruno@clisp.org>
15941
15942         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15943         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15944         (Files, Makefile.am): Update.
15945         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15946         * modules/stdlib (Depends-on): Update.
15947
15948 2011-07-12  Bruno Haible  <bruno@clisp.org>
15949
15950         * NEWS: Mention the changes.
15951
15952         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15953         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15954         (Files, Makefile.am): Update.
15955         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15956         * modules/arpa_inet (Depends-on): Update.
15957         * modules/ctype (Depends-on): Update.
15958         * modules/dirent (Depends-on): Update.
15959         * modules/fcntl-h (Depends-on): Update.
15960         * modules/glob (Depends-on): Update.
15961         * modules/iconv-h (Depends-on): Update.
15962         * modules/inttypes-incomplete (Depends-on): Update.
15963         * modules/langinfo (Depends-on): Update.
15964         * modules/locale (Depends-on): Update.
15965         * modules/math (Depends-on): Update.
15966         * modules/netdb (Depends-on): Update.
15967         * modules/poll-h (Depends-on): Update.
15968         * modules/pty (Depends-on): Update.
15969         * modules/search (Depends-on): Update.
15970         * modules/signal (Depends-on): Update.
15971         * modules/spawn (Depends-on): Update.
15972         * modules/stdio (Depends-on): Update.
15973         * modules/stdlib (Depends-on): Update.
15974         * modules/string (Depends-on): Update.
15975         * modules/strings (Depends-on): Update.
15976         * modules/sys_file (Depends-on): Update.
15977         * modules/sys_ioctl (Depends-on): Update.
15978         * modules/sys_select (Depends-on): Update.
15979         * modules/sys_socket (Depends-on): Update.
15980         * modules/sys_stat (Depends-on): Update.
15981         * modules/sys_time (Depends-on): Update.
15982         * modules/sys_times (Depends-on): Update.
15983         * modules/sys_utsname (Depends-on): Update.
15984         * modules/sys_wait (Depends-on): Update.
15985         * modules/termios (Depends-on): Update.
15986         * modules/time (Depends-on): Update.
15987         * modules/unistd (Depends-on): Update.
15988         * modules/wchar (Depends-on): Update.
15989         * modules/wctype-h (Depends-on): Update.
15990         * MODULES.html.sh (Support for building libraries and executables):
15991         Update.
15992
15993         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15994         * modules/snippet/unused-parameter: Renamed from
15995         modules/unused-parameter.
15996         (Files, Makefile.am): Update.
15997         * build-aux/snippet/unused-parameter.h: Renamed from
15998         build-aux/unused-parameter.h.
15999         * modules/selinux-h (Depends-on): Update.
16000         * modules/unistr/base (Depends-on): Update.
16001         * MODULES.html.sh (Core language properties): Update.
16002
16003         Rename module 'link-warning' to 'snippet/link-warning'.
16004         * modules/snippet/link-warning: Renamed from modules/link-warning.
16005         (Files, Makefile.am): Update.
16006         * build-aux/snippet/link-warning.h: Renamed from
16007         build-aux/link-warning.h.
16008         * MODULES.html.sh (Support for building libraries and executables):
16009         Update.
16010
16011         Rename module 'c++defs' to 'snippet/c++defs'.
16012         * modules/snippet/c++defs: Renamed from modules/c++defs.
16013         (Files, Makefile.am): Update.
16014         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
16015         * modules/arpa_inet (Depends-on): Update.
16016         * modules/ctype (Depends-on): Update.
16017         * modules/dirent (Depends-on): Update.
16018         * modules/fcntl-h (Depends-on): Update.
16019         * modules/glob (Depends-on): Update.
16020         * modules/iconv-h (Depends-on): Update.
16021         * modules/langinfo (Depends-on): Update.
16022         * modules/locale (Depends-on): Update.
16023         * modules/math (Depends-on): Update.
16024         * modules/netdb (Depends-on): Update.
16025         * modules/poll-h (Depends-on): Update.
16026         * modules/pty (Depends-on): Update.
16027         * modules/search (Depends-on): Update.
16028         * modules/signal (Depends-on): Update.
16029         * modules/spawn (Depends-on): Update.
16030         * modules/stdio (Depends-on): Update.
16031         * modules/stdlib (Depends-on): Update.
16032         * modules/string (Depends-on): Update.
16033         * modules/strings (Depends-on): Update.
16034         * modules/sys_ioctl (Depends-on): Update.
16035         * modules/sys_select (Depends-on): Update.
16036         * modules/sys_socket (Depends-on): Update.
16037         * modules/sys_stat (Depends-on): Update.
16038         * modules/sys_time (Depends-on): Update.
16039         * modules/sys_wait (Depends-on): Update.
16040         * modules/termios (Depends-on): Update.
16041         * modules/time (Depends-on): Update.
16042         * modules/unistd (Depends-on): Update.
16043         * modules/wchar (Depends-on): Update.
16044         * modules/wctype-h (Depends-on): Update.
16045
16046         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
16047         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
16048         (Files, Makefile.am): Update.
16049         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
16050         * modules/argv-iter (Depends-on): Update.
16051         * modules/arpa_inet (Depends-on): Update.
16052         * modules/dirent (Depends-on): Update.
16053         * modules/fcntl-h (Depends-on): Update.
16054         * modules/fnmatch (Depends-on): Update.
16055         * modules/getopt-posix (Depends-on): Update.
16056         * modules/glob (Depends-on): Update.
16057         * modules/iconv-h (Depends-on): Update.
16058         * modules/inttypes-incomplete (Depends-on): Update.
16059         * modules/locale (Depends-on): Update.
16060         * modules/math (Depends-on): Update.
16061         * modules/netdb (Depends-on): Update.
16062         * modules/search (Depends-on): Update.
16063         * modules/signal (Depends-on): Update.
16064         * modules/spawn (Depends-on): Update.
16065         * modules/stdio (Depends-on): Update.
16066         * modules/stdlib (Depends-on): Update.
16067         * modules/string (Depends-on): Update.
16068         * modules/strings (Depends-on): Update.
16069         * modules/sys_socket (Depends-on): Update.
16070         * modules/sys_stat (Depends-on): Update.
16071         * modules/sys_time (Depends-on): Update.
16072         * modules/sys_times (Depends-on): Update.
16073         * modules/sys_utsname (Depends-on): Update.
16074         * modules/time (Depends-on): Update.
16075         * modules/unistd (Depends-on): Update.
16076         * modules/wchar (Depends-on): Update.
16077         * MODULES.html.sh (Support for building libraries and executables):
16078         Update.
16079
16080 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
16081
16082         Improvements on _Noreturn and related modules.
16083
16084         modules/_Exit-tests: test _Noreturn too
16085         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
16086         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
16087         (main): Use them.
16088
16089         stdnoreturn, stdnoreturn-tests: remove modules
16090         They're not needed here and a bit premature for use elsewhere.  See
16091         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
16092         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
16093         * tests/test-stdnoreturn.c: Remove files.
16094         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
16095         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
16096         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
16097         and using noreturn.
16098         * modules/openat, modules/sigpipe-die, modules/xalloc:
16099         * modules/xmemdup0, modules/xstrtol:
16100         Remove dependency on stdnoreturn.
16101
16102         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
16103         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
16104         Reparenthesize to avoid GCC warning.
16105         Support Microsoft's syntax.
16106         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
16107
16108         _Noreturn-tests: remove module
16109         * modules/_Noreturn-tests: Remove.
16110         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
16111         * tests/test-_Noreturn.c: Remove.
16112         * tests/test-stdnoreturn.c: Merge from the old
16113         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
16114
16115 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
16116
16117         _Noreturn, stdnoreturn, and related modules.
16118
16119         * top/maint.mk: Adjust to new noreturn support.
16120         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
16121         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
16122
16123         xalloc: use stdnoreturn.h
16124         * lib/xalloc.h: Include <stdnoreturn.h>.
16125         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16126         * modules/xalloc (Depends-on): Add stdnoreturn.
16127
16128         xstrtol: use stdnoreturn.h
16129         * lib/xstrtol.h: Include <stdnoreturn.h>.
16130         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16131         * modules/xstrtol (Depends-on): Add stdnoreturn.
16132
16133         xmemdup0: use stdnoreturn.h
16134         * lib/xmemdup0.h: Include <stdnoreturn.h>.
16135         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16136         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
16137
16138         sigpipe-die: use stdnoreturn.h
16139         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
16140         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16141         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
16142
16143         openat: use stdnoreturn.h
16144         * lib/openat.h: Include <stdnoreturn.h>.
16145         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16146         * modules/openat (Depends-on): Add stdnoreturn.
16147
16148         * lib/openat-die.c (openat_save_fail): Modernize comment.
16149
16150         * lib/xalloc-die.c (xalloc_die): Modernize comment.
16151
16152         * lib/glthread/thread.h: Modernize comment.
16153
16154         obstack: use _Noreturn
16155         * lib/obstack.c (__attribute__): Remove macro.
16156         (print_and_abort): Use _Noreturn.
16157
16158         c-stack: use _Noreturn
16159         * lib/c-stack.c (die, overflow_handler, segv_handler):
16160         Use _Noreturn rather than __attribute__((noreturn)).
16161
16162         argmatch-tests, exclude_tests: use _Noreturn
16163         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
16164         Remove.
16165         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
16166
16167         stdlib: use _Noreturn
16168         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
16169         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
16170         * modules/stdlib (Depends-on): Add _Noreturn.
16171         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
16172
16173         stdnoreturn-tests: new module
16174         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
16175
16176         stdnoreturn: new module
16177         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
16178         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
16179
16180         _Noreturn-tests: new module
16181         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
16182
16183         _Noreturn: new module
16184         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
16185         New section, mentioning it.
16186         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
16187
16188         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
16189
16190 2011-07-11  Eric Blake  <eblake@redhat.com>
16191
16192         ffs: new module
16193         * modules/ffs: New file.
16194         * m4/ffs.m4: Likewise.
16195         * lib/ffs.c: Likewise.
16196         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
16197         * modules/strings (Makefile.am): Substitute witness.
16198         (Depends-on): Add c++defs.
16199         * lib/strings.in.h (ffs): Declare.
16200         * modules/ffs-tests: New test file.
16201         * tests/test-ffs.c: Test new module.
16202         * MODULES.html.sh (Integer arithmetic functions): Mention it.
16203         * doc/posix-functions/ffs.texi (ffs): Likewise.
16204
16205         regex: avoid compiler warning
16206         * lib/regex.c (includes): Include <strings.h>, for use of
16207         strcasecmp in regcomp.c.
16208         Reported by Joachim Schmitz.
16209
16210 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16211
16212         stdint: respect system's intmax_t if INTMAX_MAX
16213         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
16214         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
16215         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
16216         long but int64_t is long long, and where we will clash with the
16217         system intmax_t if we override it.  See
16218         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
16219         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
16220         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
16221         similarly for UINTMAX_C.
16222
16223 2011-07-08  Bruno Haible  <bruno@clisp.org>
16224
16225         pthread_sigmask tests: Avoid a compiler warning.
16226         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
16227         non-zero.
16228
16229         sigprocmask tests: A better way to avoid a compiler warning.
16230         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
16231         (main): Complain if system() returns non-zero.
16232         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
16233
16234 2011-07-08  Bruno Haible  <bruno@clisp.org>
16235
16236         pthread_sigmask: Work around IRIX bug.
16237         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
16238         bug.
16239         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
16240         there may be unblocked pending signals.
16241         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
16242
16243 2011-07-08  Bruno Haible  <bruno@clisp.org>
16244
16245         pthread_sigmask: Work around Cygwin bug.
16246         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
16247         bug.
16248         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
16249         the system's pthread_sigmask function.
16250         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
16251
16252 2011-07-08  Bruno Haible  <bruno@clisp.org>
16253
16254         pthread_sigmask: Work around bug in single-threaded implementation.
16255         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
16256         FreeBSD, HP-UX, Solaris bug.
16257         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
16258         * lib/pthread_sigmask.c: Include <stddef.h>.
16259         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
16260         the system's pthread_sigmask function.
16261         * modules/pthread_sigmask (configure.ac): Invoke
16262         gl_PREREQ_PTHREAD_SIGMASK.
16263         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
16264         HP-UX, Solaris.
16265
16266 2011-07-08  Eric Blake  <eblake@redhat.com>
16267
16268         test-sigprocmask: avoid compiler warning
16269         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
16270         * tests/test-sigprocmask.c (main): Use it to silence warning.
16271         Reported by Jim Meyering.
16272
16273         test-snprintf: avoid compiler warning
16274         * tests/test-snprintf.c (main): Avoid shadowed declaration.
16275         * tests/test-vsnprintf.c (main): Likewise.
16276         Reported by Jim Meyering.
16277
16278 2011-07-08  Bruno Haible  <bruno@clisp.org>
16279
16280         Tests for module 'pthread_sigmask'.
16281         * modules/pthread_sigmask-tests: New file.
16282         * tests/test-pthread_sigmask1.c: New file, based on
16283         tests/test-sigprocmask.c.
16284         * tests/test-pthread_sigmask2.c: New file.
16285
16286 2011-07-08  Jim Meyering  <meyering@redhat.com>
16287
16288         test-getopt.h: avoid warning about an unused variable
16289         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
16290
16291 2011-07-07  Jim Meyering  <meyering@redhat.com>
16292
16293         maint: reduce list of files exempt from sc_prohibit_leading_TABs
16294         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
16295         now that it no longer contains leading TABs.
16296         Remove unused "url=FIXME" statement.
16297
16298 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16299
16300         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
16301         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16302         When gl_THREADLIB is not in use, assume that the POSIX sematics
16303         are desired.  This is better for Emacs, which uses POSIX semantics
16304         on GNUish and/or POSIXish platforms, and does not use threads at
16305         all otherwise.
16306
16307         pthread_sigmask: fix typo when testing for libraries
16308         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16309         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
16310
16311 2011-07-08  Eric Blake  <eblake@redhat.com>
16312
16313         fts: introduce FTS_NOATIME
16314         * lib/fts_.h (FTS_NOATIME): New bit flag.
16315         (FTS_OPTIONMASK): Adjust.
16316         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
16317         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
16318
16319 2011-07-08  Bruno Haible  <bruno@clisp.org>
16320
16321         Tests for module 'thread'.
16322         * modules/thread-tests: New file.
16323         * tests/test-thread_self.c: New file.
16324         * tests/test-thread_create.cc: New file.
16325
16326 2011-07-08  Bruno Haible  <bruno@clisp.org>
16327
16328         thread: Avoid gcc warnings when using gl_thread_self().
16329         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
16330         'void *'.
16331         (gl_thread_self_pointer): Update.
16332
16333 2011-07-07  Bruno Haible  <bruno@clisp.org>
16334
16335         signal-c++-tests: Check declaration of pthread_sigmask.
16336         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
16337         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
16338         $(LIB_PTHREAD_SIGMASK).
16339
16340 2011-07-07  Bruno Haible  <bruno@clisp.org>
16341
16342         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
16343         * lib/signal.in.h (pthread_sigmask): Override if
16344         REPLACE_PTHREAD_SIGMASK is 1.
16345         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16346         REPLACE_PTHREAD_SIGMASK.
16347         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
16348         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
16349         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
16350         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16351         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
16352
16353 2011-07-07  Bruno Haible  <bruno@clisp.org>
16354
16355         pthread_sigmask: Ensure declaration in <signal.h>.
16356         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
16357         include <pthread.h>.
16358         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
16359         problem.
16360
16361 2011-07-07  Bruno Haible  <bruno@clisp.org>
16362
16363         pthread_sigmask: Document the module.
16364         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
16365
16366 2011-07-07  Bruno Haible  <bruno@clisp.org>
16367
16368         pthread_sigmask: Follow gnulib conventions.
16369         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
16370         gl_PTHREAD_SIGMASK.
16371         * modules/pthread_sigmask (configure.ac): Update.
16372
16373 2011-07-07  Bruno Haible  <bruno@clisp.org>
16374
16375         pthread_sigmask: Make declaration C++ safe.
16376         * lib/signal.in.h: In two special conditions, just do an #include_next.
16377         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16378         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
16379         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16380         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16381         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
16382         not REPLACE_PTHREAD_MASK.
16383         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
16384         not REPLACE_PTHREAD_MASK.
16385         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16386
16387 2011-07-07  Bruno Haible  <bruno@clisp.org>
16388
16389         pthread_sigmask: Fix return value.
16390         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
16391         * lib/pthread_sigmask.c: New file.
16392         * modules/pthread_sigmask (Files): Add it.
16393         (configure.ac): Invoke AC_LIBOBJ.
16394
16395 2011-07-07  Eric Blake  <eblake@redhat.com>
16396
16397         getopt: more portable argv creation
16398         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
16399         const, use char arrays rather than strings.
16400         Suggested by Paul Eggert.
16401
16402 2011-07-07  Bruno Haible  <bruno@clisp.org>
16403
16404         Tests for module 'sigprocmask'.
16405         * modules/sigprocmask-tests: New file.
16406         * tests/test-sigprocmask.c: New file.
16407
16408 2011-07-07  Bruno Haible  <bruno@clisp.org>
16409
16410         float tests: Tweak.
16411         * tests/test-float.c (main): Tweak skip message.
16412
16413 2011-07-07  Eric Blake  <eblake@redhat.com>
16414
16415         getopt: avoid compiler warning during configure
16416         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
16417         assigning string literals to non-const pointer.
16418
16419         getopt-gnu: avoid crash in glibc getopt
16420         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
16421         * tests/test-getopt.h (test_getopt): Enhance test.
16422         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16423         * doc/posix-functions/getopt.texi (getopt): Document it.
16424         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16425         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16426         Likewise.
16427
16428 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
16429
16430         getopt: handle W; without long options in getopt [BZ #12922]
16431         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
16432         but no long options are defined, just return 'W'.
16433
16434 2011-07-07  Bruno Haible  <bruno@clisp.org>
16435
16436         Avoid literal tabs.
16437         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
16438         variable containing a tab instead of a literal tab.
16439         Reported by Jim Meyering.
16440
16441 2011-07-07  Bruno Haible  <bruno@clisp.org>
16442
16443         Comments.
16444         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
16445
16446 2011-07-06  Bruno Haible  <bruno@clisp.org>
16447
16448         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
16449         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
16450         <winsock2.h>.
16451         (rpl_fd_isset, FD_ISSET): New definitions, copied from
16452         lib/sys_socket.in.h.
16453         (close, gethostname): Hide declarations from <winsock2.h>.
16454         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16455         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16456         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16457         (select): Don't override if gnulib's <sys/select.h> was already
16458         included.
16459         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16460         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16461         setsockopt, shutdown, select): Tweak indentation.
16462
16463 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16464
16465         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16466         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16467         in an application that does not use the sys_select module.
16468
16469 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16470
16471         poll: do not return 0 on timeout=-1
16472         * lib/poll.c: Loop with yield if no events occurred.
16473
16474 2011-07-06  Eric Blake  <eblake@redhat.com>
16475
16476         pthread_sigmask: always replace when not using pthread
16477         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16478         replacement when using some threading other than pthread.  Fix
16479         logic bug.
16480
16481 2011-07-06  Bruno Haible  <bruno@clisp.org>
16482
16483         Comments.
16484         * m4/printf.m4: Update comments about mingw.
16485
16486 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16487
16488         sys_select: define sigset_t more portably
16489         * lib/sys_select.in.h: Always include <sys/types.h>, since
16490         we now need sigset_t and mingw defines it there.
16491         Include <signal.h> before split inclusion guard, to avoid
16492         mishaps on Solaris, whose <signal.h> eventually includes us.
16493         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16494         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16495         which come from ...
16496         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16497         gl_CHECK_TYPE_SIGSET_T.
16498         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16499         does the real work.
16500         * modules/sys_select (Depends-on): Add 'signal'.
16501
16502         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16503         Suggested by Bruno Haible.
16504
16505         pselect: Use pthread_sigmask, not sigprocmask.
16506         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16507         multithreaded apps better than sigprocmask does.
16508         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16509         sigprocmask directly.
16510
16511 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16512
16513         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16514         Don't #undef,  since we don't need any underlying pselect.
16515         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16516         (Depends-on): Add select.
16517         (Link): Add $(LIBSOCKET).
16518         These changes suggested by Bruno Haible.
16519
16520         pselect: document better
16521         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16522         * doc/posix-functions/pselect.texi (pselect): Document new module.
16523
16524         pthread_sigmask: new module
16525         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16526         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16527         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16528         This is done only as a macro; I don't know how well that'll
16529         work for C++.  Move <sys/types.h> include before the include_next,
16530         to avoid mishap on Solaris.
16531         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16532         * modules/signal (Makefile.am): Substitute the check's results.
16533         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16534
16535         test-pselect: new module
16536         * modules/pselect-tests, tests/test-pselect.c: New files.
16537         * tests/test-select.c, tests/test-sys_select-c++.cc:
16538         If TEST_PSELECT is defined, test pselect instead of testing select.
16539
16540         * tests/test-sys_select.c (sigset_t): Test for it, too.
16541         Suggested by Bruno Haible.
16542
16543 2011-07-05  Eric Blake  <eblake@redhat.com>
16544
16545         snprintf: guarantee %1$d, for libintl
16546         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16547         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16548         * doc/posix-functions/snprintf.texi (snprintf): Update.
16549         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16550         * tests/test-snprintf.c (main): Enhance test.
16551         * tests/test-vsnprintf.c (main): Likewise.
16552
16553 2011-07-05  Jim Meyering  <meyering@redhat.com>
16554
16555         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16556         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16557         per Bruno's request, to accommodate this idiom (no space after "#")
16558         even when the function is inside an #if block:
16559         char *
16560         gets (char *s)
16561         #undef gets
16562         {
16563           ...
16564         }
16565
16566 2011-07-04  Jim Meyering  <meyering@redhat.com>
16567
16568         maint: indent with spaces, not TABs, and add a rule to check this
16569         * tests/test-userspec.c: Indent with spaces, not TABs.
16570         * tests/test-argp.c: Likewise.
16571         * tests/test-c-stack2.sh: Likewise.
16572         * tests/test-parse-duration.sh: Likewise
16573         * m4/strtod.m4: Likewise.
16574         * m4/alloca.m4: Likewise.
16575         * m4/pselect.m4: Likewise.
16576         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16577
16578 2011-07-03  Jim Meyering  <meyering@redhat.com>
16579
16580         maint.mk: correct omissions in prohibit_argmatch_without_use check
16581         This rule would mistakenly report that argmatch.h is included without
16582         use even when both the argmatch and invalid_arg macro were used.
16583         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16584         of argmatch and invalid_arg.
16585
16586 2011-07-03  Bruno Haible  <bruno@clisp.org>
16587
16588         Comments about EINTR.
16589         * lib/safe-read.h: Explain the purpose of this module.
16590         * lib/safe-write.h: Likewise.
16591         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16592         module.
16593         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16594         module.
16595         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16596
16597 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16598
16599         xnanosleep: Rewrite to use new dtotimespec module.
16600         It has the conversion code that used to be in xnanosleep.
16601         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16602         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16603         (TIME_T_MAX): Remove.
16604         (xnanosleep): Rewrite in terms of dtotimespec.
16605         * modules/xnanosleep (Depends-on): Add dtotimespec.
16606         Remove intprops, stdbool.
16607
16608         timespec-add, timespec-sub: new modules
16609         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16610         * lib/timespec-add.c, lib/timespec-sub.c:
16611         * modules/timespec-add, modules/timespec-sub: New files.
16612
16613         dtotimespec: new module
16614         * lib/timespec.h (dtotimespec): New decl.
16615         * lib/dtotimespec.c, modules/dtotimespec: New files.
16616
16617         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16618
16619         pselect: new module
16620         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16621         (pselect): New decls.
16622         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16623         since the standard pselect decl uses 'restrict'.
16624         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16625         HAVE_PSELECT, REPLACE_PSELECT.
16626         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16627         HAVE_PSELECT, REPLACE_PSELECT.
16628         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16629
16630         sys_select: don't depend on sys_socket
16631         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16632         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16633         This fix works on GNU and GNU-like platforms, but has not been tested
16634         on native Windows.
16635         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16636         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16637         gl_HEADER_SYS_SOCKET.
16638         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16639         gl_PREREQ_SYS_H_WINSOCK2.
16640
16641 2011-06-29  Eric Blake  <eblake@redhat.com>
16642
16643         pipe2: fix C89 compile problem
16644         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16645         Reported by Bruno Haible.
16646
16647         pipe, pipe2: don't corrupt fd on error
16648         * lib/pipe.c (pipe): Leave fd unchanged on error.
16649         * lib/pipe2.c (pipe2): Likewise.
16650         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16651         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16652
16653 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16654
16655         mmap-anon: do not use regular expressions inadvertently
16656         * m4/mmap-anon.m4: Remove trailing period from strings sought
16657         in the output.
16658
16659 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16660
16661         nanosleep: fix integer overflow problem
16662         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16663         arithmetic wraps around on overflow.
16664
16665         nanosleep: simplify carrying
16666         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16667         first call to the underyling nanosleep, not for the last one.
16668         This doesn't fix any bugs, but it simplifies the computation of
16669         the remaining delay.  Found while auditing integer overflow issues.
16670
16671         dup2: remove test for existence of fcntl
16672         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16673         "#if HAVE_FCNTL", in the configure-time test program.
16674         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16675         and therefore speeds up "configure" a bit.  Found while
16676         adding the dup2 module to Emacs.
16677
16678 2011-06-24  Eric Blake  <eblake@redhat.com>
16679
16680         maint.mk: enhance useless header checks
16681         * top/maint.mk (_sc_header_without_use): Check both include
16682         styles.
16683         (sc_prohibit_assert_without_use)
16684         (sc_prohibit_close_stream_without_use)
16685         (sc_prohibit_getopt_without_use)
16686         (sc_prohibit_quotearg_without_use)
16687         (sc_prohibit_quote_without_use)
16688         (sc_prohibit_long_options_without_use)
16689         (sc_prohibit_inttostr_without_use)
16690         (sc_prohibit_ignore_value_without_use)
16691         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16692         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16693         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16694         (sc_prohibit_hash_pjw_without_use)
16695         (sc_prohibit_safe_read_without_use)
16696         (sc_prohibit_argmatch_without_use)
16697         (sc_prohibit_canonicalize_without_use)
16698         (sc_prohibit_root_dev_ino_without_use)
16699         (sc_prohibit_openat_without_use)
16700         (sc_prohibit_c_ctype_without_use)
16701         (sc_prohibit_signal_without_use)
16702         (sc_prohibit_stdio--_without_use)
16703         (sc_prohibit_stdio-safer_without_use)
16704         (sc_prohibit_strings_without_use)
16705         (sc_prohibit_intprops_without_use)
16706         (sc_prohibit_stddef_without_use)
16707         (sc_prohibit_xfreopen_without_use): Update clients.
16708
16709 2011-06-24  Jim Meyering  <meyering@redhat.com>
16710
16711         syntax-check: keep one maint.mk rule in sync with its header
16712         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16713         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16714         I prefer to avoid temporary files here, so use <(...), but that
16715         is not supported by /bin/sh, so...
16716         (SHELL): Define to /bin/bash.
16717
16718 2011-06-24  Eric Blake  <eblake@redhat.com>
16719
16720         maint.mk: update sc_prohibit_intprops_without_use
16721         * top/maint.mk (_intprops_names): Match recent changes.
16722
16723 2011-06-24  Bruno Haible  <bruno@clisp.org>
16724
16725         strerror-override: No-op tweak.
16726         * lib/strerror-override.h (strerror_override): Reorder conditions,
16727         for consistency with lib/strerror-override.c.
16728
16729 2011-06-23  Eric Blake  <eblake@redhat.com>
16730
16731         maint.mk: test further PATH_MAX issues
16732         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16733         (sc_prohibit_path_max_allocation): ...and also test alloca.
16734         Suggested by Jim Meyering.
16735
16736 2011-06-22  Eric Blake  <eblake@redhat.com>
16737
16738         maint.mk: add syntax-check to avoid char[PATH_MAX]
16739         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16740
16741         stat: be robust to PATH_MAX definition
16742         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16743         * modules/stat (Depends-on): Add verify.
16744
16745         link: work around IRIX bug
16746         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16747         * lib/link.c (rpl_link): Work around it.
16748         * tests/test-link.h (test_link): Enhance test.
16749         * doc/posix-functions/link.texi (link): Document the bug.
16750
16751         getopt: silence clang warning
16752         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16753         dereference.
16754         Reported by Gustavo Martin Domato.
16755
16756 2011-06-22  Jim Meyering  <meyering@redhat.com>
16757
16758         bootstrap: do not insert a blank line into each .gitignore file
16759         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16760
16761 2011-06-21  Eric Blake  <eblake@redhat.com>
16762
16763         perror: test for output mismatch
16764         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16765         perror on IRIX.
16766
16767         strerror_r: fix OpenBSD behavior on out-of-range
16768         * lib/strerror_r.c (strerror_r): Always use maximal string.
16769         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16770
16771         strerror_r: fix OpenBSD behavior on 0
16772         * lib/strerror-override.c (strerror_override): Also override 0
16773         when needed.
16774         * lib/strerror-override.h (strerror_override): Likewise.
16775         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16776         earlier.
16777         * lib/strerror_r.c (strerror_r): Likewise.
16778         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16779         behavior...
16780         (gl_FUNC_STRERROR_0): ...into new macro.
16781         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16782         is overridden.
16783         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16784         * modules/strerror-override (Files): Add strerror.m4.
16785         (configure.ac): Also provide override for 0 when needed.
16786         * doc/posix-functions/strerror.texi (strerror): Document this.
16787         * doc/posix-functions/perror.texi (perror): Likewise.
16788
16789         perror: adjust array size
16790         * modules/perror (Depends-on): Add strerror-override.
16791         * lib/perror.c (perror): Use it to avoid magic number.
16792
16793         strerror-override: reduce size
16794         * lib/strerror-override.c (strerror_override): Use fewer lines.
16795
16796 2011-06-20  Bruno Haible  <bruno@clisp.org>
16797
16798         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16799         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16800
16801 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16802
16803         alloca: port to compilers that can optimize like GCC 4.6.0
16804         * lib/alloca.c (find_stack_direction): New signature, taken from
16805         Autoconf git.  This works with GCC 4.6.0.  This code should never
16806         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16807         be used with other compilers that optimize as well as GCC 4.6.0 does.
16808         (alloca): Adjust to new signature.
16809         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16810         New macro, which patches Autoconf in a similar way.
16811
16812         c-stack: stop worrying about stack direction
16813         * lib/c-stack.c (find_stack_direction): Remove.
16814         (segv_handler): Don't worry about stack direction growth, as it's
16815         too much of a pain to configure this correctly, given how compilers
16816         are optimizing-away our stack-growth detection code.  Instead, assume
16817         that any access to just before or just after the stack is OK.
16818         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16819         Don't require AC_FUNC_ALLOCA; no longer needed.
16820
16821 2011-06-20  Eric Blake  <eblake@redhat.com>
16822
16823         test-stat: don't allocate PATH_MAX bytes
16824         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16825         PATH_MAX-sized buffer.
16826         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16827         * modules/stat-tests (Depends-on): Likewise.
16828         * tests/test-fstatat.c (includes): Drop pathmax.h.
16829         * tests/test-stat.c (includes): Likewise.
16830         Reported by Bruno Haible.
16831
16832 2011-06-20  Bruno Haible  <bruno@clisp.org>
16833
16834         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16835         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16836         * lib/float.c: New file.
16837         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16838         REPLACE_FLOAT_LDBL.
16839         * modules/float (Files): Add lib/float.c.
16840         (configure.ac): Invoke AC_LIBOBJ.
16841         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16842
16843 2011-06-20  Bruno Haible  <bruno@clisp.org>
16844
16845         Tests for module 'float'.
16846         * modules/float-tests: New file.
16847         * tests/test-float.c: New file.
16848
16849 2011-06-19  Bruno Haible  <bruno@clisp.org>
16850
16851         isinf: Coding style.
16852         * lib/isinf.c: Use GNU coding style.
16853
16854 2011-06-19  Bruno Haible  <bruno@clisp.org>
16855
16856         linkat test: Avoid test failure on AIX 7.1.
16857         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16858         * tests/test-link.h (test_link): Likewise.
16859
16860 2011-06-19  Bruno Haible  <bruno@clisp.org>
16861
16862         pread test: Avoid test failure on OpenBSD 4.9.
16863         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16864
16865 2011-06-19  Bruno Haible  <bruno@clisp.org>
16866
16867         sprintf-posix: Fix test failure on AIX 7.1.
16868         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16869         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16870         on AIX.
16871         * doc/posix-functions/fprintf.texi: Likewise.
16872         * doc/posix-functions/printf.texi: Likewise.
16873         * doc/posix-functions/snprintf.texi: Likewise.
16874         * doc/posix-functions/sprintf.texi: Likewise.
16875         * doc/posix-functions/vdprintf.texi: Likewise.
16876         * doc/posix-functions/vfprintf.texi: Likewise.
16877         * doc/posix-functions/vprintf.texi: Likewise.
16878         * doc/posix-functions/vsnprintf.texi: Likewise.
16879         * doc/posix-functions/vsprintf.texi: Likewise.
16880
16881 2011-06-19  Bruno Haible  <bruno@clisp.org>
16882
16883         roundl-ieee: Fix test failure on AIX 7.1.
16884         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16885         * doc/posix-functions/roundl.texi: Mention problem with negative
16886         arguments.
16887
16888 2011-06-19  Bruno Haible  <bruno@clisp.org>
16889
16890         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16891         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16892         * doc/posix-functions/round.texi: Mention problem with negative
16893         arguments.
16894         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16895
16896 2011-06-19  Bruno Haible  <bruno@clisp.org>
16897
16898         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16899         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16900         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16901         * doc/posix-functions/roundf.texi: Mention problem with negative
16902         arguments.
16903         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16904
16905 2011-06-19  Bruno Haible  <bruno@clisp.org>
16906
16907         ceilf-ieee: Work around bug on MacOS X 10.5.
16908         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16909
16910         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16911         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16912         IEEE compliant, avoid compiler optimizations.
16913         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16914         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16915         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16916         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16917         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16918         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16919         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16920         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16921         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16922         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16923
16924 2011-06-19  Bruno Haible  <bruno@clisp.org>
16925
16926         ceilf-ieee: Work around bug on AIX 7.1.
16927         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16928         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16929
16930 2011-06-19  Bruno Haible  <bruno@clisp.org>
16931
16932         ceil-ieee: Work around bug on AIX 7.1.
16933         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16934         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16935
16936 2011-06-18  Bruno Haible  <bruno@clisp.org>
16937
16938         fsync test: Avoid test failure on MacOS X and AIX.
16939         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16940         EINVAL.
16941
16942 2011-06-18  Bruno Haible  <bruno@clisp.org>
16943
16944         openat, fdopendir tests: Fix link errors.
16945         * modules/openat-tests (Depends-on): Add progname.
16946         * modules/fdopendir-tests (Depends-on): Likewise.
16947         * tests/test-fchownat.c: Include progname.h.
16948         (main): Call set_program_name.
16949         * tests/test-fstatat.c: Include progname.h.
16950         (main): Call set_program_name.
16951         * tests/test-mkdirat.c: Include progname.h.
16952         (main): Call set_program_name.
16953         * tests/test-openat.c: Include progname.h.
16954         (main): Call set_program_name.
16955         * tests/test-unlinkat.c: Include progname.h.
16956         (main): Call set_program_name.
16957         * tests/test-fdopendir.c: Include progname.h.
16958         (main): Call set_program_name.
16959
16960 2011-06-18  Bruno Haible  <bruno@clisp.org>
16961
16962         Doc update.
16963         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16964         HP-UX.
16965         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16966
16967 2011-06-18  Bruno Haible  <bruno@clisp.org>
16968
16969         getcwd tests: Avoid compilation error on HP-UX 11.31.
16970         * modules/getcwd-tests (Depends-on): Add pathmax.
16971         * tests/test-getcwd.c: Include pathmax.h.
16972
16973 2011-06-18  Bruno Haible  <bruno@clisp.org>
16974
16975         isfinite, isinf: Fix link error on AIX 6 and 7.
16976         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16977         needed, also test the macro with a 'float' argument.
16978         * m4/isinf.m4 (gl_ISINF): Likewise.
16979
16980 2011-06-18  Bruno Haible  <bruno@clisp.org>
16981
16982         getloadavg: Don't clobber LIBS. Regression from previous commit.
16983         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16984         AC_CHECK_LIB from here...
16985         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16986         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16987         gl_func_getloadavg_done.
16988         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16989
16990 2011-06-18  Bruno Haible  <bruno@clisp.org>
16991
16992         clean-temp: Improve documentation.
16993         * lib/clean-temp.h: Explain better how to use this module.
16994         Reported by John Darrington <john@darrington.wattle.id.au>.
16995
16996 2011-06-17  Bruno Haible  <bruno@clisp.org>
16997
16998         pread, pwrite: Avoid cc warning on AIX.
16999         * lib/unistd.in.h (pread): Undefine before defining as a macro.
17000         (pwrite): Likewise.
17001
17002 2011-06-17  Bruno Haible  <bruno@clisp.org>
17003
17004         spawn-pipe tests: Fix link error.
17005         * tests/test-spawn-pipe-child.c: Undefine fprintf.
17006         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17007
17008 2011-06-17  Bruno Haible  <bruno@clisp.org>
17009
17010         Tests: Remove unnecessary dependency.
17011         * modules/canonicalize-tests (Depends-on): Remove progname.
17012         * modules/chown-tests (Depends-on): Likewise.
17013         * modules/dirname-tests (Depends-on): Likewise.
17014         * modules/fdopendir-tests (Depends-on): Likewise.
17015         * modules/fdutimensat-tests (Depends-on): Likewise.
17016         * modules/hash-tests (Depends-on): Likewise.
17017         * modules/lchown-tests (Depends-on): Likewise.
17018         * modules/linkat-tests (Depends-on): Likewise.
17019         * modules/renameat-tests (Depends-on): Likewise.
17020         * modules/spawn-pipe-tests (Depends-on): Likewise.
17021         * modules/utimensat-tests (Depends-on): Likewise.
17022
17023 2011-06-17  Bruno Haible  <bruno@clisp.org>
17024
17025         spawn-pipe tests: Fix link error.
17026         * tests/test-spawn-pipe-child.c: Undefine fflush.
17027
17028 2011-06-17  Bruno Haible  <bruno@clisp.org>
17029
17030         Fix tests link errors.
17031         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
17032         * modules/chown-tests (Makefile.am): Don't link test-chown with
17033         LIBINTL.
17034         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
17035         LIBINTL.
17036         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
17037         LIBINTL.
17038         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
17039         LIBINTL.
17040
17041 2011-06-16  Bruno Haible  <bruno@clisp.org>
17042
17043         crypto/gc-sha1: Fix recent regression.
17044         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
17045         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
17046
17047         crypto/gc-md5: Fix recent regression.
17048         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
17049
17050         crypto/gc-md4: Fix recent regression.
17051         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
17052         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
17053
17054         crypto/gc-arctwo: Fix recent regression.
17055         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
17056         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
17057
17058         crypto/gc-rijndael: Fix recent regression.
17059         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
17060         (configure.ac): Invoke AC_LIBOBJ here.
17061         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
17062         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17063
17064         crypto/gc-hmac-sha1: Fix recent regression.
17065         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
17066         (configure.ac): Invoke AC_LIBOBJ here.
17067         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
17068         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17069
17070         crypto/gc-hmac-md5: Fix recent regression.
17071         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
17072         (configure.ac): Invoke AC_LIBOBJ here.
17073         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
17074         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17075
17076         crypto/gc-des: Fix recent regression.
17077         * modules/crypto/gc-des (Files): Remove m4/des.m4.
17078         (configure.ac): Invoke AC_LIBOBJ here.
17079         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
17080         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17081
17082         crypto/gc-arcfour: Fix recent regression.
17083         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
17084         (configure.ac): Invoke AC_LIBOBJ here.
17085         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
17086         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17087
17088 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
17089
17090         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
17091         After the 2011-05-21 change, this macro requires
17092         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
17093         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
17094
17095 2011-06-16  Bruno Haible  <bruno@clisp.org>
17096
17097         fprintftime: Move AC_LIBOBJ invocations to module description.
17098         * m4/fprintftime.m4: Remove file.
17099         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
17100         (configure.ac): Remove gl_FPRINTFTIME call.
17101         (Makefile.am): Augment lib_SOURCES.
17102         Reported by Jim Meyering.
17103
17104 2011-06-16  Bruno Haible  <bruno@clisp.org>
17105
17106         tmpfile-safer: Finish 2011-05-23 commit.
17107         * m4/stdio-safer.m4: Really remove file.
17108         Reported by Jim Meyering.
17109
17110 2011-06-16  Bruno Haible  <bruno@clisp.org>
17111
17112         syntax-check: Fix typo.
17113         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
17114         printf-posix.m4.
17115         Reported by Jim Meyering.
17116
17117 2011-06-13  Jim Meyering  <meyering@redhat.com>
17118
17119         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
17120         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
17121
17122 2011-05-23  Bruno Haible  <bruno@clisp.org>
17123
17124         yesno: Move AC_LIBOBJ invocations to module description.
17125         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
17126         * modules/yesno (Makefile.am): Augment lib_SOURCES.
17127
17128 2011-05-23  Bruno Haible  <bruno@clisp.org>
17129
17130         xstrtol: Move AC_LIBOBJ invocations to module description.
17131         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
17132         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
17133
17134 2011-05-23  Bruno Haible  <bruno@clisp.org>
17135
17136         xstrtold: Move AC_LIBOBJ invocations to module description.
17137         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
17138         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
17139
17140 2011-05-23  Bruno Haible  <bruno@clisp.org>
17141
17142         xstrtod: Move AC_LIBOBJ invocations to module description.
17143         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
17144         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
17145
17146 2011-05-23  Bruno Haible  <bruno@clisp.org>
17147
17148         xnanosleep: Move AC_LIBOBJ invocations to module description.
17149         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
17150         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
17151
17152 2011-05-23  Bruno Haible  <bruno@clisp.org>
17153
17154         xgetcwd: Move AC_LIBOBJ invocations to module description.
17155         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
17156         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
17157
17158 2011-05-23  Bruno Haible  <bruno@clisp.org>
17159
17160         xalloc: Move AC_LIBOBJ invocations to module description.
17161         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
17162         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
17163
17164 2011-05-23  Bruno Haible  <bruno@clisp.org>
17165
17166         write-any-file: Move AC_LIBOBJ invocations to module description.
17167         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
17168         invocation.
17169         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
17170
17171 2011-05-23  Bruno Haible  <bruno@clisp.org>
17172
17173         utimens: Move AC_LIBOBJ invocations to module description.
17174         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
17175         * modules/utimens (Makefile.am): Augment lib_SOURCES.
17176
17177 2011-05-23  Bruno Haible  <bruno@clisp.org>
17178
17179         utimecmp: Move AC_LIBOBJ invocations to module description.
17180         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
17181         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
17182
17183 2011-05-23  Bruno Haible  <bruno@clisp.org>
17184
17185         userspec: Move AC_LIBOBJ invocations to module description.
17186         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
17187         * modules/userspec (Makefile.am): Augment lib_SOURCES.
17188
17189 2011-05-23  Bruno Haible  <bruno@clisp.org>
17190
17191         unlinkdir: Move AC_LIBOBJ invocations to module description.
17192         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
17193         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
17194
17195 2011-05-23  Bruno Haible  <bruno@clisp.org>
17196
17197         unistd-safer: Move AC_LIBOBJ invocations to module description.
17198         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
17199         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
17200
17201 2011-05-23  Bruno Haible  <bruno@clisp.org>
17202
17203         tempname: Move AC_LIBOBJ invocations to module description.
17204         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
17205         * modules/tempname (Makefile.am): Augment lib_SOURCES.
17206
17207 2011-05-23  Bruno Haible  <bruno@clisp.org>
17208
17209         strftime: Move AC_LIBOBJ invocations to module description.
17210         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
17211         * modules/strftime (Makefile.am): Augment lib_SOURCES.
17212
17213 2011-05-23  Bruno Haible  <bruno@clisp.org>
17214
17215         stdlib-safer: Move AC_LIBOBJ invocations to module description.
17216         * m4/stdlib-safer.m4: Remove file.
17217         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
17218         (configure.ac): Remove gl_STDLIB_SAFER call.
17219         (Makefile.am): Augment lib_SOURCES.
17220
17221 2011-05-23  Bruno Haible  <bruno@clisp.org>
17222
17223         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
17224         * m4/stdio-safer.m4: Remove file.
17225         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
17226         (configure.ac): Remove gl_TMPFILE_SAFER call.
17227         (Makefile.am): Augment lib_SOURCES.
17228
17229 2011-05-23  Bruno Haible  <bruno@clisp.org>
17230
17231         popen-safer: Move AC_LIBOBJ invocations to module description.
17232         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
17233         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
17234         (configure.ac): Remove gl_POPEN_SAFER call.
17235         (Makefile.am): Augment lib_SOURCES.
17236
17237 2011-05-23  Bruno Haible  <bruno@clisp.org>
17238
17239         freopen-safer: Move AC_LIBOBJ invocations to module description.
17240         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
17241         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
17242         (configure.ac): Remove gl_FREOPEN_SAFER call.
17243         (Makefile.am): Augment lib_SOURCES.
17244
17245 2011-05-23  Bruno Haible  <bruno@clisp.org>
17246
17247         fopen-safer: Move AC_LIBOBJ invocations to module description.
17248         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
17249         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
17250         (configure.ac): Remove gl_FOPEN_SAFER call.
17251         (Makefile.am): Augment lib_SOURCES.
17252
17253 2011-05-23  Bruno Haible  <bruno@clisp.org>
17254
17255         crypto/sha512: Move AC_LIBOBJ invocations to module description.
17256         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
17257         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
17258
17259 2011-05-23  Bruno Haible  <bruno@clisp.org>
17260
17261         crypto/sha256: Move AC_LIBOBJ invocations to module description.
17262         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
17263         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
17264
17265 2011-05-23  Bruno Haible  <bruno@clisp.org>
17266
17267         crypto/sha1: Move AC_LIBOBJ invocations to module description.
17268         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
17269         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
17270
17271 2011-05-23  Bruno Haible  <bruno@clisp.org>
17272
17273         settime: Move AC_LIBOBJ invocations to module description.
17274         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
17275         * modules/settime (Makefile.am): Augment lib_SOURCES.
17276
17277 2011-05-23  Bruno Haible  <bruno@clisp.org>
17278
17279         savedir: Move AC_LIBOBJ invocations to module description.
17280         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
17281         * modules/savedir (Makefile.am): Augment lib_SOURCES.
17282
17283 2011-05-23  Bruno Haible  <bruno@clisp.org>
17284
17285         save-cwd: Move AC_LIBOBJ invocations to module description.
17286         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
17287         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
17288
17289 2011-05-23  Bruno Haible  <bruno@clisp.org>
17290
17291         same: Move AC_LIBOBJ invocations to module description.
17292         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
17293         * modules/same (Makefile.am): Augment lib_SOURCES.
17294
17295 2011-05-23  Bruno Haible  <bruno@clisp.org>
17296
17297         safe-write: Move AC_LIBOBJ invocations to module description.
17298         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
17299         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
17300         instead of gl_SAFE_WRITE.
17301         (Makefile.am): Augment lib_SOURCES.
17302
17303 2011-05-23  Bruno Haible  <bruno@clisp.org>
17304
17305         safe-read: Move AC_LIBOBJ invocations to module description.
17306         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
17307         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
17308         of gl_SAFE_READ.
17309         (Makefile.am): Augment lib_SOURCES.
17310
17311 2011-05-23  Bruno Haible  <bruno@clisp.org>
17312
17313         safe-alloc: Move AC_LIBOBJ invocations to module description.
17314         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
17315         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
17316
17317 2011-05-23  Bruno Haible  <bruno@clisp.org>
17318
17319         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
17320         * m4/rijndael.m4: Remove file.
17321         * modules/crypto/rijndael (Files): Remove it.
17322         (configure.ac): Remove gl_RIJNDAEL call.
17323         (Makefile.am): Augment lib_SOURCES.
17324
17325 2011-05-23  Bruno Haible  <bruno@clisp.org>
17326
17327         readtokens: Move AC_LIBOBJ invocations to module description.
17328         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
17329         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
17330
17331 2011-05-23  Bruno Haible  <bruno@clisp.org>
17332
17333         read-file: Move AC_LIBOBJ invocations to module description.
17334         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
17335         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
17336         of gl_FUNC_READ_FILE.
17337         (Makefile.am): Augment lib_SOURCES.
17338
17339 2011-05-23  Bruno Haible  <bruno@clisp.org>
17340
17341         quotearg: Move AC_LIBOBJ invocations to module description.
17342         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
17343         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
17344
17345 2011-05-23  Bruno Haible  <bruno@clisp.org>
17346
17347         quote: Move AC_LIBOBJ invocations to module description.
17348         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
17349         * modules/quote (Makefile.am): Augment lib_SOURCES.
17350
17351 2011-05-23  Bruno Haible  <bruno@clisp.org>
17352
17353         posixver: Move AC_LIBOBJ invocations to module description.
17354         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
17355         * modules/posixver (Makefile.am): Augment lib_SOURCES.
17356
17357 2011-05-23  Bruno Haible  <bruno@clisp.org>
17358
17359         posixtm: Move AC_LIBOBJ invocations to module description.
17360         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
17361         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
17362
17363 2011-05-23  Bruno Haible  <bruno@clisp.org>
17364
17365         physmem: Move AC_LIBOBJ invocations to module description.
17366         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
17367         * modules/physmem (Makefile.am): Augment lib_SOURCES.
17368
17369 2011-05-23  Bruno Haible  <bruno@clisp.org>
17370
17371         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
17372         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
17373         invocation.
17374         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
17375
17376 2011-05-23  Bruno Haible  <bruno@clisp.org>
17377
17378         mpsort: Move AC_LIBOBJ invocations to module description.
17379         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
17380         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
17381
17382 2011-05-23  Bruno Haible  <bruno@clisp.org>
17383
17384         modechange: Move AC_LIBOBJ invocations to module description.
17385         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
17386         * modules/modechange (Makefile.am): Augment lib_SOURCES.
17387
17388 2011-05-23  Bruno Haible  <bruno@clisp.org>
17389
17390         mkdir-p: Move AC_LIBOBJ invocations to module description.
17391         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
17392         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
17393
17394 2011-05-23  Bruno Haible  <bruno@clisp.org>
17395
17396         mkancesdirs: Move AC_LIBOBJ invocations to module description.
17397         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
17398         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
17399
17400 2011-05-23  Bruno Haible  <bruno@clisp.org>
17401
17402         mgetgroups: Move AC_LIBOBJ invocations to module description.
17403         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
17404         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
17405
17406 2011-05-23  Bruno Haible  <bruno@clisp.org>
17407
17408         memxor: Move AC_LIBOBJ invocations to module description.
17409         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
17410         * modules/memxor (Makefile.am): Augment lib_SOURCES.
17411
17412 2011-05-23  Bruno Haible  <bruno@clisp.org>
17413
17414         memcoll: Move AC_LIBOBJ invocations to module description.
17415         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
17416         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
17417
17418 2011-05-23  Bruno Haible  <bruno@clisp.org>
17419
17420         memcasecmp: Move AC_LIBOBJ invocations to module description.
17421         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
17422         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
17423
17424 2011-05-23  Bruno Haible  <bruno@clisp.org>
17425
17426         crypto/md5: Move AC_LIBOBJ invocations to module description.
17427         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
17428         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
17429
17430 2011-05-23  Bruno Haible  <bruno@clisp.org>
17431
17432         crypto/md4: Move AC_LIBOBJ invocations to module description.
17433         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
17434         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
17435
17436 2011-05-23  Bruno Haible  <bruno@clisp.org>
17437
17438         crypto/md2: Move AC_LIBOBJ invocations to module description.
17439         * m4/md2.m4: Remove file.
17440         * modules/crypto/md2 (Files): Remove it.
17441         (configure.ac): Remove gl_MD2 call.
17442         (Makefile.am): Augment lib_SOURCES.
17443
17444 2011-05-23  Bruno Haible  <bruno@clisp.org>
17445
17446         long-options: Move AC_LIBOBJ invocations to module description.
17447         * m4/long-options.m4: Remove file.
17448         * modules/long-options (Files): Remove it.
17449         (configure.ac): Remove gl_LONG_OPTIONS call.
17450         (Makefile.am): Augment lib_SOURCES.
17451
17452 2011-05-23  Bruno Haible  <bruno@clisp.org>
17453
17454         i-ring: Move AC_LIBOBJ invocations to module description.
17455         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17456         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17457
17458 2011-05-23  Bruno Haible  <bruno@clisp.org>
17459
17460         idcache: Move AC_LIBOBJ invocations to module description.
17461         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17462         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17463
17464 2011-05-23  Bruno Haible  <bruno@clisp.org>
17465
17466         human: Move AC_LIBOBJ invocations to module description.
17467         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17468         * modules/human (Makefile.am): Augment lib_SOURCES.
17469
17470 2011-05-23  Bruno Haible  <bruno@clisp.org>
17471
17472         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17473         * m4/hmac-sha1.m4: Remove file.
17474         * modules/crypto/hmac-sha1 (Files): Remove it.
17475         (configure.ac): Remove gl_HMAC_SHA1 call.
17476         (Makefile.am): Augment lib_SOURCES.
17477
17478 2011-05-23  Bruno Haible  <bruno@clisp.org>
17479
17480         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17481         * m4/hmac-md5.m4: Remove file.
17482         * modules/crypto/hmac-md5 (Files): Remove it.
17483         (configure.ac): Remove gl_HMAC_MD5 call.
17484         (Makefile.am): Augment lib_SOURCES.
17485
17486 2011-05-23  Bruno Haible  <bruno@clisp.org>
17487
17488         hash: Move AC_LIBOBJ invocations to module description.
17489         * m4/hash.m4: Remove file.
17490         * modules/hash (Files): Remove it.
17491         (configure.ac): Remove gl_HASH call.
17492         (Makefile.am): Augment lib_SOURCES.
17493
17494 2011-05-23  Bruno Haible  <bruno@clisp.org>
17495
17496         hard-locale: Move AC_LIBOBJ invocations to module description.
17497         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17498         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17499
17500 2011-05-23  Bruno Haible  <bruno@clisp.org>
17501
17502         getugroups: Move AC_LIBOBJ invocations to module description.
17503         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17504         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17505
17506 2011-05-23  Bruno Haible  <bruno@clisp.org>
17507
17508         gettime: Move AC_LIBOBJ invocations to module description.
17509         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17510         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17511
17512 2011-05-23  Bruno Haible  <bruno@clisp.org>
17513
17514         getndelim2: Move AC_LIBOBJ invocations to module description.
17515         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17516         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17517
17518 2011-05-23  Bruno Haible  <bruno@clisp.org>
17519
17520         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17521         * m4/gc-pbkdf2-sha1.m4: Remove file.
17522         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17523         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17524         (Makefile.am): Augment lib_SOURCES.
17525
17526 2011-05-23  Bruno Haible  <bruno@clisp.org>
17527
17528         fts: Move AC_LIBOBJ invocations to module description.
17529         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17530         * modules/fts (configure.ac): ... to here.
17531
17532 2011-05-23  Bruno Haible  <bruno@clisp.org>
17533
17534         file-type: Move AC_LIBOBJ invocations to module description.
17535         * m4/file-type.m4: Remove file.
17536         * modules/file-type (Files): Remove it.
17537         (configure.ac): Remove gl_FILE_TYPE call.
17538         (Makefile.am): Augment lib_SOURCES.
17539
17540 2011-05-23  Bruno Haible  <bruno@clisp.org>
17541
17542         filenamecat*: Respect rules for use of AC_LIBOBJ.
17543         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17544         Remove AC_LIBOBJ invocation.
17545         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17546         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17547
17548 2011-05-23  Bruno Haible  <bruno@clisp.org>
17549
17550         filemode: Move AC_LIBOBJ invocations to module description.
17551         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17552         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17553
17554 2011-05-23  Bruno Haible  <bruno@clisp.org>
17555
17556         openat-safer: Move AC_LIBOBJ invocations to module description.
17557         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17558         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17559
17560 2011-05-23  Bruno Haible  <bruno@clisp.org>
17561
17562         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17563         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17564         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17565
17566 2011-05-23  Bruno Haible  <bruno@clisp.org>
17567
17568         exclude: Move AC_LIBOBJ invocations to module description.
17569         * m4/exclude.m4: Remove file.
17570         * modules/exclude (Files): Remove it.
17571         (configure.ac): Remove gl_EXCLUDE call.
17572         (Makefile.am): Augment lib_SOURCES.
17573
17574 2011-05-23  Bruno Haible  <bruno@clisp.org>
17575
17576         dirname*: Respect rules for use of AC_LIBOBJ.
17577         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17578         invocations.
17579         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17580         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17581
17582 2011-05-23  Bruno Haible  <bruno@clisp.org>
17583
17584         dirent-safer: Move AC_LIBOBJ invocations to module description.
17585         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17586         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17587
17588 2011-05-23  Bruno Haible  <bruno@clisp.org>
17589
17590         crypto/des: Move AC_LIBOBJ invocations to module description.
17591         * m4/des.m4: Remove file.
17592         * modules/crypto/des (Files): Remove it.
17593         (configure.ac): Remove gl_DES call.
17594         (Makefile.am): Augment lib_SOURCES.
17595
17596 2011-05-23  Bruno Haible  <bruno@clisp.org>
17597
17598         cycle-check: Move AC_LIBOBJ invocations to module description.
17599         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17600         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17601
17602 2011-05-23  Bruno Haible  <bruno@clisp.org>
17603
17604         c-strtold: Move AC_LIBOBJ invocations to module description.
17605         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17606         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17607
17608 2011-05-23  Bruno Haible  <bruno@clisp.org>
17609
17610         c-strtod: Move AC_LIBOBJ invocations to module description.
17611         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17612         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17613
17614 2011-05-23  Bruno Haible  <bruno@clisp.org>
17615
17616         crc: Move AC_LIBOBJ invocations to module description.
17617         * m4/crc.m4: Remove file.
17618         * modules/crc (Files): Remove it.
17619         (configure.ac): Remove gl_CRC call.
17620         (Makefile.am): Augment lib_SOURCES.
17621
17622 2011-05-23  Bruno Haible  <bruno@clisp.org>
17623
17624         close-stream: Move AC_LIBOBJ invocations to module description.
17625         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17626         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17627
17628 2011-05-23  Bruno Haible  <bruno@clisp.org>
17629
17630         closeout: Move AC_LIBOBJ invocations to module description.
17631         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17632         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17633
17634 2011-05-23  Bruno Haible  <bruno@clisp.org>
17635
17636         closein: Move AC_LIBOBJ invocations to module description.
17637         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17638         * modules/closein (Makefile.am): Augment lib_SOURCES.
17639
17640 2011-05-23  Bruno Haible  <bruno@clisp.org>
17641
17642         cloexec: Move AC_LIBOBJ invocations to module description.
17643         * m4/cloexec.m4: Remove file.
17644         * modules/cloexec (Files): Remove it.
17645         (configure.ac): Remove gl_CLOEXEC call.
17646         (Makefile.am): Augment lib_SOURCES.
17647
17648 2011-05-23  Bruno Haible  <bruno@clisp.org>
17649
17650         check-version: Move AC_LIBOBJ invocations to module description.
17651         * m4/check-version.m4: Remove file.
17652         * modules/check-version (Files): Remove it.
17653         (configure.ac): Remove gl_CHECK_VERSION call.
17654         (Makefile.am): Augment lib_SOURCES.
17655
17656 2011-05-23  Bruno Haible  <bruno@clisp.org>
17657
17658         chdir-safer: Move AC_LIBOBJ invocations to module description.
17659         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17660         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17661
17662 2011-05-23  Bruno Haible  <bruno@clisp.org>
17663
17664         canonicalize: Move AC_LIBOBJ invocations to module description.
17665         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17666         AC_LIBOBJ invocation.
17667         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17668
17669 2011-05-23  Bruno Haible  <bruno@clisp.org>
17670
17671         canon-host: Move AC_LIBOBJ invocations to module description.
17672         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17673         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17674         instead of gl_CANON_HOST.
17675         (Makefile.am): Augment lib_SOURCES.
17676
17677 2011-05-23  Bruno Haible  <bruno@clisp.org>
17678
17679         backupfile: Move AC_LIBOBJ invocations to module description.
17680         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17681         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17682
17683 2011-05-23  Bruno Haible  <bruno@clisp.org>
17684
17685         argmatch: Move AC_LIBOBJ invocations to module description.
17686         * m4/argmatch.m4: Remove file.
17687         * modules/argmatch (Files): Remove it.
17688         (configure.ac): Remove gl_ARGMATCH call.
17689         (Makefile.am): Augment lib_SOURCES.
17690
17691 2011-05-23  Bruno Haible  <bruno@clisp.org>
17692
17693         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17694         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17695         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17696
17697 2011-05-23  Bruno Haible  <bruno@clisp.org>
17698
17699         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17700         * m4/arcfour.m4: Remove file.
17701         * modules/crypto/arcfour (Files): Remove it.
17702         (configure.ac): Remove gl_ARCFOUR call.
17703         (Makefile.am): Augment lib_SOURCES.
17704
17705 2011-05-22  Bruno Haible  <bruno@clisp.org>
17706
17707         write: Move AC_LIBOBJ invocations to module description.
17708         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17709         * modules/write (configure.ac): ... to here.
17710
17711 2011-05-22  Bruno Haible  <bruno@clisp.org>
17712
17713         wmemset: Move AC_LIBOBJ invocations to module description.
17714         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17715         here...
17716         * modules/wmemset (configure.ac): ... to here.
17717
17718 2011-05-22  Bruno Haible  <bruno@clisp.org>
17719
17720         wmemmove: Move AC_LIBOBJ invocations to module description.
17721         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17722         here...
17723         * modules/wmemmove (configure.ac): ... to here.
17724
17725 2011-05-22  Bruno Haible  <bruno@clisp.org>
17726
17727         wmemcpy: Move AC_LIBOBJ invocations to module description.
17728         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17729         here...
17730         * modules/wmemcpy (configure.ac): ... to here.
17731
17732 2011-05-22  Bruno Haible  <bruno@clisp.org>
17733
17734         wmemcmp: Move AC_LIBOBJ invocations to module description.
17735         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17736         here...
17737         * modules/wmemcmp (configure.ac): ... to here.
17738
17739 2011-05-22  Bruno Haible  <bruno@clisp.org>
17740
17741         wmemchr: Move AC_LIBOBJ invocations to module description.
17742         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17743         here...
17744         * modules/wmemchr (configure.ac): ... to here.
17745
17746 2011-05-22  Bruno Haible  <bruno@clisp.org>
17747
17748         wcswidth: Move AC_LIBOBJ invocations to module description.
17749         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17750         here...
17751         * modules/wcswidth (configure.ac): ... to here.
17752
17753 2011-05-22  Bruno Haible  <bruno@clisp.org>
17754
17755         wcwidth: Respect rules for use of AC_LIBOBJ.
17756         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17757         invocation from here...
17758         * modules/wcwidth (configure.ac): ... to here.
17759         (Depends-on): Update conditions.
17760
17761 2011-05-22  Bruno Haible  <bruno@clisp.org>
17762
17763         wctype: Move AC_LIBOBJ invocations to module description.
17764         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17765         invocation from here...
17766         * modules/wctype (configure.ac): ... to here.
17767         (Depends-on): Update conditions.
17768
17769 2011-05-22  Bruno Haible  <bruno@clisp.org>
17770
17771         wctrans: Move AC_LIBOBJ invocations to module description.
17772         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17773         invocation from here...
17774         * modules/wctrans (configure.ac): ... to here.
17775
17776 2011-05-22  Bruno Haible  <bruno@clisp.org>
17777
17778         wctomb: Move AC_LIBOBJ invocations to module description.
17779         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17780         invocations from here...
17781         * modules/wctomb (configure.ac): ... to here.
17782
17783 2011-05-22  Bruno Haible  <bruno@clisp.org>
17784
17785         wctob: Move AC_LIBOBJ invocations to module description.
17786         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17787         gl_PREREQ_WCTOB invocations from here...
17788         * modules/wctob (configure.ac): ... to here.
17789         (Depends-on): Update conditions.
17790
17791 2011-05-22  Bruno Haible  <bruno@clisp.org>
17792
17793         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17794         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17795         here...
17796         * modules/wcsxfrm (configure.ac): ... to here.
17797
17798 2011-05-22  Bruno Haible  <bruno@clisp.org>
17799
17800         wcstok: Move AC_LIBOBJ invocations to module description.
17801         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17802         * modules/wcstok (configure.ac): ... to here.
17803
17804 2011-05-22  Bruno Haible  <bruno@clisp.org>
17805
17806         wcsstr: Move AC_LIBOBJ invocations to module description.
17807         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17808         * modules/wcsstr (configure.ac): ... to here.
17809
17810 2011-05-22  Bruno Haible  <bruno@clisp.org>
17811
17812         wcsspn: Move AC_LIBOBJ invocations to module description.
17813         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17814         * modules/wcsspn (configure.ac): ... to here.
17815
17816 2011-05-22  Bruno Haible  <bruno@clisp.org>
17817
17818         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17819         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17820         gl_PREREQ_WCSRTOMBS invocations from here...
17821         * modules/wcsrtombs (configure.ac): ... to here.
17822
17823 2011-05-22  Bruno Haible  <bruno@clisp.org>
17824
17825         wcsrchr: Move AC_LIBOBJ invocations to module description.
17826         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17827         here...
17828         * modules/wcsrchr (configure.ac): ... to here.
17829
17830 2011-05-22  Bruno Haible  <bruno@clisp.org>
17831
17832         wcspbrk: Move AC_LIBOBJ invocations to module description.
17833         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17834         here...
17835         * modules/wcspbrk (configure.ac): ... to here.
17836
17837 2011-05-22  Bruno Haible  <bruno@clisp.org>
17838
17839         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17840         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17841         gl_PREREQ_WCSNRTOMBS invocations from here...
17842         * modules/wcsnrtombs (configure.ac): ... to here.
17843
17844 2011-05-22  Bruno Haible  <bruno@clisp.org>
17845
17846         wcsnlen: Move AC_LIBOBJ invocations to module description.
17847         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17848         here...
17849         * modules/wcsnlen (configure.ac): ... to here.
17850
17851 2011-05-22  Bruno Haible  <bruno@clisp.org>
17852
17853         wcsncpy: Move AC_LIBOBJ invocations to module description.
17854         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17855         here...
17856         * modules/wcsncpy (configure.ac): ... to here.
17857
17858 2011-05-22  Bruno Haible  <bruno@clisp.org>
17859
17860         wcsncmp: Move AC_LIBOBJ invocations to module description.
17861         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17862         here...
17863         * modules/wcsncmp (configure.ac): ... to here.
17864
17865 2011-05-22  Bruno Haible  <bruno@clisp.org>
17866
17867         wcsncat: Move AC_LIBOBJ invocations to module description.
17868         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17869         here...
17870         * modules/wcsncat (configure.ac): ... to here.
17871
17872 2011-05-22  Bruno Haible  <bruno@clisp.org>
17873
17874         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17875         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17876         from here...
17877         * modules/wcsncasecmp (configure.ac): ... to here.
17878
17879 2011-05-22  Bruno Haible  <bruno@clisp.org>
17880
17881         wcslen: Move AC_LIBOBJ invocations to module description.
17882         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17883         * modules/wcslen (configure.ac): ... to here.
17884
17885 2011-05-22  Bruno Haible  <bruno@clisp.org>
17886
17887         wcsdup: Move AC_LIBOBJ invocations to module description.
17888         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17889         * modules/wcsdup (configure.ac): ... to here.
17890
17891 2011-05-22  Bruno Haible  <bruno@clisp.org>
17892
17893         wcscspn: Move AC_LIBOBJ invocations to module description.
17894         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17895         here...
17896         * modules/wcscspn (configure.ac): ... to here.
17897
17898 2011-05-22  Bruno Haible  <bruno@clisp.org>
17899
17900         wcscpy: Move AC_LIBOBJ invocations to module description.
17901         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17902         * modules/wcscpy (configure.ac): ... to here.
17903
17904 2011-05-22  Bruno Haible  <bruno@clisp.org>
17905
17906         wcscoll: Move AC_LIBOBJ invocations to module description.
17907         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17908         here...
17909         * modules/wcscoll (configure.ac): ... to here.
17910
17911 2011-05-22  Bruno Haible  <bruno@clisp.org>
17912
17913         wcscmp: Move AC_LIBOBJ invocations to module description.
17914         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17915         * modules/wcscmp (configure.ac): ... to here.
17916
17917 2011-05-22  Bruno Haible  <bruno@clisp.org>
17918
17919         wcschr: Move AC_LIBOBJ invocations to module description.
17920         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17921         * modules/wcschr (configure.ac): ... to here.
17922
17923 2011-05-22  Bruno Haible  <bruno@clisp.org>
17924
17925         wcscat: Move AC_LIBOBJ invocations to module description.
17926         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17927         * modules/wcscat (configure.ac): ... to here.
17928
17929 2011-05-22  Bruno Haible  <bruno@clisp.org>
17930
17931         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17932         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17933         here...
17934         * modules/wcscasecmp (configure.ac): ... to here.
17935
17936 2011-05-22  Bruno Haible  <bruno@clisp.org>
17937
17938         wcrtomb: Move AC_LIBOBJ invocations to module description.
17939         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17940         invocations from here...
17941         * modules/wcrtomb (configure.ac): ... to here.
17942
17943 2011-05-22  Bruno Haible  <bruno@clisp.org>
17944
17945         wcpncpy: Move AC_LIBOBJ invocations to module description.
17946         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17947         here...
17948         * modules/wcpncpy (configure.ac): ... to here.
17949
17950 2011-05-22  Bruno Haible  <bruno@clisp.org>
17951
17952         wcpcpy: Move AC_LIBOBJ invocations to module description.
17953         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17954         * modules/wcpcpy (configure.ac): ... to here.
17955
17956 2011-05-22  Bruno Haible  <bruno@clisp.org>
17957
17958         waitpid: Move AC_LIBOBJ invocations to module description.
17959         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17960         invocation from here...
17961         * modules/waitpid (configure.ac): ... to here.
17962
17963 2011-05-22  Bruno Haible  <bruno@clisp.org>
17964
17965         utimensat: Move AC_LIBOBJ invocations to module description.
17966         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17967         here...
17968         * modules/utimensat (configure.ac): ... to here.
17969
17970 2011-05-22  Bruno Haible  <bruno@clisp.org>
17971
17972         usleep: Move AC_LIBOBJ invocations to module description.
17973         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17974         here...
17975         * modules/usleep (configure.ac): ... to here.
17976
17977 2011-05-22  Bruno Haible  <bruno@clisp.org>
17978
17979         unlockpt: Move AC_LIBOBJ invocations to module description.
17980         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17981         gl_PREREQ_UNLOCKPT invocations from here...
17982         * modules/unlockpt (configure.ac): ... to here.
17983
17984 2011-05-22  Bruno Haible  <bruno@clisp.org>
17985
17986         unlink: Respect rules for use of AC_LIBOBJ.
17987         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17988         * modules/unlink (configure.ac): ... to here.
17989
17990 2011-05-22  Bruno Haible  <bruno@clisp.org>
17991
17992         uname: Move AC_LIBOBJ invocations to module description.
17993         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17994         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17995         here...
17996         * modules/uname (configure.ac): ... to here.
17997
17998 2011-05-22  Bruno Haible  <bruno@clisp.org>
17999
18000         ttyname_r: Move AC_LIBOBJ invocations to module description.
18001         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
18002         gl_PREREQ_TTYNAME_R invocations from here...
18003         * modules/ttyname_r (configure.ac): ... to here.
18004
18005 2011-05-22  Bruno Haible  <bruno@clisp.org>
18006
18007         tsearch: Move AC_LIBOBJ invocations to module description.
18008         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
18009         invocations from here...
18010         * modules/tsearch (configure.ac): ... to here.
18011
18012 2011-05-22  Bruno Haible  <bruno@clisp.org>
18013
18014         towctrans: Move AC_LIBOBJ invocations to module description.
18015         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
18016         AC_LIBOBJ invocation from here...
18017         * modules/towctrans (configure.ac): ... to here.
18018
18019 2011-05-22  Bruno Haible  <bruno@clisp.org>
18020
18021         tmpfile: Move AC_LIBOBJ invocations to module description.
18022         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
18023         invocations from here...
18024         * modules/tmpfile (configure.ac): ... to here.
18025
18026 2011-05-22  Bruno Haible  <bruno@clisp.org>
18027
18028         times: Move AC_LIBOBJ invocations to module description.
18029         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
18030         * modules/times (configure.ac): ... to here.
18031
18032 2011-05-22  Bruno Haible  <bruno@clisp.org>
18033
18034         time_r: Move AC_LIBOBJ invocations to module description.
18035         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
18036         invocations from here...
18037         * modules/time_r (configure.ac): ... to here.
18038
18039 2011-05-22  Bruno Haible  <bruno@clisp.org>
18040
18041         timegm: Move AC_LIBOBJ invocations to module description.
18042         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
18043         invocations from here...
18044         * modules/timegm (configure.ac): ... to here.
18045
18046 2011-05-22  Bruno Haible  <bruno@clisp.org>
18047
18048         tcgetsid: Move AC_LIBOBJ invocations to module description.
18049         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
18050         and gl_PREREQ_TCGETSID invocations from here...
18051         * modules/tcgetsid (configure.ac): ... to here.
18052         (Depends-on): Update conditions.
18053
18054 2011-05-22  Bruno Haible  <bruno@clisp.org>
18055
18056         symlinkat: Move AC_LIBOBJ invocations to module description.
18057         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
18058         here...
18059         * modules/symlinkat (configure.ac): ... to here.
18060
18061 2011-05-22  Bruno Haible  <bruno@clisp.org>
18062
18063         symlink: Move AC_LIBOBJ invocations to module description.
18064         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
18065         here...
18066         * modules/symlink (configure.ac): ... to here.
18067
18068 2011-05-22  Bruno Haible  <bruno@clisp.org>
18069
18070         strverscmp: Move AC_LIBOBJ invocations to module description.
18071         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
18072         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
18073         from here...
18074         * modules/strverscmp (configure.ac): ... to here.
18075
18076 2011-05-22  Bruno Haible  <bruno@clisp.org>
18077
18078         strtok_r: Move AC_LIBOBJ invocations to module description.
18079         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
18080         and gl_PREREQ_STRTOK_R invocations from here...
18081         * modules/strtok_r (configure.ac): ... to here.
18082         (Depends-on): Update conditions.
18083
18084 2011-05-22  Bruno Haible  <bruno@clisp.org>
18085
18086         strtoumax: Move AC_LIBOBJ invocations to module description.
18087         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
18088         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
18089         from here...
18090         * modules/strtoumax (configure.ac): ... to here.
18091
18092 2011-05-22  Bruno Haible  <bruno@clisp.org>
18093
18094         strtoimax: Move AC_LIBOBJ invocations to module description.
18095         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
18096         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
18097         from here...
18098         * modules/strtoimax (configure.ac): ... to here.
18099
18100 2011-05-22  Bruno Haible  <bruno@clisp.org>
18101
18102         strtoull: Move AC_LIBOBJ invocations to module description.
18103         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
18104         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
18105         from here...
18106         * modules/strtoull (configure.ac): ... to here.
18107
18108 2011-05-22  Bruno Haible  <bruno@clisp.org>
18109
18110         strtoll: Move AC_LIBOBJ invocations to module description.
18111         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
18112         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
18113         here...
18114         * modules/strtoll (configure.ac): ... to here.
18115
18116 2011-05-22  Bruno Haible  <bruno@clisp.org>
18117
18118         strtoul: Move AC_LIBOBJ invocations to module description.
18119         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
18120         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18121         * modules/strtoul (configure.ac): ... to here.
18122
18123 2011-05-22  Bruno Haible  <bruno@clisp.org>
18124
18125         strtol: Move AC_LIBOBJ invocations to module description.
18126         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
18127         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18128         * modules/strtol (configure.ac): ... to here.
18129
18130 2011-05-22  Bruno Haible  <bruno@clisp.org>
18131
18132         strtod: Move AC_LIBOBJ invocations to module description.
18133         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
18134         invocations from here...
18135         * modules/strtod (configure.ac): ... to here.
18136
18137 2011-05-22  Bruno Haible  <bruno@clisp.org>
18138
18139         strstr*: Move AC_LIBOBJ invocations to module description.
18140         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
18141         invocations from here...
18142         * modules/strstr-simple (configure.ac): ... to here.
18143         * modules/strstr (configure.ac): ... and here.
18144
18145 2011-05-22  Bruno Haible  <bruno@clisp.org>
18146
18147         strsignal: Move AC_LIBOBJ invocations to module description.
18148         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
18149         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
18150         * modules/strsignal (configure.ac): ... to here.
18151         (Depends-on): Update conditions.
18152
18153 2011-05-22  Bruno Haible  <bruno@clisp.org>
18154
18155         strsep: Move AC_LIBOBJ invocations to module description.
18156         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
18157         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
18158         here...
18159         * modules/strsep (configure.ac): ... to here.
18160
18161 2011-05-22  Bruno Haible  <bruno@clisp.org>
18162
18163         strptime: Move AC_LIBOBJ invocations to module description.
18164         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
18165         gl_PREREQ_STRPTIME invocations from here...
18166         * modules/strptime (configure.ac): ... to here.
18167
18168 2011-05-22  Bruno Haible  <bruno@clisp.org>
18169
18170         strpbrk: Move AC_LIBOBJ invocations to module description.
18171         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
18172         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
18173         here...
18174         * modules/strpbrk (configure.ac): ... to here.
18175
18176 2011-05-22  Bruno Haible  <bruno@clisp.org>
18177
18178         strnlen: Move AC_LIBOBJ invocations to module description.
18179         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
18180         invocations from here...
18181         * modules/strnlen (configure.ac): ... to here.
18182
18183 2011-05-22  Bruno Haible  <bruno@clisp.org>
18184
18185         strndup: Move AC_LIBOBJ invocations to module description.
18186         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
18187         invocations from here...
18188         * modules/strndup (configure.ac): ... to here.
18189         (Depends-on): Update conditions.
18190
18191 2011-05-22  Bruno Haible  <bruno@clisp.org>
18192
18193         strncat: Move AC_LIBOBJ invocations to module description.
18194         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
18195         invocations from here...
18196         * modules/strncat (configure.ac): ... to here.
18197
18198 2011-05-22  Bruno Haible  <bruno@clisp.org>
18199
18200         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
18201         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
18202         invocations from here...
18203         * modules/strdup (configure.ac): ... to here.
18204         * modules/strdup-posix (configure.ac): ... and here.
18205
18206 2011-05-22  Bruno Haible  <bruno@clisp.org>
18207
18208         strcspn: Move AC_LIBOBJ invocations to module description.
18209         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
18210         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
18211         here...
18212         * modules/strcspn (configure.ac): ... to here.
18213
18214 2011-05-22  Bruno Haible  <bruno@clisp.org>
18215
18216         strchrnul: Move AC_LIBOBJ invocations to module description.
18217         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
18218         gl_PREREQ_STRCHRNUL invocations from here...
18219         * modules/strchrnul (configure.ac): ... to here.
18220
18221 2011-05-22  Bruno Haible  <bruno@clisp.org>
18222
18223         strcasestr*: Move AC_LIBOBJ invocations to module description.
18224         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18225         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
18226         * modules/strcasestr-simple (configure.ac): ... to here.
18227         * modules/strcasestr (configure.ac): ... and here.
18228
18229 2011-05-22  Bruno Haible  <bruno@clisp.org>
18230
18231         strcase: Move AC_LIBOBJ invocations to module description.
18232         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
18233         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
18234         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
18235         gl_PREREQ_STRNCASECMP invocations from here...
18236         * modules/strcase (configure.ac): ... to here.
18237
18238 2011-05-22  Bruno Haible  <bruno@clisp.org>
18239
18240         stpncpy: Move AC_LIBOBJ invocations to module description.
18241         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
18242         here...
18243         * modules/stpncpy (configure.ac): ... to here.
18244
18245 2011-05-22  Bruno Haible  <bruno@clisp.org>
18246
18247         stpcpy: Move AC_LIBOBJ invocations to module description.
18248         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
18249         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
18250         here...
18251         * modules/stpcpy (configure.ac): ... to here.
18252
18253 2011-05-21  Bruno Haible  <bruno@clisp.org>
18254
18255         stat: Move AC_LIBOBJ invocations to module description.
18256         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
18257         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
18258         here...
18259         * modules/stat (configure.ac): ... to here.
18260
18261 2011-05-21  Bruno Haible  <bruno@clisp.org>
18262
18263         sleep: Move AC_LIBOBJ invocations to module description.
18264         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
18265         * modules/sleep (configure.ac): ... to here.
18266
18267 2011-05-21  Bruno Haible  <bruno@clisp.org>
18268
18269         signbit: Move AC_LIBOBJ invocations to module description.
18270         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
18271         * modules/signbit (configure.ac): ... to here.
18272
18273 2011-05-21  Bruno Haible  <bruno@clisp.org>
18274
18275         sigprocmask: Move AC_LIBOBJ invocations to module description.
18276         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
18277         gl_PREREQ_SIGPROMASK invocations from here...
18278         * modules/sigprocmask (configure.ac): ... to here.
18279
18280 2011-05-21  Bruno Haible  <bruno@clisp.org>
18281
18282         sigaction: Move AC_LIBOBJ invocations to module description.
18283         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
18284         gl_PREREQ_SIGACTION invocations from here...
18285         * modules/sigaction (configure.ac): ... to here.
18286
18287 2011-05-21  Bruno Haible  <bruno@clisp.org>
18288
18289         sig2str: Move AC_LIBOBJ invocations to module description.
18290         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
18291         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
18292         here...
18293         * modules/sig2str (configure.ac): ... to here.
18294
18295 2011-05-21  Bruno Haible  <bruno@clisp.org>
18296
18297         setlocale: Move AC_LIBOBJ invocations to module description.
18298         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
18299         gl_PREREQ_SETLOCALE invocations from here...
18300         * modules/setlocale (configure.ac): ... to here.
18301
18302 2011-05-21  Bruno Haible  <bruno@clisp.org>
18303
18304         unsetenv: Move AC_LIBOBJ invocations to module description.
18305         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
18306         and gl_PREREQ_UNSETENV invocations from here...
18307         * modules/unsetenv (configure.ac): ... to here.
18308         (Depends-on): Update.
18309
18310 2011-05-21  Bruno Haible  <bruno@clisp.org>
18311
18312         setenv: Move AC_LIBOBJ invocations to module description.
18313         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
18314         here...
18315         * modules/setenv (configure.ac): ... to here.
18316
18317 2011-05-21  Bruno Haible  <bruno@clisp.org>
18318
18319         selinux-h: Move AC_LIBOBJ invocations to module description.
18320         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
18321         AC_LIBOBJ invocation from here...
18322         * modules/selinux-h (configure.ac): ... to here.
18323
18324 2011-05-21  Bruno Haible  <bruno@clisp.org>
18325
18326         select: Respect rules for use of AC_LIBOBJ.
18327         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
18328         here...
18329         * modules/select (configure.ac): ... to here.
18330
18331 2011-05-21  Bruno Haible  <bruno@clisp.org>
18332
18333         scandir: Move AC_LIBOBJ invocations to module description.
18334         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
18335         invocations from here...
18336         * modules/scandir (configure.ac): ... to here.
18337
18338 2011-05-21  Bruno Haible  <bruno@clisp.org>
18339
18340         rpmatch: Move AC_LIBOBJ invocations to module description.
18341         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
18342         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
18343         here...
18344         * modules/rpmatch (configure.ac): ... to here.
18345
18346 2011-05-21  Bruno Haible  <bruno@clisp.org>
18347
18348         rmdir: Respect rules for use of AC_LIBOBJ.
18349         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
18350         * modules/rmdir (configure.ac): ... to here.
18351
18352 2011-05-21  Bruno Haible  <bruno@clisp.org>
18353
18354         renameat: Move AC_LIBOBJ invocations to module description.
18355         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
18356         here...
18357         * modules/renameat (configure.ac): ... to here.
18358
18359 2011-05-21  Bruno Haible  <bruno@clisp.org>
18360
18361         rename: Respect rules for use of AC_LIBOBJ.
18362         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
18363         here...
18364         * modules/rename (configure.ac): ... to here.
18365
18366 2011-05-21  Bruno Haible  <bruno@clisp.org>
18367
18368         remove: Move AC_LIBOBJ invocations to module description.
18369         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
18370         here...
18371         * modules/remove (configure.ac): ... to here.
18372
18373 2011-05-21  Bruno Haible  <bruno@clisp.org>
18374
18375         relocatable-lib: Move AC_LIBOBJ invocations to module description.
18376         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
18377         macro.
18378         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
18379         * modules/relocatable-lib (configure.ac): ... to here.
18380         * modules/relocatable-prog-wrapper (configure.ac): Invoke
18381         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
18382
18383 2011-05-21  Bruno Haible  <bruno@clisp.org>
18384
18385         relocatable-prog: Move AC_LIBOBJ invocations to module description.
18386         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
18387         here...
18388         * modules/relocatable-prog (configure.ac): ... to here.
18389
18390 2011-05-21  Bruno Haible  <bruno@clisp.org>
18391
18392         regex: Move AC_LIBOBJ invocations to module description.
18393         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
18394         invocations from here...
18395         * modules/regex (configure.ac): ... to here.
18396
18397 2011-05-21  Bruno Haible  <bruno@clisp.org>
18398
18399         realloc-*: Move AC_LIBOBJ invocations to module description.
18400         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
18401         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
18402         AC_LIBOBJ invocations from here...
18403         * modules/realloc-gnu (configure.ac): ... to here.
18404         * modules/realloc-posix (configure.ac): ... and here.
18405
18406 2011-05-21  Bruno Haible  <bruno@clisp.org>
18407
18408         readutmp: Move AC_LIBOBJ invocations to module description.
18409         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
18410         * modules/readutmp (configure.ac): ... to here.
18411
18412 2011-05-21  Bruno Haible  <bruno@clisp.org>
18413
18414         readlinkat: Move AC_LIBOBJ invocations to module description.
18415         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
18416         here...
18417         * modules/readlinkat (configure.ac): ... to here.
18418
18419 2011-05-21  Bruno Haible  <bruno@clisp.org>
18420
18421         readlink: Move AC_LIBOBJ invocations to module description.
18422         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
18423         gl_PREREQ_READLINK invocations from here...
18424         * modules/readlink (configure.ac): ... to here.
18425
18426 2011-05-21  Bruno Haible  <bruno@clisp.org>
18427
18428         readline: Move AC_LIBOBJ invocations to module description.
18429         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
18430         gl_PREREQ_READLINE invocations from here...
18431         * modules/readline (configure.ac): ... to here.
18432
18433 2011-05-21  Bruno Haible  <bruno@clisp.org>
18434
18435         read: Move AC_LIBOBJ invocations to module description.
18436         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
18437         * modules/read (configure.ac): ... to here.
18438
18439 2011-05-21  Bruno Haible  <bruno@clisp.org>
18440
18441         rawmemchr: Move AC_LIBOBJ invocations to module description.
18442         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
18443         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
18444         from here...
18445         * modules/rawmemchr (configure.ac): ... to here.
18446
18447 2011-05-21  Bruno Haible  <bruno@clisp.org>
18448
18449         random_r: Move AC_LIBOBJ invocations to module description.
18450         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
18451         gl_PREREQ_RANDOM_R invocations from here...
18452         * modules/random_r (configure.ac): ... to here.
18453
18454 2011-05-21  Bruno Haible  <bruno@clisp.org>
18455
18456         pwrite: Move AC_LIBOBJ invocations to module description.
18457         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18458         * modules/pwrite (configure.ac): ... to here.
18459
18460 2011-05-21  Bruno Haible  <bruno@clisp.org>
18461
18462         putenv: Move AC_LIBOBJ invocations to module description.
18463         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18464         * modules/putenv (configure.ac): ... to here.
18465
18466 2011-05-21  Bruno Haible  <bruno@clisp.org>
18467
18468         login_tty: Move AC_LIBOBJ invocations to module description.
18469         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18470         * modules/login_tty (configure.ac): ... to here.
18471
18472 2011-05-21  Bruno Haible  <bruno@clisp.org>
18473
18474         openpty: Move AC_LIBOBJ invocations to module description.
18475         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18476         * modules/openpty (configure.ac): ... to here.
18477
18478 2011-05-21  Bruno Haible  <bruno@clisp.org>
18479
18480         forkpty: Move AC_LIBOBJ invocations to module description.
18481         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18482         * modules/forkpty (configure.ac): ... to here.
18483
18484 2011-05-21  Bruno Haible  <bruno@clisp.org>
18485
18486         ptsname: Move AC_LIBOBJ invocations to module description.
18487         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18488         invocations from here...
18489         * modules/ptsname (configure.ac): ... to here.
18490
18491 2011-05-21  Bruno Haible  <bruno@clisp.org>
18492
18493         pread: Move AC_LIBOBJ invocations to module description.
18494         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18495         * modules/pread (configure.ac): ... to here.
18496
18497 2011-05-21  Bruno Haible  <bruno@clisp.org>
18498
18499         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18500         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18501         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18502         * modules/posix_spawn (configure.ac): ... to here.
18503         * modules/posix_spawnp (configure.ac): ... and here.
18504
18505 2011-05-21  Bruno Haible  <bruno@clisp.org>
18506
18507         popen: Move AC_LIBOBJ invocations to module description.
18508         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18509         invocations from here...
18510         * modules/popen (configure.ac): ... to here.
18511
18512 2011-05-21  Bruno Haible  <bruno@clisp.org>
18513
18514         poll: Move AC_LIBOBJ invocations to module description.
18515         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18516         invocations from here...
18517         * modules/poll (configure.ac): ... to here.
18518
18519 2011-05-21  Bruno Haible  <bruno@clisp.org>
18520
18521         pipe-posix: Move AC_LIBOBJ invocations to module description.
18522         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18523         * modules/pipe-posix (configure.ac): ... to here.
18524
18525 2011-05-21  Bruno Haible  <bruno@clisp.org>
18526
18527         openat: Respect rules for use of AC_LIBOBJ.
18528         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18529         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18530         * modules/openat (configure.ac): ... to here.
18531
18532 2011-05-21  Bruno Haible  <bruno@clisp.org>
18533
18534         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18535         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18536         invocation from here...
18537         * modules/obstack-printf (configure.ac): ... to here.
18538         * modules/obstack-printf-posix (configure.ac): ... and here.
18539
18540 2011-05-21  Bruno Haible  <bruno@clisp.org>
18541
18542         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18543         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18544         from here...
18545         * modules/nl_langinfo (configure.ac): ... to here.
18546
18547 2011-05-21  Bruno Haible  <bruno@clisp.org>
18548
18549         nanosleep: Move AC_LIBOBJ invocations to module description.
18550         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18551         gl_PREREQ_NANOSLEEP invocations from here...
18552         * modules/nanosleep (configure.ac): ... to here.
18553
18554 2011-05-21  Bruno Haible  <bruno@clisp.org>
18555
18556         mountlist: Move AC_LIBOBJ invocations to module description.
18557         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18558         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18559         * modules/mountlist (configure.ac): ... to here.
18560
18561 2011-05-21  Bruno Haible  <bruno@clisp.org>
18562
18563         mktime: Respect rules for use of AC_LIBOBJ.
18564         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18565         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18566         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18567         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18568         * modules/mktime (configure.ac): ... to here.
18569         * modules/mktime-internal (configure.ac): ... and here.
18570         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18571
18572 2011-05-21  Bruno Haible  <bruno@clisp.org>
18573
18574         mkstemps: Move AC_LIBOBJ invocations to module description.
18575         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18576         here...
18577         * modules/mkstemps (configure.ac): ... to here.
18578
18579 2011-05-21  Bruno Haible  <bruno@clisp.org>
18580
18581         mkstemp: Move AC_LIBOBJ invocations to module description.
18582         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18583         gl_PREREQ_MKSTEMP invocations from here...
18584         * modules/mkstemp (configure.ac): ... to here.
18585
18586 2011-05-21  Bruno Haible  <bruno@clisp.org>
18587
18588         mkostemps: Move AC_LIBOBJ invocations to module description.
18589         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18590         here...
18591         * modules/mkostemps (configure.ac): ... to here.
18592
18593 2011-05-21  Bruno Haible  <bruno@clisp.org>
18594
18595         mkostemp: Move AC_LIBOBJ invocations to module description.
18596         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18597         gl_PREREQ_MKOSTEMP invocations from here...
18598         * modules/mkostemp (configure.ac): ... to here.
18599
18600 2011-05-21  Bruno Haible  <bruno@clisp.org>
18601
18602         mknod: Move AC_LIBOBJ invocations to module description.
18603         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18604         * modules/mknod (configure.ac): ... to here.
18605
18606 2011-05-21  Bruno Haible  <bruno@clisp.org>
18607
18608         mkfifoat: Move AC_LIBOBJ invocations to module description.
18609         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18610         here...
18611         * modules/mkfifoat (configure.ac): ... to here.
18612
18613 2011-05-21  Bruno Haible  <bruno@clisp.org>
18614
18615         mkfifo: Respect rules for use of AC_LIBOBJ.
18616         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18617         here...
18618         * modules/mkfifo (configure.ac): ... to here.
18619
18620 2011-05-21  Bruno Haible  <bruno@clisp.org>
18621
18622         mkdtemp: Move AC_LIBOBJ invocations to module description.
18623         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18624         invocations from here...
18625         * modules/mkdtemp (configure.ac): ... to here.
18626
18627 2011-05-21  Bruno Haible  <bruno@clisp.org>
18628
18629         mkdir: Move AC_LIBOBJ invocations to module description.
18630         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18631         * modules/mkdir (configure.ac): ... to here.
18632
18633 2011-05-21  Bruno Haible  <bruno@clisp.org>
18634
18635         memset: Move AC_LIBOBJ invocations to module description.
18636         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18637         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18638         here...
18639         * modules/memset (configure.ac): ... to here.
18640
18641 2011-05-21  Bruno Haible  <bruno@clisp.org>
18642
18643         memrchr: Move AC_LIBOBJ invocations to module description.
18644         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18645         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18646         here...
18647         * modules/memrchr (configure.ac): ... to here.
18648
18649 2011-05-21  Bruno Haible  <bruno@clisp.org>
18650
18651         mempcpy: Move AC_LIBOBJ invocations to module description.
18652         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18653         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18654         here...
18655         * modules/mempcpy (configure.ac): ... to here.
18656
18657 2011-05-21  Bruno Haible  <bruno@clisp.org>
18658
18659         memmove: Move AC_LIBOBJ invocations to module description.
18660         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18661         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18662         here...
18663         * modules/memmove (configure.ac): ... to here.
18664
18665 2011-05-21  Bruno Haible  <bruno@clisp.org>
18666
18667         memmem*: Move AC_LIBOBJ invocations to module description.
18668         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18669         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18670         here...
18671         (gl_FUNC_MEMMEM): ... and here...
18672         * modules/memmem-simple (configure.ac): ... to here.
18673         * modules/memmem (configure.ac): ... and here.
18674
18675 2011-05-21  Bruno Haible  <bruno@clisp.org>
18676
18677         memcpy: Move AC_LIBOBJ invocations to module description.
18678         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18679         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18680         here...
18681         * modules/memcpy (configure.ac): ... to here.
18682
18683 2011-05-21  Bruno Haible  <bruno@clisp.org>
18684
18685         memcmp: Simplify autoconf macro.
18686         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18687         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18688         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18689
18690 2011-05-21  Bruno Haible  <bruno@clisp.org>
18691
18692         memcmp: Move AC_LIBOBJ invocations to module description.
18693         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18694         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18695         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18696         * modules/memcmp (configure.ac): ... to here.
18697         (Depends-on): Update conditions.
18698
18699 2011-05-21  Bruno Haible  <bruno@clisp.org>
18700
18701         memchr: Respect rules for use of AC_LIBOBJ.
18702         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18703         invocations from here...
18704         * modules/memchr (configure.ac): ... to here.
18705
18706 2011-05-21  Bruno Haible  <bruno@clisp.org>
18707
18708         mbtowc: Move AC_LIBOBJ invocations to module description.
18709         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18710         invocations from here...
18711         * modules/mbtowc (configure.ac): ... to here.
18712
18713 2011-05-21  Bruno Haible  <bruno@clisp.org>
18714
18715         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18716         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18717         gl_PREREQ_MBSRTOWCS invocations from here...
18718         * modules/mbsrtowcs (configure.ac): ... to here.
18719
18720 2011-05-21  Bruno Haible  <bruno@clisp.org>
18721
18722         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18723         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18724         gl_PREREQ_MBSNRTOWCS invocations from here...
18725         * modules/mbsnrtowcs (configure.ac): ... to here.
18726
18727 2011-05-21  Bruno Haible  <bruno@clisp.org>
18728
18729         mbsinit: Move AC_LIBOBJ invocations to module description.
18730         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18731         invocations from here...
18732         * modules/mbsinit (configure.ac): ... to here.
18733
18734 2011-05-21  Bruno Haible  <bruno@clisp.org>
18735
18736         mbrlen: Move AC_LIBOBJ invocations to module description.
18737         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18738         invocations from here...
18739         * modules/mbrlen (configure.ac): ... to here.
18740
18741 2011-05-21  Bruno Haible  <bruno@clisp.org>
18742
18743         mbrtowc: Respect rules for use of AC_LIBOBJ.
18744         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18745         invocations from here...
18746         * modules/mbrtowc (configure.ac): ... to here.
18747
18748 2011-05-21  Bruno Haible  <bruno@clisp.org>
18749
18750         malloc-*: Move AC_LIBOBJ invocations to module description.
18751         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18752         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18753         AC_LIBOBJ invocations from here...
18754         * modules/malloc-gnu (configure.ac): ... to here.
18755         * modules/malloc-posix (configure.ac): ... and here.
18756
18757 2011-05-21  Bruno Haible  <bruno@clisp.org>
18758
18759         lstat, openat: Respect rules for use of AC_LIBOBJ.
18760         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18761         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18762         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18763         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18764         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18765         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18766         here.
18767         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18768
18769 2011-05-21  Bruno Haible  <bruno@clisp.org>
18770
18771         lseek: Move AC_LIBOBJ invocations to module description.
18772         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18773         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18774         * modules/lseek (configure.ac): ... to here.
18775
18776 2011-05-21  Bruno Haible  <bruno@clisp.org>
18777
18778         linkat: Move AC_LIBOBJ invocations to module description.
18779         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18780         here...
18781         * modules/linkat (configure.ac): ... to here.
18782
18783 2011-05-21  Bruno Haible  <bruno@clisp.org>
18784
18785         link: Respect rules for use of AC_LIBOBJ.
18786         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18787         * modules/link (configure.ac): ... to here.
18788
18789 2011-05-21  Bruno Haible  <bruno@clisp.org>
18790
18791         lchown: Move AC_LIBOBJ invocations to module description.
18792         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18793         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18794         * modules/lchown (configure.ac): ... to here.
18795
18796 2011-05-21  Bruno Haible  <bruno@clisp.org>
18797
18798         iswctype: Move AC_LIBOBJ invocations to module description.
18799         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18800         here...
18801         * modules/iswctype (configure.ac): ... to here.
18802
18803 2011-05-21  Bruno Haible  <bruno@clisp.org>
18804
18805         iswblank: Move AC_LIBOBJ invocations to module description.
18806         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18807         here...
18808         * modules/iswblank (configure.ac): ... to here.
18809
18810 2011-05-21  Bruno Haible  <bruno@clisp.org>
18811
18812         atanl: Move AC_LIBOBJ invocations to module description.
18813         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18814         * modules/atanl (configure.ac): ... to here.
18815
18816 2011-05-21  Bruno Haible  <bruno@clisp.org>
18817
18818         acosl: Move AC_LIBOBJ invocations to module description.
18819         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18820         * modules/acosl (configure.ac): ... to here.
18821
18822 2011-05-21  Bruno Haible  <bruno@clisp.org>
18823
18824         asinl: Respect rules for use of AC_LIBOBJ.
18825         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18826         * modules/asinl (configure.ac): ... to here.
18827
18828 2011-05-21  Bruno Haible  <bruno@clisp.org>
18829
18830         tanl: Move AC_LIBOBJ invocations to module description.
18831         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18832         * modules/tanl (configure.ac): ... to here.
18833
18834 2011-05-21  Bruno Haible  <bruno@clisp.org>
18835
18836         cosl: Move AC_LIBOBJ invocations to module description.
18837         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18838         * modules/cosl (configure.ac): ... to here.
18839
18840 2011-05-21  Bruno Haible  <bruno@clisp.org>
18841
18842         sinl: Move AC_LIBOBJ invocations to module description.
18843         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18844         * modules/sinl (configure.ac): ... to here.
18845
18846 2011-05-21  Bruno Haible  <bruno@clisp.org>
18847
18848         logl: Move AC_LIBOBJ invocations to module description.
18849         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18850         * modules/logl (configure.ac): ... to here.
18851
18852 2011-05-21  Bruno Haible  <bruno@clisp.org>
18853
18854         expl: Move AC_LIBOBJ invocations to module description.
18855         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18856         * modules/expl (configure.ac): ... to here.
18857
18858 2011-05-21  Bruno Haible  <bruno@clisp.org>
18859
18860         roundl: Move AC_LIBOBJ invocations to module description.
18861         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18862         * modules/roundl (configure.ac): ... to here.
18863
18864 2011-05-21  Bruno Haible  <bruno@clisp.org>
18865
18866         round: Move AC_LIBOBJ invocations to module description.
18867         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18868         * modules/round (configure.ac): ... to here.
18869
18870 2011-05-21  Bruno Haible  <bruno@clisp.org>
18871
18872         roundf: Move AC_LIBOBJ invocations to module description.
18873         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18874         * modules/roundf (configure.ac): ... to here.
18875
18876 2011-05-21  Bruno Haible  <bruno@clisp.org>
18877
18878         truncl: Move AC_LIBOBJ invocations to module description.
18879         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18880         * modules/truncl (configure.ac): ... to here.
18881
18882 2011-05-21  Bruno Haible  <bruno@clisp.org>
18883
18884         trunc: Move AC_LIBOBJ invocations to module description.
18885         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18886         * modules/trunc (configure.ac): ... to here.
18887
18888 2011-05-21  Bruno Haible  <bruno@clisp.org>
18889
18890         truncf: Move AC_LIBOBJ invocations to module description.
18891         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18892         * modules/truncf (configure.ac): ... to here.
18893
18894 2011-05-21  Bruno Haible  <bruno@clisp.org>
18895
18896         ceill: Move AC_LIBOBJ invocations to module description.
18897         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18898         * modules/ceill (configure.ac): ... to here.
18899
18900 2011-05-21  Bruno Haible  <bruno@clisp.org>
18901
18902         ceil: Move AC_LIBOBJ invocations to module description.
18903         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18904         * modules/ceil (configure.ac): ... to here.
18905
18906 2011-05-21  Bruno Haible  <bruno@clisp.org>
18907
18908         ceilf: Move AC_LIBOBJ invocations to module description.
18909         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18910         * modules/ceilf (configure.ac): ... to here.
18911
18912 2011-05-21  Bruno Haible  <bruno@clisp.org>
18913
18914         floorl: Respect rules for use of AC_LIBOBJ.
18915         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18916         * modules/floorl (configure.ac): ... to here.
18917
18918 2011-05-21  Bruno Haible  <bruno@clisp.org>
18919
18920         floor: Respect rules for use of AC_LIBOBJ.
18921         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18922         * modules/floor (configure.ac): ... to here.
18923
18924 2011-05-21  Bruno Haible  <bruno@clisp.org>
18925
18926         floorf: Move AC_LIBOBJ invocations to module description.
18927         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18928         * modules/floorf (configure.ac): ... to here.
18929
18930 2011-05-20  Bruno Haible  <bruno@clisp.org>
18931
18932         sqrtl: Respect rules for use of AC_LIBOBJ.
18933         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18934         * modules/sqrtl (configure.ac): ... to here.
18935
18936 2011-05-20  Bruno Haible  <bruno@clisp.org>
18937
18938         ldexpl: Respect rules for use of AC_LIBOBJ.
18939         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18940         * modules/ldexpl (configure.ac): ... to here.
18941
18942 2011-05-20  Bruno Haible  <bruno@clisp.org>
18943
18944         frexpl*: Respect rules for use of AC_LIBOBJ.
18945         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18946         invocation from here...
18947         * modules/frexpl (configure.ac): ... to here.
18948         * modules/frexpl-nolibm (configure.ac): ... and here.
18949
18950 2011-05-20  Bruno Haible  <bruno@clisp.org>
18951
18952         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18953         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18954         invocation from here...
18955         * modules/frexp (configure.ac): ... to here.
18956         * modules/frexp-nolibm (configure.ac): ... and here.
18957
18958 2011-05-20  Bruno Haible  <bruno@clisp.org>
18959
18960         isnan: Respect rules for use of AC_LIBOBJ.
18961         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18962         invocations here.
18963         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18964         REPLACE_ISNAN.
18965         * modules/isnand (configure.ac): Likewise.
18966         * modules/isnanl (configure.ac): Likewise.
18967
18968 2011-05-20  Bruno Haible  <bruno@clisp.org>
18969
18970         isnanl*: Respect rules for use of AC_LIBOBJ.
18971         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18972         invocation from here...
18973         * modules/isnanl (configure.ac): ... to here.
18974         * modules/isnanl-nolibm (configure.ac): ... and here.
18975
18976 2011-05-20  Bruno Haible  <bruno@clisp.org>
18977
18978         isnand*: Move AC_LIBOBJ invocations to module description.
18979         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18980         invocation from here...
18981         * modules/isnand (configure.ac): ... to here.
18982         * modules/isnand-nolibm (configure.ac): ... and here.
18983
18984 2011-05-20  Bruno Haible  <bruno@clisp.org>
18985
18986         isnanf*: Move AC_LIBOBJ invocations to module description.
18987         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18988         invocation from here...
18989         * modules/isnanf (configure.ac): ... to here.
18990         * modules/isnanf-nolibm (configure.ac): ... and here.
18991
18992 2011-05-20  Bruno Haible  <bruno@clisp.org>
18993
18994         isnan*: Separate the AC_LIBOBJ invocations.
18995         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18996         AC_LIBOBJ invocation.
18997         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18998         here.
18999         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
19000         AC_LIBOBJ invocation.
19001         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
19002         here.
19003         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
19004         AC_LIBOBJ invocation.
19005         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
19006         here.
19007         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
19008
19009 2011-05-08  Bruno Haible  <bruno@clisp.org>
19010
19011         isinf: Move AC_LIBOBJ invocations to module description.
19012         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
19013         * modules/isinf (configure.ac): ... to here.
19014
19015 2011-05-08  Bruno Haible  <bruno@clisp.org>
19016
19017         isfinite: Move AC_LIBOBJ invocations to module description.
19018         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
19019         * modules/isfinite (configure.ac): ... to here.
19020
19021 2011-05-08  Bruno Haible  <bruno@clisp.org>
19022
19023         isblank: Move AC_LIBOBJ invocations to module description.
19024         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
19025         here...
19026         * modules/isblank (configure.ac): ... to here.
19027
19028 2011-05-08  Bruno Haible  <bruno@clisp.org>
19029
19030         isapipe: Move AC_LIBOBJ invocations to module description.
19031         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
19032         gl_PREREQ_ISAPIPE invocations from here...
19033         * modules/isapipe (configure.ac): ... to here.
19034         (Depends-on): Update condition.
19035
19036 2011-05-08  Bruno Haible  <bruno@clisp.org>
19037
19038         ioctl: Move AC_LIBOBJ invocations to module description.
19039         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
19040         invocations from here...
19041         * modules/ioctl (configure.ac): ... to here.
19042         (Depends-on): Update condition.
19043
19044 2011-05-08  Bruno Haible  <bruno@clisp.org>
19045
19046         imaxdiv: Move AC_LIBOBJ invocations to module description.
19047         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
19048         invocations from here...
19049         * modules/imaxdiv (configure.ac): ... to here.
19050
19051 2011-05-08  Bruno Haible  <bruno@clisp.org>
19052
19053         imaxabs: Move AC_LIBOBJ invocations to module description.
19054         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
19055         invocations from here...
19056         * modules/imaxabs (configure.ac): ... to here.
19057
19058 2011-05-08  Bruno Haible  <bruno@clisp.org>
19059
19060         getaddrinfo: Move AC_LIBOBJ invocations to module description.
19061         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
19062         AC_LIBOBJ invocations from here...
19063         * modules/getaddrinfo (configure.ac): ... to here.
19064         (Depends-on): Add conditions.
19065
19066 2011-05-08  Bruno Haible  <bruno@clisp.org>
19067
19068         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
19069         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
19070         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
19071         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
19072         (gl_PREREQ_INET_PTON): ... from here.
19073         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
19074         gl_PREREQ_INET_PTON here.
19075         (Depends-on): Update condition.
19076
19077 2011-05-08  Bruno Haible  <bruno@clisp.org>
19078
19079         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
19080         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
19081         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
19082         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
19083         (gl_PREREQ_INET_NTOP): ... from here.
19084         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
19085         gl_PREREQ_INET_NTOP here.
19086         (Depends-on): Update condition.
19087
19088 2011-05-08  Bruno Haible  <bruno@clisp.org>
19089
19090         iconv_open: Move AC_LIBOBJ invocations to module description.
19091         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
19092         AC_LIBOBJ invocations from here...
19093         * modules/iconv_open (configure.ac): ... to here.
19094
19095 2011-05-08  Bruno Haible  <bruno@clisp.org>
19096
19097         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
19098         If module 'iconv_open' is among the main modules and module
19099         'iconv_open-utf' is among the tests dependencies, then
19100         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
19101         return the special iconv_t values. Therefore iconv() and iconv_close()
19102         must support these special iconv_t values, already in lib, not only in
19103         tests.
19104         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
19105         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
19106         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
19107         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
19108         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
19109         (Depends-on): Add the dependencies of iconv_open-utf.
19110         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
19111         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
19112         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
19113
19114 2011-05-08  Bruno Haible  <bruno@clisp.org>
19115
19116         group-member: Move AC_LIBOBJ invocations to module description.
19117         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
19118         gl_PREREQ_GROUP_MEMBER invocations from here...
19119         * modules/group-member (configure.ac): ... to here.
19120
19121 2011-05-08  Bruno Haible  <bruno@clisp.org>
19122
19123         grantpt: Move AC_LIBOBJ invocations to module description.
19124         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
19125         invocations from here...
19126         * modules/grantpt (configure.ac): ... to here.
19127
19128 2011-05-08  Bruno Haible  <bruno@clisp.org>
19129
19130         glob: Move AC_LIBOBJ invocations to module description.
19131         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
19132         from here...
19133         * modules/glob (configure.ac): ... to here.
19134
19135 2011-05-08  Bruno Haible  <bruno@clisp.org>
19136
19137         getusershell: Move AC_LIBOBJ invocations to module description.
19138         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
19139         Move AC_LIBOBJ invocation from here...
19140         * modules/getusershell (configure.ac): ... to here.
19141         (Depends-on): Update condition.
19142
19143 2011-05-08  Bruno Haible  <bruno@clisp.org>
19144
19145         gettimeofday: Move AC_LIBOBJ invocations to module description.
19146         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
19147         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
19148         gl_PREREQ_GETTIMEOFDAY invocations from here...
19149         * modules/gettimeofday (configure.ac): ... to here.
19150
19151 2011-05-08  Bruno Haible  <bruno@clisp.org>
19152
19153         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
19154         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
19155         just gl_FUNC_TZSET.
19156         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
19157         (gl_FUNC_TZSET_CLOBBER): Remove actions.
19158         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
19159         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
19160
19161 2011-05-08  Bruno Haible  <bruno@clisp.org>
19162
19163         getsubopt: Move AC_LIBOBJ invocations to module description.
19164         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
19165         gl_PREREQ_GETSUBOPT invocations from here...
19166         * modules/getsubopt (configure.ac): ... to here.
19167
19168 2011-05-08  Bruno Haible  <bruno@clisp.org>
19169
19170         getpass-gnu: Move AC_LIBOBJ invocations to module description.
19171         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
19172         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
19173         * modules/getpass-gnu (configure.ac): ... to here.
19174
19175 2011-05-08  Bruno Haible  <bruno@clisp.org>
19176
19177         getpass: Move AC_LIBOBJ invocations to module description.
19178         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
19179         gl_PREREQ_GETPASS invocations from here...
19180         * modules/getpass (configure.ac): ... to here.
19181
19182 2011-05-08  Bruno Haible  <bruno@clisp.org>
19183
19184         getpagesize: Move AC_LIBOBJ invocations to module description.
19185         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
19186         from here...
19187         * modules/getpagesize (configure.ac): ... to here.
19188
19189 2011-05-08  Bruno Haible  <bruno@clisp.org>
19190
19191         getopt: Move AC_LIBOBJ invocations to module description.
19192         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
19193         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
19194         invocations from here...
19195         * modules/getopt-gnu (configure.ac): ... to here.
19196         * modules/getopt-posix (configure.ac): ... and here.
19197         (Depends-on): Update condition.
19198
19199 2011-05-08  Bruno Haible  <bruno@clisp.org>
19200
19201         getopt, argp: Respect rules for use of AC_LIBOBJ.
19202         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
19203         (gl_REPLACE_GETOPT_ALWAYS): New macro.
19204         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
19205         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
19206
19207 2011-05-08  Bruno Haible  <bruno@clisp.org>
19208
19209         getlogin_r: Move AC_LIBOBJ invocations to module description.
19210         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
19211         gl_PREREQ_GETLOGIN_R invocations from here...
19212         * modules/getlogin_r (configure.ac): ... to here.
19213
19214 2011-05-08  Bruno Haible  <bruno@clisp.org>
19215
19216         getlogin: Move AC_LIBOBJ invocations to module description.
19217         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
19218         here...
19219         * modules/getlogin (configure.ac): ... to here.
19220
19221 2011-05-08  Bruno Haible  <bruno@clisp.org>
19222
19223         getloadavg: Move AC_LIBOBJ invocations to module description.
19224         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
19225         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
19226         * modules/getloadavg (configure.ac): ... to here.
19227
19228 2011-05-08  Bruno Haible  <bruno@clisp.org>
19229
19230         gethrxtime: Move AC_LIBOBJ invocations to module description.
19231         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
19232         LIB_GETHRXTIME from here...
19233         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
19234         invocations from here...
19235         * modules/gethrxtime (configure.ac): ... to here.
19236
19237 2011-05-08  Bruno Haible  <bruno@clisp.org>
19238
19239         gethostname: Move AC_LIBOBJ invocations to module description.
19240         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
19241         gl_PREREQ_GETHOSTNAME invocations from here...
19242         * modules/gethostname (configure.ac): ... to here.
19243
19244 2011-05-08  Bruno Haible  <bruno@clisp.org>
19245
19246         getgroups: Move AC_LIBOBJ invocations to module description.
19247         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
19248         here...
19249         * modules/getgroups (configure.ac): ... to here.
19250
19251 2011-05-08  Bruno Haible  <bruno@clisp.org>
19252
19253         getdtablesize: Move AC_LIBOBJ invocations to module description.
19254         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
19255         invocation from here...
19256         * modules/getdtablesize (configure.ac): ... to here.
19257
19258 2011-05-08  Bruno Haible  <bruno@clisp.org>
19259
19260         getdomainname: Move AC_LIBOBJ invocations to module description.
19261         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
19262         gl_PREREQ_GETDOMAINNAME invocations from here...
19263         * modules/getdomainname (configure.ac): ... to here.
19264
19265 2011-05-08  Bruno Haible  <bruno@clisp.org>
19266
19267         getline: Move AC_LIBOBJ invocations to module description.
19268         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
19269         invocations from here...
19270         * modules/getline (configure.ac): ... to here.
19271
19272 2011-05-08  Bruno Haible  <bruno@clisp.org>
19273
19274         getline: Simplify.
19275         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
19276         It's already handled through the module dependency.
19277
19278 2011-05-08  Bruno Haible  <bruno@clisp.org>
19279
19280         getdelim: Move AC_LIBOBJ invocations to module description.
19281         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
19282         and gl_PREREQ_GETDELIM invocations from here...
19283         * modules/getdelim (configure.ac): ... to here.
19284         (Depends-on): Fix condition.
19285
19286 2011-05-08  Bruno Haible  <bruno@clisp.org>
19287
19288         getcwd: Move AC_LIBOBJ invocations to module description.
19289         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
19290         invocations from here...
19291         * modules/getcwd (configure.ac): ... to here.
19292
19293 2011-05-08  Bruno Haible  <bruno@clisp.org>
19294
19295         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
19296         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
19297         here...
19298         * modules/getcwd-lgpl (configure.ac): ... to here.
19299
19300 2011-05-07  Bruno Haible  <bruno@clisp.org>
19301
19302         crypto/gc: Move AC_LIBOBJ invocations to module description.
19303         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
19304         * modules/crypto/gc (configure.ac): ... to here.
19305
19306 2011-05-07  Bruno Haible  <bruno@clisp.org>
19307
19308         fwriting: Move AC_LIBOBJ invocations to module description.
19309         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
19310         here...
19311         * modules/fwriting (configure.ac): ... to here.
19312
19313 2011-05-07  Bruno Haible  <bruno@clisp.org>
19314
19315         fwritable: Move AC_LIBOBJ invocations to module description.
19316         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
19317         here...
19318         * modules/fwritable (configure.ac): ... to here.
19319
19320 2011-05-07  Bruno Haible  <bruno@clisp.org>
19321
19322         futimens: Move AC_LIBOBJ invocations to module description.
19323         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
19324         here...
19325         * modules/futimens (configure.ac): ... to here.
19326
19327 2011-05-07  Bruno Haible  <bruno@clisp.org>
19328
19329         ftruncate: Move AC_LIBOBJ invocations to module description.
19330         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
19331         gl_PREREQ_FTRUNCATE invocations from here...
19332         * modules/ftruncate (configure.ac): ... to here.
19333
19334 2011-05-07  Bruno Haible  <bruno@clisp.org>
19335
19336         fsync: Move AC_LIBOBJ invocations to module description.
19337         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
19338         invocations from here...
19339         * modules/fsync (configure.ac): ... to here.
19340
19341 2011-05-07  Bruno Haible  <bruno@clisp.org>
19342
19343         fsusage: Move AC_LIBOBJ invocations to module description.
19344         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
19345         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
19346         * modules/fsusage (configure.ac): ... to here.
19347
19348 2011-05-07  Bruno Haible  <bruno@clisp.org>
19349
19350         freopen: Move AC_LIBOBJ invocations to module description.
19351         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
19352         invocations from here...
19353         * modules/freopen (configure.ac): ... to here.
19354
19355 2011-05-07  Bruno Haible  <bruno@clisp.org>
19356
19357         free: Move AC_LIBOBJ invocations to module description.
19358         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
19359         invocations from here...
19360         * modules/free (configure.ac): ... to here.
19361
19362 2011-05-07  Bruno Haible  <bruno@clisp.org>
19363
19364         freadable: Move AC_LIBOBJ invocations to module description.
19365         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
19366         here...
19367         * modules/freadable (configure.ac): ... to here.
19368
19369 2011-05-07  Bruno Haible  <bruno@clisp.org>
19370
19371         fpurge: Move AC_LIBOBJ invocations to module description.
19372         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
19373         invocations from here...
19374         * modules/fpurge (configure.ac): ... to here.
19375
19376 2011-05-07  Bruno Haible  <bruno@clisp.org>
19377
19378         fpending: Move AC_LIBOBJ invocations to module description.
19379         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
19380         gl_FUNC_FPENDING.
19381         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
19382         invocations from here...
19383         * modules/fpending (configure.ac): ... to here.
19384
19385 2011-05-07  Bruno Haible  <bruno@clisp.org>
19386
19387         fopen: Move AC_LIBOBJ invocations to module description.
19388         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
19389         invocations from here...
19390         * modules/fopen (configure.ac): ... to here.
19391
19392 2011-05-07  Bruno Haible  <bruno@clisp.org>
19393
19394         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
19395         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
19396         gl_FUNC_FNMATCH_POSIX.
19397         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
19398         invocations from here...
19399         * modules/fnmatch (configure.ac): ... to here.
19400         * modules/fnmatch-gnu (configure.ac): ... and here.
19401
19402 2011-05-07  Bruno Haible  <bruno@clisp.org>
19403
19404         flock: Move AC_LIBOBJ invocations to module description.
19405         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
19406         invocations from here...
19407         * modules/flock (configure.ac): ... to here.
19408
19409 2011-05-07  Bruno Haible  <bruno@clisp.org>
19410
19411         fileblocks: Move AC_LIBOBJ invocations to module description.
19412         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
19413         gl_PREREQ_FILEBLOCKS invocations from here...
19414         * modules/fileblocks (configure.ac): ... to here.
19415
19416 2011-05-06  Bruno Haible  <bruno@clisp.org>
19417
19418         fflush: Move AC_LIBOBJ invocations to module description.
19419         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
19420         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
19421         invocations from here...
19422         * modules/fflush (configure.ac): ... to here.
19423
19424 2011-05-06  Bruno Haible  <bruno@clisp.org>
19425
19426         fdopendir: Move AC_LIBOBJ invocations to module description.
19427         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
19428         here...
19429         * modules/fdopendir (configure.ac): ... to here.
19430         (Depends-on): Improve conditions.
19431
19432 2011-05-06  Bruno Haible  <bruno@clisp.org>
19433
19434         _Exit: Move AC_LIBOBJ invocations to module description.
19435         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
19436         invocations from here...
19437         * modules/_Exit (configure.ac): ... to here.
19438
19439 2011-05-21  Bruno Haible  <bruno@clisp.org>
19440
19441         euidaccess: Respect rules for use of AC_LIBOBJ.
19442         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19443         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
19444         from here...
19445         * modules/euidaccess (configure.ac): ... to here.
19446
19447 2011-05-06  Bruno Haible  <bruno@clisp.org>
19448
19449         error: Move AC_LIBOBJ invocations to module description.
19450         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
19451         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
19452         invocations from here...
19453         * modules/error (configure.ac): ... to here.
19454
19455 2011-05-06  Bruno Haible  <bruno@clisp.org>
19456
19457         duplocale: Move AC_LIBOBJ invocations to module description.
19458         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19459         gl_PREREQ_DUPLOCALE invocations from here...
19460         * modules/duplocale (configure.ac): ... to here.
19461
19462 2011-05-05  Bruno Haible  <bruno@clisp.org>
19463
19464         dirfd: Move AC_LIBOBJ invocations to module description.
19465         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19466         gl_FUNC_DIRFD.
19467         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19468         here...
19469         * modules/dirfd (configure.ac): ... to here.
19470         (Depends-on): Fix condition.
19471
19472 2011-05-05  Bruno Haible  <bruno@clisp.org>
19473
19474         chown: Respect rules for use of AC_LIBOBJ.
19475         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19476         * modules/chown (configure.ac): ... to here.
19477
19478 2011-05-05  Bruno Haible  <bruno@clisp.org>
19479
19480         chdir-long: Move AC_LIBOBJ invocations to module description.
19481         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19482         gl_PREREQ_CHDIR_LONG invocations from here...
19483         * modules/chdir-long (configure.ac): ... to here.
19484
19485 2011-05-05  Bruno Haible  <bruno@clisp.org>
19486
19487         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19488         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19489         from here...
19490         * modules/canonicalize-lgpl (configure.ac): ... to here.
19491
19492 2011-05-05  Bruno Haible  <bruno@clisp.org>
19493
19494         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19495         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19496         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19497         REPLACE_CALLOC.
19498         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19499         * modules/calloc-gnu (configure.ac): Likewise.
19500
19501 2011-05-05  Bruno Haible  <bruno@clisp.org>
19502
19503         btowc: Move AC_LIBOBJ invocations to module description.
19504         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19505         invocations from here...
19506         * modules/btowc (configure.ac): ... to here.
19507
19508 2011-05-21  Bruno Haible  <bruno@clisp.org>
19509
19510         atexit: Move AC_LIBOBJ invocations to module description.
19511         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19512         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19513         here...
19514         * modules/atexit (configure.ac): ... to here.
19515
19516 2011-05-05  Bruno Haible  <bruno@clisp.org>
19517
19518         atoll: Move AC_LIBOBJ invocations to module description.
19519         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19520         invocations from here...
19521         * modules/atoll (configure.ac): ... to here.
19522
19523 2011-05-05  Bruno Haible  <bruno@clisp.org>
19524
19525         argz: Move AC_LIBOBJ invocations to module description.
19526         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19527         * modules/argz (configure.ac): ... to here.
19528
19529 2011-05-05  Bruno Haible  <bruno@clisp.org>
19530
19531         alphasort: Move AC_LIBOBJ invocations to module description.
19532         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19533         gl_PREREQ_ALPHASORT invocations from here...
19534         * modules/alphasort (configure.ac): ... to here.
19535
19536 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19537
19538         verify: new macro verify_expr; verify_true deprecated
19539         * NEWS: Mention this.
19540         * doc/verify.texi (Compile-time Assertions): Document this.
19541         * lib/verify.h (verify_true): Deprecate.
19542         (verify_expr): New macro.
19543         * tests/test-verify.c (function): Test verify_expr.
19544
19545 2011-06-14  Jim Meyering  <meyering@redhat.com>
19546
19547         init.sh: give more portable redirection-related advice in a comment
19548         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19549         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19550         for lots of discussion.  Stefano Lattarini suggested the solution
19551         of putting "9>&2" after the command.  Reported by Bruno Haible.
19552
19553 2011-06-13  Bruno Haible  <bruno@clisp.org>
19554
19555         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19556         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19557         'none'.
19558
19559 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19560
19561         ftoastr: use strtof only if HAVE_STRTOF
19562         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19563         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19564         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19565         * modules/ftoastr (configure.ac): Check for strtof.
19566
19567 2011-06-13  Bruno Haible  <bruno@clisp.org>
19568
19569         gnulib-tool: Addendum to 2011-06-08 commit.
19570         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19571         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19572
19573 2011-06-13  Bruno Haible  <bruno@clisp.org>
19574
19575         fseeko: Provide a non-inline replacement of fseek().
19576         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19577         * modules/fseeko (Depends-on): Add fseek.
19578         * modules/fseek (License): Change to LGPLv2+.
19579
19580 2011-06-13  Bruno Haible  <bruno@clisp.org>
19581
19582         ftello: Provide a non-inline replacement of ftell().
19583         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19584         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19585         not have ftello() (such as on mingw).
19586         * modules/ftello (Depends-on): Add ftell.
19587         * modules/ftell (License): Change to LGPLv2+.
19588
19589 2011-05-07  Bruno Haible  <bruno@clisp.org>
19590
19591         ftell: Move AC_LIBOBJ invocations to module description.
19592         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19593         * modules/ftell (configure.ac): ... to here.
19594
19595 2011-05-07  Bruno Haible  <bruno@clisp.org>
19596
19597         ftello: Respect rules for use of AC_LIBOBJ.
19598         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19599         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19600         here...
19601         * modules/ftello (configure.ac): ... to here.
19602
19603 2011-05-07  Bruno Haible  <bruno@clisp.org>
19604
19605         fseeko: Simplify.
19606         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19607         (gl_FUNC_FSEEKO): Inline it here.
19608
19609 2011-05-07  Bruno Haible  <bruno@clisp.org>
19610
19611         fseek: Move AC_LIBOBJ invocations to module description.
19612         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19613         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19614         * modules/fseek (configure.ac): ... to here.
19615
19616 2011-05-07  Bruno Haible  <bruno@clisp.org>
19617
19618         fseek: Respect rules for use of AC_LIBOBJ.
19619         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19620         here...
19621         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19622
19623 2011-05-07  Bruno Haible  <bruno@clisp.org>
19624
19625         fseeko: Respect rules for use of AC_LIBOBJ.
19626         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19627         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19628         here...
19629         * modules/fseeko (configure.ac): ... to here.
19630
19631 2011-06-13  Bruno Haible  <bruno@clisp.org>
19632
19633         gnulib-tool: Allow comments in the 'Depends-on' section.
19634         * doc/gnulib.texi (Module description): Mention comment syntax in the
19635         Depends-on section.
19636         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19637
19638 2011-06-13  Bruno Haible  <bruno@clisp.org>
19639
19640         file-set.h: guard __attibute__ use, now that it's not always defined
19641         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19642         versions that support it.  This fixes a coreutils build failure with
19643         the vendor cc on HP-UX 11.31.
19644
19645 2011-06-12  Bruno Haible  <bruno@clisp.org>
19646
19647         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19648         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19649         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19650         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19651         (acl, aclsort): New declarations.
19652         (aclv_nontrivial): New declaration.
19653         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19654         (file_has_acl): Read also the second kind of HP-UX ACLs.
19655         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19656         kind of HP-UX ACLs if the first kind fails.
19657         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19658         second kind of HP-UX ACLs.
19659         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19660         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19661         agree.
19662         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19663         hpuxjfs.
19664         Handle hpuxjfs.
19665         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19666         hpuxjfs.
19667         Handle hpuxjfs.
19668         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19669         (func_test_same_acls): Use both lsacl and getacl.
19670         Handle hpuxjfs.
19671         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19672         (func_test_same_acls): Use both lsacl and getacl.
19673         Handle hpuxjfs.
19674
19675 2011-06-12  Bruno Haible  <bruno@clisp.org>
19676
19677         acl: Complete the 2010-08-10 fix.
19678         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19679         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19680         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19681         explicitly.
19682         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19683         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19684
19685 2011-06-12  Bruno Haible  <bruno@clisp.org>
19686
19687         spawn-pipe tests: Comments.
19688         * tests/test-spawn-pipe-child.c (main): Update comment.
19689         Reported by James Youngman <jay@gnu.org>.
19690
19691 2011-06-11  James Youngman  <jay@gnu.org>
19692
19693         New module 'stat-size'.
19694         * modules/stat-size: New module.  Provides macros for accessing
19695         file size information in instances of struct stat.  Depends on the
19696         fileblocks module because it calls st_blocks.
19697         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19698         * doc/gnulib.texi: Include stat-size.texi.
19699         * doc/stat-size.texi: Documentation for this module.
19700         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19701         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19702         AC_STRUCT_ST_BLOCKS.
19703
19704 2011-06-09  Bruno Haible  <bruno@clisp.org>
19705
19706         thread: Support pthreads-win32.
19707         * lib/glthread/thread.h (gl_thread_self): Define differently on
19708         pthreads-win32.
19709         (gl_null_thread): New declaration.
19710         (gl_thread_self_pointer): New macro.
19711         * lib/glthread/thread.c (gl_null_thread): New constant.
19712         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19713         gl_thread_self.
19714         * tests/test-tls.c: Likewise.
19715         Suggested by Paul Eggert. Reported by Eric Blake.
19716
19717 2011-06-09  Bruno Haible  <bruno@clisp.org>
19718
19719         thread: Fix confusion between NULL and 0.
19720         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19721         Reported by Paul Eggert.
19722
19723 2011-06-09  Bruno Haible  <bruno@clisp.org>
19724
19725         spawn-pipe tests: Avoid test failure on HP-UX 11.
19726         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19727         is closed.
19728
19729 2011-06-09  Bruno Haible  <bruno@clisp.org>
19730
19731         acl tests: Fix compilation error on HP-UX 11.
19732         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19733
19734 2011-06-09  Bruno Haible  <bruno@clisp.org>
19735
19736         rmdir: Avoid test failure on HP-UX 10.20.
19737         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19738         EEXIST.
19739
19740 2011-06-08  Eric Blake  <eblake@redhat.com>
19741
19742         perror: fix test on mingw
19743         * modules/perror-tests (Depends-on): Add dup2.
19744
19745         strerror_r-posix: fix on MacOS
19746         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19747         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19748         logic bug.
19749         * lib/strerror_r.c (strerror_r): Fix the bug.
19750         * lib/strerror.c (strerror): Likewise.
19751         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19752         problem.
19753         * doc/posix-functions/strerror.texi (strerror): Likewise.
19754         * doc/posix-functions/perror.texi (perror): Likewise.
19755         * tests/test-strerror.c (main): Enhance test.
19756         * tests/test-strerror_r.c (main): Likewise.
19757
19758 2011-06-08  Bruno Haible  <bruno@clisp.org>
19759
19760         gnulib-tool: Better isolation between different gnulib-tool invocations.
19761         * gnulib-tool: New option --witness-c-macro.
19762         (witness_c_macro): New variable.
19763         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19764         AM_CPPFLAGS define it as a C macro.
19765         (func_emit_tests_Makefile_am): Likewise.
19766         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19767         read it from there.
19768         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19769         m4_define, not AC_DEFUN.
19770         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19771         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19772         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19773         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19774         s|...|...|, to substitute the values of the GNULIB_* module indicator
19775         variables.
19776         * modules/dirent (Makefile.am): Likewise.
19777         * modules/fcntl-h (Makefile.am): Likewise.
19778         * modules/iconv-h (Makefile.am): Likewise.
19779         * modules/langinfo (Makefile.am): Likewise.
19780         * modules/locale (Makefile.am): Likewise.
19781         * modules/math (Makefile.am): Likewise.
19782         * modules/netdb (Makefile.am): Likewise.
19783         * modules/poll-h (Makefile.am): Likewise.
19784         * modules/pty (Makefile.am): Likewise.
19785         * modules/search (Makefile.am): Likewise.
19786         * modules/signal (Makefile.am): Likewise.
19787         * modules/spawn (Makefile.am): Likewise.
19788         * modules/stdio (Makefile.am): Likewise.
19789         * modules/stdlib (Makefile.am): Likewise.
19790         * modules/string (Makefile.am): Likewise.
19791         * modules/sys_ioctl (Makefile.am): Likewise.
19792         * modules/sys_select (Makefile.am): Likewise.
19793         * modules/sys_socket (Makefile.am): Likewise.
19794         * modules/sys_stat (Makefile.am): Likewise.
19795         * modules/sys_times (Makefile.am): Likewise.
19796         * modules/sys_utsname (Makefile.am): Likewise.
19797         * modules/sys_wait (Makefile.am): Likewise.
19798         * modules/termios (Makefile.am): Likewise.
19799         * modules/time (Makefile.am): Likewise.
19800         * modules/unistd (Makefile.am): Likewise.
19801         * modules/wchar (Makefile.am): Likewise.
19802
19803 2011-06-08  Eric Blake  <eblake@redhat.com>
19804
19805         strerror: simplify replacement
19806         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19807         * modules/strerror (configure.ac): No prereqs needed here...
19808         * modules/strerror-override (configure.ac): ...but this needs it.
19809         (Files): Add file for needed prereq macro.
19810
19811 2011-06-08  Bruno Haible  <bruno@clisp.org>
19812
19813         strerror_r-posix: Tweaks.
19814         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19815         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19816         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19817         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19818         (gl_FUNC_STRERROR_R): ... to here.
19819         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19820
19821 2011-06-07  Eric Blake  <eblake@redhat.com>
19822
19823         perror: document fixed bugs
19824         * doc/posix-functions/perror.texi (perror): Document recent
19825         patches.
19826
19827 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19828
19829         stat-time: get_stat_birthtime failure is better-defined
19830         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19831         return a timestamp whose tv_sec and tv_nsec values are both -1.
19832         Previously, the spec said only that the tv_nsec value was negative.
19833         This upward-compatible change simplifies GNU tar a bit.
19834
19835 2011-06-07  Eric Blake  <eblake@redhat.com>
19836
19837         strerror_r-posix: work around cygwin 1.7.9
19838         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19839         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19840         bug without replacing strerror_r.
19841         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19842         strerror_r is buggy, but without requiring strerror_r compilation.
19843         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19844
19845         test-perror: relax test to ignore cygwin bug
19846         * tests/test-perror2.c (main): Relax test on requiring detection
19847         of stream errors, and use unbuffered stream.
19848         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19849         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19850         * doc/posix-functions/fputc.texi (fputc): Likewise.
19851         * doc/posix-functions/fputs.texi (fputs): Likewise.
19852         * doc/posix-functions/fputws.texi (fputws): Likewise.
19853         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19854         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19855         * doc/posix-functions/getopt.texi (getopt): Likewise.
19856         * doc/posix-functions/perror.texi (perror): Likewise.
19857         * doc/posix-functions/printf.texi (printf): Likewise.
19858         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19859         * doc/posix-functions/psignal.texi (psignal): Likewise.
19860         * doc/posix-functions/putc.texi (putc): Likewise.
19861         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19862         Likewise.
19863         * doc/posix-functions/putchar.texi (putchar): Likewise.
19864         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19865         Likewise.
19866         * doc/posix-functions/puts.texi (puts): Likewise.
19867         * doc/posix-functions/putwc.texi (putwc): Likewise.
19868         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19869         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19870         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19871         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19872         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19873         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19874         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19875         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19876
19877 2011-05-22  Bruno Haible  <bruno@clisp.org>
19878
19879         strerror: Move AC_LIBOBJ invocations to module description.
19880         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19881         gl_PREREQ_STRERROR invocations from here...
19882         * modules/strerror (configure.ac): ... to here.
19883
19884 2011-05-21  Bruno Haible  <bruno@clisp.org>
19885
19886         perror: Use common idiom.
19887         * modules/perror (configure.ac): Reorder statements.
19888
19889 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19890
19891         tests: fix usage message in 'mktempd_'
19892         * tests/init.sh (mktempd_): In the usage message, use literal
19893         'mktempd_', not '$ME' (which is even undefined), as the name of
19894         the subroutine.
19895
19896 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19897
19898         tests init: new function 'fatal_', for hard errors
19899         Before this patch, the only way offered by tests/init.sh to
19900         properly signal a hard error was the `framework_failure_'
19901         function.  But the error message issued by that function,
19902         as its name would suggest, refers to a set-up failure in the
19903         testsuite, while hard errors can obviously also be due to
19904         other reasons.  The best way to fix this inconsistency is to
19905         introduce a new function with a more general error message.
19906         * tests/init.sh (fatal_): New function.
19907
19908 2011-06-06  Eric Blake  <eblake@redhat.com>
19909
19910         canonicalize-lgpl: use common idiom
19911         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19912         over newer POSIX -Rf.
19913         Reported by Bruno Haible.
19914
19915         canonicalize-lgpl: work around AIX realpath bug
19916         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19917         * doc/posix-functions/realpath.texi (realpath): Document it.
19918         Reported by Bruno Haible.
19919
19920         strerror: work around FreeBSD bug
19921         * lib/strerror.c (strerror): Special case 0.
19922         Reported by Bruno Haible.
19923
19924         strerror-override: avoid bloating errno module
19925         * modules/errno (Files, configure.ac): Move replacement strings...
19926         * modules/strerror-override: ...to new module.
19927         * modules/strerror (Depends-on): Add strerror-override.
19928         * modules/strerror_r-posix (Depends-on): Likewise.
19929         * MODULES.html.sh: Document new module.
19930         Reported by Bruno Haible.
19931
19932 2011-06-06  Bruno Haible  <bruno@clisp.org>
19933
19934         spawn-pipe tests: Rename program.
19935         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19936         * tests/test-spawn-pipe-child.c: Update comment.
19937         * tests/test-spawn-pipe.sh: Update.
19938         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19939
19940         spawn-pipe tests: Link the child program only against libc.
19941         * tests/test-spawn-pipe-child.c: New file, extracted from
19942         tests/test-spawn-pipe.c.
19943         (main): Expect only one argument.
19944         (is_open): New function, copied from tests/test-pipe.c.
19945         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19946         (child_main): Remove function.
19947         (test_pipe): Pass only one argument to the child program.
19948         (main): Remove child process code. Expect the child program's name as
19949         first argument.
19950         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19951         argument.
19952         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19953         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19954         test-spawn-pipe-child against no libraries.
19955
19956 2011-06-06  Bruno Haible  <bruno@clisp.org>
19957
19958         careadlinkat: Avoid mismatch between ssize_t and int.
19959         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19960         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19961
19962 2011-06-06  Jim Meyering  <meyering@redhat.com>
19963
19964         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19965         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19966         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19967
19968 2011-06-05  Bruno Haible  <bruno@clisp.org>
19969
19970         ansi-c++-opt: Interoperability with libtool.
19971         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19972         set the variable to "no", not to ":".
19973         * NEWS: Mention the change.
19974
19975 2011-06-05  Bruno Haible  <bruno@clisp.org>
19976
19977         acl: Fix test failure on AIX 7.
19978         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19979         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19980
19981 2011-06-05  Bruno Haible  <bruno@clisp.org>
19982
19983         pipe-filter-ii: Fix test failure on AIX and IRIX.
19984         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19985         with EAGAIN, retry with a smaller buffer size.
19986
19987 2011-06-05  Bruno Haible  <bruno@clisp.org>
19988
19989         localename: Fix link dependencies.
19990         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19991         * modules/localename-tests (Makefile.am): Link test-localename with
19992         $(LIBTHREAD).
19993
19994 2011-06-05  Bruno Haible  <bruno@clisp.org>
19995
19996         error: Avoid gcc warning.
19997         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19998
19999 2011-06-05  Bruno Haible  <bruno@clisp.org>
20000
20001         unsetenv: Avoid gcc warning.
20002         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
20003
20004 2011-06-05  Bruno Haible  <bruno@clisp.org>
20005
20006         setenv: Avoid gcc warning.
20007         * lib/setenv.c (setenv): Provide declaration if system lacks it.
20008
20009 2011-06-05  Bruno Haible  <bruno@clisp.org>
20010
20011         sys_select: Ensure memset is declared also on AIX 7.
20012         * lib/sys_select.in.h: Include <string.h> also on AIX.
20013         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
20014         self-contained also on AIX 7.1.
20015
20016 2011-06-04  Jim Meyering  <meyering@redhat.com>
20017
20018         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
20019         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
20020         function name, "error".
20021         (_gl_translatable_diag_func_re): New configurable variable.
20022
20023 2011-06-04  Bruno Haible  <bruno@clisp.org>
20024
20025         getopt: Avoid gcc warning.
20026         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
20027
20028 2011-06-04  Bruno Haible  <bruno@clisp.org>
20029
20030         strerror_r: Fix comments.
20031         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
20032         commit.
20033
20034 2011-06-04  Bruno Haible  <bruno@clisp.org>
20035
20036         perror: Fix compilation error.
20037         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
20038         Undefine fprintf, not sprintf.
20039         * modules/perror (Depends-on): Remove intprops, verify.
20040
20041 2011-06-04  Bruno Haible  <bruno@clisp.org>
20042
20043         setlocale: Enable replacement on Cygwin 1.5.
20044         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
20045         Cygwin 1.5.x.
20046         * doc/posix-functions/setlocale.texi: Mention that the problem with the
20047         LC_CTYPE category also exists on Cygwin 1.5.x.
20048
20049 2011-06-04  Bruno Haible  <bruno@clisp.org>
20050
20051         strerror-override: Don't disable symbol renamings.
20052         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
20053         * lib/strerror-override.c: Include config.h.
20054         (strerror_override): Don't undefine.
20055
20056 2011-06-03  Bruno Haible  <bruno@clisp.org>
20057
20058         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
20059         * lib/localename.h: Update copyright header.
20060         * lib/localename.c: Likewise.
20061         * lib/relocatable.h: Likewise.
20062         * lib/relocatable.c: Likewise.
20063
20064 2011-06-02  Bruno Haible  <bruno@clisp.org>
20065
20066         doc: Fix a module name.
20067         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
20068
20069 2011-06-02  Bruno Haible  <bruno@clisp.org>
20070
20071         pipe2: Remove dependency on 'nonblocking' module.
20072         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
20073         O_NONBLOCK is defined by gnulib.
20074         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
20075         is zero.
20076         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
20077         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
20078         defined by gnulib.
20079         (get_nonblocking_flag): New function.
20080         (main): Test O_NONBLOCK flag only if it is nonzero.
20081         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
20082
20083 2011-06-03  Jim Meyering  <meyering@redhat.com>
20084
20085         maint: three new prohibit-header-without-use rules
20086         Prohibit use of cloexec.h, posixver.h, same.h without use.
20087         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
20088         (sc_prohibit_posixver_without_use): Likewise.
20089         (sc_prohibit_same_without_use): Likewise.
20090
20091 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20092
20093         allocator: 'die' routine is now given requested size
20094         * lib/allocator.h (struct allocator.die): New size arg.
20095         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
20096         If the actual problem is an ssize_t limitation, not a size_t or
20097         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
20098
20099 2011-06-01  Eric Blake  <eblake@redhat.com>
20100
20101         strerror: drop strerror_r dependency
20102         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
20103         * lib/strerror-override.c (strerror_override): ...to new file.
20104         * lib/strerror-override.h: Add prototype.
20105         * lib/strerror-impl.h: Delete.
20106         * lib/strerror.c (strerror): New implementation.
20107         * modules/errno (Files): Add new files.
20108         (configure.ac): Compile new file as appropriate.
20109         * modules/strerror (Files): Drop unused file.
20110         (Depends-on): Drop strerror_r-posix.
20111         * MODULES.html.sh: Document strerror_r-posix.
20112         Requested by Sam Steingold.
20113
20114         perror: call strerror_r directly
20115         * modules/perror (Files): Drop strerror-impl.h.
20116         * lib/perror.c (perror): Use our own stack buffer, rather than
20117         calling a wrapper that uses static storage.
20118         * doc/posix-functions/perror.texi (perror): Document a limitation
20119         of our replacement.
20120
20121         strerror_r: fix includes for FreeBSD
20122         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
20123         since we use abort on some platforms.
20124         Reported by Matthias Bolte.
20125
20126 2011-05-31  Bruno Haible  <bruno@clisp.org>
20127
20128         Fix link errors in tests: openat-die uses gettext-h.
20129         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
20130         against $(LIBINTL).
20131         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
20132         against $(LIBINTL).
20133         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
20134         $(LIBINTL).
20135         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
20136         against $(LIBINTL).
20137         * modules/linkat-tests (Makefile.am): Link test-linkat against
20138         $(LIBINTL).
20139         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
20140         $(LIBINTL).
20141         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
20142         against $(LIBINTL).
20143         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
20144         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
20145         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
20146         $(LIBINTL).
20147         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
20148         $(LIBINTL).
20149         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
20150         $(LIBINTL).
20151         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20152
20153 2011-05-31  Bruno Haible  <bruno@clisp.org>
20154
20155         Fix link errors in tests: wait-process uses gettext-h.
20156         * modules/nonblocking-pipe-tests (Makefile.am): Set
20157         test_nonblocking_pipe_main_LDADD.
20158         * modules/nonblocking-socket-tests (Makefile.am): Link
20159         test-nonblocking-socket-main against $(LIBINTL).
20160         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20161
20162 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20163
20164         assert-h: work around 'verify' incompatibility
20165         * lib/verify.h: Use @...@ directives, not ifdef.
20166         * modules/assert-h (assert.h): Implement the directives.
20167         (assert.h): Substitute the symbol-prefix more consistently.
20168
20169 2011-05-29  Jim Meyering  <meyering@redhat.com>
20170
20171         trim: remove three superfluous assignments
20172         * lib/trim.c (trim2): Remove three superfluous assignments
20173         and correct brace positioning.
20174
20175 2011-05-29  Bruno Haible  <bruno@clisp.org>
20176
20177         wctype-h: Avoid namespace pollution on Solaris 2.6.
20178         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
20179         identifiers.
20180         * doc/posix-headers/wctype.texi: Mention the problem.
20181         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20182
20183 2011-05-28  Jim Meyering  <meyering@redhat.com>
20184
20185         parse-datetime.y: accommodate -Wstrict-overflow
20186         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
20187         placate -Wstrict-overflow.
20188
20189         trim: avoid a warning from -O2 -Wstrict-overflow
20190         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
20191
20192 2011-05-29  Bruno Haible  <bruno@clisp.org>
20193
20194         gnulib-tool: Fix bug in yesterday's commit.
20195         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
20196         twice.
20197
20198 2011-05-29  Bruno Haible  <bruno@clisp.org>
20199
20200         Allow multiple gnulib generated include files to be combined.
20201         * gnulib-tool (func_compute_include_guard_prefix): New function.
20202         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
20203         ${gl_include_guard_prefix} references.
20204         (func_import, func_create_testdir): Invoke
20205         func_compute_include_guard_prefix.
20206         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
20207         * lib/ctype.in.h: Likewise.
20208         * lib/dirent.in.h: Likewise.
20209         * lib/errno.in.h: Likewise.
20210         * lib/fcntl.in.h: Likewise.
20211         * lib/float.in.h: Likewise.
20212         * lib/getopt.in.h: Likewise.
20213         * lib/iconv.in.h: Likewise.
20214         * lib/langinfo.in.h: Likewise.
20215         * lib/locale.in.h: Likewise.
20216         * lib/math.in.h: Likewise.
20217         * lib/netdb.in.h: Likewise.
20218         * lib/netinet_in.in.h: Likewise.
20219         * lib/poll.in.h: Likewise.
20220         * lib/pthread.in.h: Likewise.
20221         * lib/pty.in.h: Likewise.
20222         * lib/sched.in.h: Likewise.
20223         * lib/se-selinux.in.h: Likewise.
20224         * lib/search.in.h: Likewise.
20225         * lib/signal.in.h: Likewise.
20226         * lib/spawn.in.h: Likewise.
20227         * lib/stdarg.in.h: Likewise.
20228         * lib/stddef.in.h: Likewise.
20229         * lib/stdint.in.h: Likewise.
20230         * lib/stdio.in.h: Likewise.
20231         * lib/stdlib.in.h: Likewise.
20232         * lib/string.in.h: Likewise.
20233         * lib/strings.in.h: Likewise.
20234         * lib/sys_file.in.h: Likewise.
20235         * lib/sys_ioctl.in.h: Likewise.
20236         * lib/sys_select.in.h: Likewise.
20237         * lib/sys_socket.in.h: Likewise.
20238         * lib/sys_stat.in.h: Likewise.
20239         * lib/sys_time.in.h: Likewise.
20240         * lib/sys_times.in.h: Likewise.
20241         * lib/sys_uio.in.h: Likewise.
20242         * lib/sys_utsname.in.h: Likewise.
20243         * lib/sys_wait.in.h: Likewise.
20244         * lib/sysexits.in.h: Likewise.
20245         * lib/termios.in.h: Likewise.
20246         * lib/time.in.h: Likewise.
20247         * lib/unistd.in.h: Likewise.
20248         * lib/wchar.in.h: Likewise.
20249         * lib/wctype.in.h: Likewise.
20250         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
20251         * modules/ctype (Makefile.am): Likewise.
20252         * modules/dirent (Makefile.am): Likewise.
20253         * modules/errno (Makefile.am): Likewise.
20254         * modules/fcntl-h (Makefile.am): Likewise.
20255         * modules/float (Makefile.am): Likewise.
20256         * modules/getopt-posix (Makefile.am): Likewise.
20257         * modules/iconv-h (Makefile.am): Likewise.
20258         * modules/langinfo (Makefile.am): Likewise.
20259         * modules/locale (Makefile.am): Likewise.
20260         * modules/math (Makefile.am): Likewise.
20261         * modules/netdb (Makefile.am): Likewise.
20262         * modules/netinet_in (Makefile.am): Likewise.
20263         * modules/poll-h (Makefile.am): Likewise.
20264         * modules/pthread (Makefile.am): Likewise.
20265         * modules/pty (Makefile.am): Likewise.
20266         * modules/sched (Makefile.am): Likewise.
20267         * modules/search (Makefile.am): Likewise.
20268         * modules/selinux-h (Makefile.am): Likewise.
20269         * modules/signal (Makefile.am): Likewise.
20270         * modules/spawn (Makefile.am): Likewise.
20271         * modules/stdarg (Makefile.am): Likewise.
20272         * modules/stddef (Makefile.am): Likewise.
20273         * modules/stdint (Makefile.am): Likewise.
20274         * modules/stdio (Makefile.am): Likewise.
20275         * modules/stdlib (Makefile.am): Likewise.
20276         * modules/string (Makefile.am): Likewise.
20277         * modules/strings (Makefile.am): Likewise.
20278         * modules/sys_file (Makefile.am): Likewise.
20279         * modules/sys_ioctl (Makefile.am): Likewise.
20280         * modules/sys_select (Makefile.am): Likewise.
20281         * modules/sys_socket (Makefile.am): Likewise.
20282         * modules/sys_stat (Makefile.am): Likewise.
20283         * modules/sys_time (Makefile.am): Likewise.
20284         * modules/sys_times (Makefile.am): Likewise.
20285         * modules/sys_uio (Makefile.am): Likewise.
20286         * modules/sys_utsname (Makefile.am): Likewise.
20287         * modules/sys_wait (Makefile.am): Likewise.
20288         * modules/sysexits (Makefile.am): Likewise.
20289         * modules/termios (Makefile.am): Likewise.
20290         * modules/time (Makefile.am): Likewise.
20291         * modules/unistd (Makefile.am): Likewise.
20292         * modules/wchar (Makefile.am): Likewise.
20293         * modules/wctype-h (Makefile.am): Likewise.
20294         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
20295
20296 2011-05-29  Bruno Haible  <bruno@clisp.org>
20297
20298         assert-h: Allow multiple gnulib generated replacements to coexist.
20299         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
20300
20301 2011-05-29  Bruno Haible  <bruno@clisp.org>
20302
20303         argp: Allow coexistence with strerror_r-posix module.
20304         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
20305         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
20306         by gnulib's <string.h> replacement), assume it has the POSIX signature,
20307         not the glibc signature.
20308
20309 2011-05-28  Bruno Haible  <bruno@clisp.org>
20310
20311         gnulib-tool: Alternative structure of testdirs, similar to --import.
20312         * gnulib-tool: New option --single-configure.
20313         (func_usage): Document it.
20314         (single_configure): New variable.
20315         (func_modules_transitive_closure_separately,
20316         func_modules_transitive_closure_separately,
20317         func_determine_use_libtests, func_modules_add_dummy_separately,
20318         func_modules_to_filelist_separately): New functions, extracted from
20319         func_import.
20320         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
20321         (func_import): Use the new functions.
20322         (func_create_testdir): Set final_modules. Handle $single_configure =
20323         true case.
20324
20325 2011-05-28  Bruno Haible  <bruno@clisp.org>
20326
20327         getloadavg: Remove an unreliable safety check.
20328         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
20329         getloadavg.c is in place.
20330         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
20331         Reported by Sam Steingold <sds@gnu.org>.
20332
20333 2011-05-28  Bruno Haible  <bruno@clisp.org>
20334
20335         doc: Cleanup yet another file produced by texinfo.tex.
20336         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
20337
20338 2011-05-28  Bruno Haible  <bruno@clisp.org>
20339
20340         Finish the conditional dependencies mechanism.
20341         * gnulib-tool: New option --no-conditional-dependencies.
20342         (func_usage): Document it. Don't mark --conditional-dependencies as
20343         experimental.
20344         (cond_dependencies): The possible values can now be true, false, empty.
20345         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
20346         (func_import): Store setting in gnulib-cache.m4 and read it from there.
20347         * doc/gnulib-tool.texi (Conditional dependencies): New section.
20348
20349 2011-05-28  Bruno Haible  <bruno@clisp.org>
20350
20351         doc: Use a recent texinfo.tex.
20352         * doc/Makefile (tex_opts): New variable.
20353         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
20354
20355 2011-05-28  Jim Meyering  <meyering@redhat.com>
20356
20357         intprops.h: adjust comment to match code change
20358         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
20359         only once, it *may* have side effects.  Also fix an unrelated typo.
20360         (_GL_INT_SIGNED): Likewise.
20361
20362 2011-05-26  Simon Josefsson  <simon@josefsson.org>
20363
20364         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
20365
20366 2011-05-26  Bruno Haible  <bruno@clisp.org>
20367
20368         mbsrchr: Avoid collision with system function on Interix.
20369         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
20370         Reported by Markus Duft <mduft@gentoo.org>.
20371
20372 2011-05-15  James Youngman  <jay@gnu.org>
20373
20374         getopt: for ambiguous options, enumerate the possibilities.
20375         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
20376         the ambiguous options when an ambiguous prefix is given. This was
20377         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
20378         glibc change was
20379         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
20380
20381 2011-05-25  Eric Blake  <eblake@redhat.com>
20382
20383         getcwd: work around mingw bug
20384         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
20385         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20386         Reported by Matthias Bolte.
20387
20388 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20389
20390         test-intprops: disable -Wtype-limits diagnostics
20391         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
20392         diagnostics.  Otherwise, the integer overflow macros generate many
20393         diagnostics.  Reported by Jim Meyering in
20394         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20395
20396         intprops: shorten, to pacify gcc -Woverlength-strings
20397         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
20398         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
20399         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
20400         likely to run afoul of C compiler limits for string constant lengths.
20401         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20402
20403 2011-05-24  Eric Blake  <eblake@redhat.com>
20404
20405         docs: document recently fixed glibc printf bug
20406         * doc/posix-functions/fprintf.texi (fprintf): Document it.
20407         * doc/posix-functions/printf.texi (printf): Likewise.
20408         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20409         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20410
20411         closein-tests: convert to init.sh
20412         * modules/closein-tests (Files): Add init.sh
20413         * tests/test-closein.sh Use it.
20414
20415         yesno-tests: convert to init.sh
20416         * modules/yesno-tests (Files): Add init.sh.
20417         * tests/test-yesno.sh: Use it.
20418
20419         atexit-tests: ensure reliable exit status
20420         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
20421         Reported by Bruno Haible.
20422
20423 2011-05-24  Bruno Haible  <bruno@clisp.org>
20424
20425         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
20426         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
20427         gl_PREREQ_STRERROR_R invocations from here...
20428         * modules/strerror_r-posix (configure.ac): ... to here.
20429
20430 2011-05-24  Eric Blake  <eblake@redhat.com>
20431
20432         strerror_r: fix missing header
20433         * lib/strerror_r.c: Avoid compiler warning about snprintf.
20434
20435         strerror_r: fix AIX test failures
20436         * lib/strerror_r.c (strerror_r): Convert silent truncation to
20437         ERANGE failure.
20438
20439         strerror_r: fix Solaris test failures
20440         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
20441         failures.
20442         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20443
20444         strerror_r: enforce POSIX recommendations
20445         * lib/strerror_r.c (safe_copy): New helper method.
20446         (strerror_r): Guarantee a non-empty string.
20447         * tests/test-strerror_r.c (main): Enhance tests to incorporate
20448         recent POSIX rulings and to match our strerror guarantees.
20449         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20450
20451 2011-05-24  Jim Meyering  <meyering@redhat.com>
20452
20453         test-perror2.c: avoid warning about unused variable
20454         * tests/test-perror2.c (main): Remove declaration of unused "fp".
20455
20456 2011-05-24  Eric Blake  <eblake@redhat.com>
20457
20458         perror: avoid spurious test failure on HP-UX
20459         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20460
20461         tests: fix logic bug in init.sh
20462         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20463         shell.
20464
20465 2011-05-24  Jim Meyering  <meyering@redhat.com>
20466
20467         utimensat: do not reference an out-of-scope buffer
20468         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20469         declared in an inner scope, yet "times" would be dereferenced outside
20470         the scope in which "ts" was valid.
20471         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20472         of ts[2] "out/up", so that the use of aliased "times" (via
20473         "times = ts;") does not end up referencing an out-of-scope "ts"
20474
20475         opendir-safer.c: don't clobber errno; don't close negative FD
20476         * lib/opendir-safer.c (opendir_safer):
20477         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20478         file descriptor, and more importantly, don't clobber the
20479         offending errno value with EINVAL.  Before, upon failure
20480         of dup_safer, we would pass the negative file descriptor to
20481         fdopendir, which would clobber errno.
20482
20483 2011-05-23  Bruno Haible  <bruno@clisp.org>
20484
20485         idcache: Fix module description.
20486         * modules/idcache (Include): Set to "idcache.h".
20487
20488 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20489
20490         gnulib-tool: fix portability problem with MacOS sed
20491         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20492         before the "}".  Problem reported by Leo in
20493         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20494         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20495         sed_extract_condition1, sed_extract_condition2.
20496
20497 2011-05-23  Bruno Haible  <bruno@clisp.org>
20498
20499         hash: Simplify autoconf macro.
20500         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20501
20502 2011-05-23  Bruno Haible  <bruno@clisp.org>
20503
20504         getugroups: Fix module description.
20505         * modules/getugroups (Include): Set to "getugroups.h".
20506
20507 2011-05-23  Bruno Haible  <bruno@clisp.org>
20508
20509         linkat: Simplify autoconf macro.
20510         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20511
20512 2011-05-23  Bruno Haible  <bruno@clisp.org>
20513             Eric Blake  <eblake@redhat.com>
20514
20515         linkat, renameat: Update dependencies.
20516         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20517         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20518         symlinkat.
20519
20520 2011-05-23  Jim Meyering  <meyering@redhat.com>
20521
20522         maint.mk: more tight_scope improvements
20523         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20524         (_gl_TS_headers): Define only in if-0'd block.
20525         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20526         sometimes we must *not* use it.  Adjust uses accordingly.
20527         (sc_tight_scope): Use much simpler grep-based test to determine
20528         whether we skip this rule.
20529
20530         maint.mk: generalize/improve the tight-scope rule
20531         * top/maint.mk: Emit a warning when the test is skipped.
20532         (_gl_TS_dir): Add $(srcdir)/ prefix.
20533         (_gl_TS_function_match): Simplify, rather than trying
20534         to enumerate common types.  Otherwise, it would fail to match an
20535         "extern unsigned char const *" declaration in idutils.
20536         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20537         a way to support use of that type of macro.
20538         (_gl_TS_var_match): Simplify regexp.
20539         (_gl_TS_obj_files): New configurable variable.
20540         (_gl_TS_headers): Likewise.
20541
20542 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20543
20544         verify: fix bug when gnulib <assert.h> is also included
20545         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20546         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20547         Perhaps there's a better way, but this fixes the immediate problem.
20548         Problem reported by Bruno Haible in
20549         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20550
20551 2011-05-22  Bruno Haible  <bruno@clisp.org>
20552
20553         xgetcwd: Simplify autoconf macro.
20554         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20555
20556 2011-05-22  Bruno Haible  <bruno@clisp.org>
20557
20558         New module 'mktime-internal'.
20559         * modules/mktime-internal: New file.
20560         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20561         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20562         mktime_internal as a C macro if libc has __mktime_internal.
20563         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20564         conditions.
20565         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20566
20567 2011-05-22  Bruno Haible  <bruno@clisp.org>
20568
20569         timegm: Correct mktime replacement statements.
20570         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20571         defining mktime as a C macro. This completes a 2009-07-28 commit.
20572
20573 2011-05-22  Bruno Haible  <bruno@clisp.org>
20574
20575         timegm: Simplify autoconf macro.
20576         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20577
20578 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20579
20580         clock-time: change to LGPLv2+.
20581         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20582         BSD-like but we have no mark for that; this is good enough for now.
20583
20584 2011-05-21  Bruno Haible  <bruno@clisp.org>
20585
20586         strerror_r: Fix comments.
20587         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20588
20589 2011-05-21  Bruno Haible  <bruno@clisp.org>
20590
20591         relocatable-prog-wrapper: Fix possible link error.
20592         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20593         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20594         (gl_FUNC_SETENV): ... to here.
20595         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20596         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20597
20598 2011-05-21  Bruno Haible  <bruno@clisp.org>
20599
20600         relocatable-prog-wrapper: Assume strerror() exists.
20601         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20602         m4/strerror.m4.
20603         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20604         * lib/relocwrapper.c: Remove mention of strerror module.
20605         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20606         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20607         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20608         C macro.
20609
20610 2011-05-21  Bruno Haible  <bruno@clisp.org>
20611
20612         select: Simplify replacement idiom.
20613         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20614         Win32 platforms.
20615         * lib/sys_select.in.h (select): Simplify accordingly.
20616         * modules/select (Depends-on): Likewise.
20617
20618 2011-05-21  Bruno Haible  <bruno@clisp.org>
20619
20620         mkdir-p: Simplify autoconf macro.
20621         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20622         gl_FUNC_LCHOWN.
20623
20624 2011-05-21  Eric Blake  <eblake@redhat.com>
20625
20626         strerror_r: avoid clobbering strerror on cygwin
20627         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20628         fall back instead to sys_errlist.
20629         * modules/strerror (configure.ac): Add witness.
20630         * tests/test-strerror_r.c (main): Enhance test.
20631         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20632         * tests/test-perror2.c (main): Free memory before exit.
20633
20634 2011-05-21  Bruno Haible  <bruno@clisp.org>
20635
20636         mkdtemp: Use gnulib naming conventions.
20637         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20638         * modules/mkdtemp (configure.ac): Update.
20639
20640 2011-05-20  Eric Blake  <eblake@redhat.com>
20641
20642         strerror_r: avoid corrupting errno on Solaris
20643         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20644         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20645
20646         strerror_r: avoid compiler warning
20647         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20648
20649         strerror_r: simplify AIX code
20650         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20651
20652         test-perror: avoid spurious failure on FreeBSD
20653         * modules/perror-tests (Depends-on): Add strerror, now that
20654         strerror_r no longer pulls it in.
20655
20656 2011-05-20  Bruno Haible  <bruno@clisp.org>
20657
20658         strerror_r-posix: Remove unused dependencies.
20659         * modules/strerror_r-posix (Depends-on): Remove strerror.
20660         Reported by Eric Blake.
20661
20662 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20663
20664         intprops: remove assumption about A|B representation
20665         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20666         is a valid integer if both A and B are.  Although this is true for
20667         all known practical hosts, the C standard doesn't guarantee it,
20668         and the code need not assume it.  Also, this change may work around
20669         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20670         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20671
20672 2011-05-20  Eric Blake  <eblake@redhat.com>
20673
20674         perror: work around FreeBSD bug
20675         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20676         is broken.  Move AC_LIBOBJ...
20677         * modules/perror (configure.ac): Here.
20678         * doc/posix-functions/perror.texi (perror): Document this.
20679         * tests/test-perror2.c (main): Enhance test.
20680
20681         test-perror: check for strerror interactions
20682         * tests/macros.h (STREQ): Add macro.
20683         * modules/perror-tests (Files): Add second test.
20684         * tests/test-perror2.c (main): New file.
20685         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20686
20687         test-perror: rewrite to use init script
20688         * modules/perror-tests (Files): Add init.sh.
20689         * tests/test-perror.sh: Use temporary directory.
20690
20691 2011-05-20  Jim Meyering  <meyering@redhat.com>
20692
20693         maint: replace misused "a" with "an"
20694         * doc/intprops.texi: "a integer"
20695         * doc/regex.texi: "a explanation"
20696         * lib/alignof.h: "a object"
20697         * lib/argmatch.h: "a explanation"
20698         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20699         * lib/stdint.in.h: "a integer"
20700         * lib/userspec.c: "a owner"
20701         * doc/gnulib.texi: Fix "a idea", and reword.
20702
20703 2011-05-19  Jim Meyering  <meyering@redhat.com>
20704
20705         maint: correct misuse of "a" and "an"
20706         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20707         * lib/argp-help.c: "an docum...": s/an/a/
20708         * lib/argp-parse.c: "An vector": s/An/A/
20709         * lib/execute.c: "an native": s/an/a/
20710         * lib/spawn-pipe.c: Likewise.
20711         * lib/gc.h: "an Gc_rc": s/an/a/
20712         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20713         * lib/fts.c: "an stat.st_dev": s/an/a/
20714
20715 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20716
20717         intprops-tests: work around HP-UX 11.23 cc bug with constants
20718         * tests/test-intprops.c (VERIFY): New macro.
20719         (main): Use it, instead of verify, to work around the compiler bug; see
20720         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20721
20722         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20723         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20724         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20725         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20726         (_GL_REMAINDER_OVERFLOW): Use it.
20727
20728         intprops-tests: revert unsigned part of previous change
20729         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20730         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20731         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20732         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20733
20734 2011-05-19  Bruno Haible  <bruno@clisp.org>
20735
20736         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20737         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20738         strerror_r() returned without filling the buffer.
20739         Reported by Eric Blake.
20740
20741 2011-05-19  Eric Blake  <eblake@redhat.com>
20742
20743         strerror_r: guarantee unchanged errno
20744         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20745         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20746         failure.
20747         * tests/test-strerror_r.c (main): Enhance test.
20748
20749 2011-05-19  Bruno Haible  <bruno@clisp.org>
20750
20751         strerror_r: Reorder #if blocks.
20752         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20753         for consistency with the previous commit.
20754
20755 2011-05-19  Bruno Haible  <bruno@clisp.org>
20756
20757         perror: Avoid clobbering the strerror buffer when possible.
20758         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20759         * lib/strerror.c: Include it.
20760         * modules/strerror (Files): Add lib/strerror-impl.h.
20761         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20762         (my_strerror): New function, defined through lib/strerror-impl.h.
20763         (perror): Use it instead of strerror.
20764         * modules/perror (Files): Add lib/strerror-impl.h.
20765         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20766
20767 2011-05-19  Eric Blake  <eblake@redhat.com>
20768
20769         strerror_r: fix on newer cygwin
20770         * lib/strerror_r.c (strerror_r): Cygwin now has
20771         __xpg_strerror_r, use it.
20772
20773 2011-05-19  Bruno Haible  <bruno@clisp.org>
20774
20775         strerror_r: Avoid clobbering the strerror buffer when possible.
20776         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20777         (sys_nerr, sys_errlist): New declarations.
20778         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20779         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20780         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20781
20782 2011-05-19  Bruno Haible  <bruno@clisp.org>
20783
20784         strerror_r: Fix test failure on mingw.
20785         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20786         EXTEND_STRERROR_R.
20787         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20788         macros from errno.in.h instead.
20789
20790 2011-05-19  Eric Blake  <eblake@redhat.com>
20791
20792         strerror: relax test for Solaris
20793         * tests/test-strerror.c (main): Permit Solaris behavior.
20794         * tests/test-strerror_r.c (main): Likewise.
20795
20796         strerror: enforce POSIX ruling on strerror(0)
20797         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20798         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20799         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20800         * doc/posix-functions/strerror.texi (strerror): Document it.
20801         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20802         * tests/test-strerror.c (main): Strengthen test.
20803         * tests/test-strerror_r.c (main): Likewise.
20804
20805 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20806
20807         intprop-tests: port to older and more-pedantic compilers
20808         * modules/intprops-tests (Files): Add tests/macros.h.
20809         * tests/test-intprops.c: Include macros.h.
20810         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20811         it's no longer documented to expand to an integer constant expression.
20812         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20813         argument is floating point, as it's no longer documented to expand
20814         to an integer constant expression in that case.
20815         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20816         compiler bugs reported by Bruno Haible.  See
20817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20818         (U0, U1): New constants, to work around the same bugs.  Also,
20819         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20820
20821         intprops: work around C compiler bugs
20822         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20823         bug in Sun C 5.11 2010/08/13 and other compilers; see
20824         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20825
20826         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20827         * doc/intprops.texi (Integer Type Determination): Fix
20828         documentation for TYPE_IS_INTEGER: it returns an constant
20829         expression, not an integer constant expression.  Fix doc for
20830         TYPE_SIGNED: it returns an integer constant expression only if its
20831         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20832         hardly worth documented that way....)
20833
20834 2011-05-18  Bruno Haible  <bruno@clisp.org>
20835
20836         strerror_r: Avoid clobbering the strerror buffer when possible.
20837         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20838         Handle gnulib defined errno values here. When strerror() returns NULL
20839         or an empty string, return EINVAL.
20840         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20841         gnulib defined errno values here.
20842         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20843
20844 2011-05-18  Eric Blake  <eblake@redhat.com>
20845
20846         fnmatch: avoid compiler warning
20847         * lib/fnmatch_loop.c (FCT): Use correct type.
20848         Reported by Matthias Bolte.
20849
20850 2011-05-13  Jim Meyering  <meyering@redhat.com>
20851
20852         maint.mk: three new prohibit_<HDR>_without_use rules
20853         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20854         (sc_prohibit_stdio-safer_without_use): Likewise.
20855         (sc_prohibit_xfreopen_without_use): Likewise.
20856
20857 2011-05-17  Jim Meyering  <meyering@redhat.com>
20858
20859         announce-gen: fail if the NEWS delta is empty
20860         If there's nothing noteworthy in NEWS, then either you forgot
20861         or you shouldn't be releasing.
20862         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20863
20864 2011-05-17  Pádraig Brady <P@draigBrady.com>
20865
20866         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20867         reserved symbols starting with double underscore from the check.
20868
20869 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20870
20871         intprops: add doc
20872         * doc/intprops.texi: New file, documenting intprops.
20873         * doc/gnulib.texi (Particular Modules): Include it.
20874
20875         verify: add doc to gnulib manual and fix example
20876         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20877         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20878         (Compile-time Assertions): Fix example so it can't overflow.
20879
20880 2011-05-17  Jim Meyering  <meyering@redhat.com>
20881
20882         warnings.m4: don't usurp save_CPPFLAGS variable name
20883         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20884
20885         doc: fix typo
20886         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20887
20888 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20889             Bruno Haible  <bruno@clisp.org>
20890
20891         doc: Tweak recent change.
20892         * README (Portability guidelines): Tweak new text.
20893         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20894         Interix 6.1.
20895
20896 2011-05-16  Eric Blake  <eblake@redhat.com>
20897
20898         inttypes: avoid autoconf warning
20899         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20900         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20901
20902 2011-05-16  Sam Steingold <sds@gnu.org>
20903         and Eric Blake  <eblake@redhat.com>
20904
20905         vc-list-files: accept multiple directory operands
20906         * build-aux/vc-list-files: Iterate over all remaining operands.
20907
20908 2011-05-16  Bruno Haible  <bruno@clisp.org>
20909
20910         Fix confusion regarding deprecated modules.
20911         * modules/calloc (Status, Notice): Mark module as deprecated, not
20912         obsolete.
20913         * modules/fnmatch-posix (Status, Notice): Likewise.
20914         * modules/getdate (Status, Notice): Likewise.
20915         * modules/getopt (Status, Notice): Likewise.
20916         * modules/malloc (Status, Notice): Likewise.
20917         * modules/pipe (Status, Notice): Likewise.
20918         * modules/realloc (Status, Notice): Likewise.
20919         * modules/rename-dest-slash (Status, Notice): Likewise.
20920         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20921         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20922         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20923         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20924         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20925
20926 2011-05-16  Bruno Haible  <bruno@clisp.org>
20927
20928         doc: List the target platforms.
20929         * doc/gnulib-intro.texi (Target Platforms): New section.
20930         * doc/gnulib.texi (Introduction): Update menu.
20931         * README (Portability guidelines): Refer to the new section. Update
20932         statement about oldest supported environment. Remove rationale why
20933         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20934         unportable C89 function.
20935         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20936         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20937
20938 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20939
20940         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20941
20942 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20943
20944         intprops-tests: new module
20945         * modules/intprops-tests, tests/test-intprops.c: New files.
20946
20947         intprops: add safe, portable integer overflow checking
20948         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20949         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20950         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20951         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20952         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20953         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20954         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20955         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20956         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20957         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20958         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20959
20960 2011-05-12  James Youngman  <jay@gnu.org>
20961
20962         Add a test for glibc's Bugzilla bug #12378.
20963         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20964         doesn't allow the literal matching of a lone "[" (which is
20965         required by POSIX).
20966         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20967
20968 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20969
20970         Sync glibc change fixing Bugzilla bug #12378.
20971         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20972         beginning and fall back to matching as normal character if the
20973         string ends before the matching ']' is found.  This is what POSIX
20974         requires.
20975
20976 2011-05-13  Eric Blake  <eblake@redhat.com>
20977
20978         getcwd-lgpl: relax test for FreeBSD
20979         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20980         issue.
20981         * tests/test-getcwd-lgpl.c (main): Relax test.
20982         Reported by Matthias Bolte.
20983
20984 2011-05-11  Eric Blake  <eblake@redhat.com>
20985
20986         test-fflush: silence compiler warning
20987         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20988
20989 2011-05-11  Bruno Haible  <bruno@clisp.org>
20990
20991         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20992         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20993         * modules/canonicalize (Depends-on): Add 'nocrash'.
20994         * modules/canonicalize-lgpl (Depends-on): Likewise.
20995         * doc/posix-functions/realpath.texi: Update platforms list.
20996         Reported by Ryan Schmidt <ryandesign@macports.org>.
20997
20998 2011-05-11  Bruno Haible  <bruno@clisp.org>
20999
21000         group-member: Declare function in <unistd.h>.
21001         * lib/unistd.in.h (group_member): New declaration.
21002         * lib/group-member.h: Remove file.
21003         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
21004         * tests/test-unistd-c++.cc: Check signature of group_member.
21005         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
21006         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
21007         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
21008         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
21009         HAVE_GROUP_MEMBER.
21010         * modules/group-member (Files): Remove lib/group-member.h.
21011         (Depends-on): Add unistd. Specify conditions.
21012         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21013         (Include): Change to <unistd.h>.
21014         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
21015         HAVE_GROUP_MEMBER.
21016         * NEWS: Mention the change.
21017         * lib/euidaccess.c: Don't include group-member.h.
21018
21019 2011-05-11  Bruno Haible  <bruno@clisp.org>
21020
21021         group-member: Document module.
21022         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
21023         module.
21024
21025 2011-05-11  Bruno Haible  <bruno@clisp.org>
21026
21027         fclose: Fix mistake earlier today.
21028         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
21029
21030 2011-05-11  Eric Blake  <eblake@redhat.com>
21031
21032         fclose: preserve fflush errors
21033         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
21034         Reported by Jim Meyering.
21035
21036         bootstrap: support a prereq of 'rpcgen -' on RHEL5
21037         * build-aux/bootstrap (check_versions): When no specific version
21038         is required, merely check that the app produces an exit status
21039         that indicates its existence.
21040
21041         maint.mk: drop redundant check
21042         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
21043         the same but better.
21044
21045 2011-05-11  Bruno Haible  <bruno@clisp.org>
21046
21047         fclose: Fix possible link error.
21048         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
21049         unregister_shadow_fd. Improve comments.
21050         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
21051         Eric Blake.
21052
21053 2011-05-11  Jim Meyering  <meyering@redhat.com>
21054
21055         maint.mk: improve "can not" detection and generalize rule name
21056         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
21057         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
21058         Use the same technique as in sc_prohibit_doubled_word, so that
21059         we recognize "can not" also when the words are separated by a newline.
21060         Suggested by Eric Blake.
21061         (perl_filename_lineno_text_): Define.  Factored out of...
21062         (prohibit_doubled_word_): ...here.  Use the new definition.
21063         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
21064         (prohibit_undesirable_word_seq_RE_): New overridable variable.
21065         (ignore_undesirable_word_sequence_RE_): New overridable variable.
21066
21067 2011-05-10  Eric Blake  <eblake@redhat.com>
21068
21069         fclose: avoid double close race when possible
21070         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
21071         all but WINDOWS_SOCKETS.
21072
21073 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
21074
21075         openat: correct new comment
21076         * lib/openat-proc.c (openat_proc_name): Correct the comment.
21077
21078 2011-05-10  Jim Meyering  <meyering@redhat.com>
21079
21080         openat: add comments
21081         * lib/openat-proc.c (openat_proc_name): Add comments,
21082         mostly from Eric Blake.
21083
21084 2011-05-09  Eric Blake  <eblake@redhat.com>
21085
21086         openat: reduce syscalls in first probe of /proc
21087         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
21088         be a directory.  Simplify the probe for .. bugs.
21089         * modules/openat (Depends-on): Drop same-inode.
21090         Reported by Bastien ROUCARIES.
21091
21092 2011-05-09  Jim Meyering  <meyering@redhat.com>
21093
21094         maint.mk: change semantics/name of tight_scope variables
21095         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
21096         Rename variables to align with semantics that make them more useful.
21097
21098         maint.mk: tweak new rule's name not to impinge
21099         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
21100         (sc_tight_scope): Use new rule name rather than $@-0.
21101
21102         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
21103         * top/maint.mk (sc_tight_scope): New rule.
21104         (sc_tight_scope-0): New rule, ifdef'd out.
21105         (_gl_TS_dir): Default.
21106         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
21107         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
21108
21109 2011-05-09  Simon Josefsson  <simon@josefsson.org>
21110
21111         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
21112         Haible <bruno@clisp.org>.
21113
21114 2011-05-08  Bruno Haible  <bruno@clisp.org>
21115
21116         Comments.
21117         * m4/isnanf.m4: Add comment.
21118         * m4/isnanl.m4: Likewise.
21119
21120 2011-05-08  Bruno Haible  <bruno@clisp.org>
21121
21122         glob: Remove obsolete macro.
21123         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
21124
21125 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
21126
21127         intprops: Sun C 5.11 supports __typeof__
21128         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
21129         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
21130         which is new.
21131         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
21132
21133         intprops: switch to usual gnulib indenting and naming
21134         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
21135         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
21136
21137         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
21138
21139 2011-05-08  Jim Meyering  <meyering@redhat.com>
21140
21141         maint.mk: suppress "Entering/Leaving directory" diag in announcement
21142         * top/maint.mk (release-prep): Use make's --no-print-directory
21143         option when generating the announcement.  This eliminates the
21144         pesky "make[2]: Entering/Leaving directory" diagnostics in the
21145         generated announcement template.
21146
21147 2011-05-08  Bruno Haible  <bruno@clisp.org>
21148
21149         tzset: Fix gettimeofday wrapper on Solaris 2.6.
21150         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
21151         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
21152
21153 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
21154
21155         ignore-value, verify: Omit include files from lib_SOURCES.
21156         * modules/ignore-value, modules/verify (Makefile.am):
21157         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
21158         that leads Automake to duplicate use of am__objects_... variables
21159         in Makefile.in.  See
21160         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
21161
21162 2011-05-07  Bruno Haible  <bruno@clisp.org>
21163
21164         fclose: Simplify autoconf macro.
21165         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
21166         defined.
21167
21168 2011-05-07  Bruno Haible  <bruno@clisp.org>
21169
21170         canonicalize-lgpl: Fix autoconf macro ordering bug.
21171         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
21172         gl_STDLIB_H_DEFAULTS.
21173
21174 2011-05-06  Eric Blake  <eblake@redhat.com>
21175
21176         maintainer-makefile: make sc_po_check easier to tune
21177         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
21178         to probe for strings, such as an alternate location for gnulib.
21179
21180         fclose: guarantee behavior on seekable stdin
21181         * modules/fclose (Depends-on): Add fflush.
21182         * doc/posix-functions/fclose.texi (fclose): Document this.
21183         * tests/test-fclose.c (main): Make test for this unconditional.
21184
21185 2011-05-06  Bruno Haible  <bruno@clisp.org>
21186
21187         fflush, fpurge: Relicense under LGPLv2+.
21188         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
21189         * modules/fpurge (License): Likewise.
21190         With permission from Eric Blake and Jim Meyering.
21191         Suggested by Eric Blake.
21192
21193 2011-05-06  Karl Berry  <karl@gnu.org>
21194
21195         * MODULES.html.sh (func_all_modules): remove exit.
21196
21197 2011-05-06  Jim Meyering  <meyering@redhat.com>
21198
21199         maint.mk: use info-gnu@ as the default only for a stable release
21200         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
21201         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
21202         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
21203         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
21204
21205 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
21206
21207         assert-h: new module, which supports C1X-style static_assert
21208         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
21209         * lib/verify.h: Revamp so that this can be copied into assert.h,
21210         while retaining the ability to use it standalone as before.
21211         Rename private identifiers so as not to encroach on the
21212         standard C namespace, since this is now used by assert.h.
21213         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
21214         the old verify_true.
21215         (_GL_VERIFY_TRUE): New macro, with much of the contents of
21216         the old verify_true.  Use _GL_VERIFY_TYPE.
21217         (_GL_VERIFY): New macro, with much of the contents of the old verify.
21218         (static_assert): New macro, if _GL_STATIC_ASSERT_H
21219         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
21220         defined when this file is copied into the replacement assert.h.
21221         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
21222         and _Static_assert is not built in.
21223         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
21224         defined, and use the new macros mentioned above.
21225         * doc/posix-headers/assert.texi: Document this.
21226
21227 2011-05-05  Bruno Haible  <bruno@clisp.org>
21228
21229         fclose, fflush: Respect rules for use of AC_LIBOBJ.
21230         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
21231         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
21232         gl_REPLACE_FCLOSE here.
21233         * modules/fflush (Depends-on): Remove fclose.
21234         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
21235         combination with module 'fclose'.
21236
21237 2011-05-05  Bruno Haible  <bruno@clisp.org>
21238
21239         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
21240         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
21241         gl_FUNC_FFLUSH.
21242         (gl_FUNC_FFLUSH): Use it.
21243         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
21244         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
21245         gl_REPLACE_FSEEKO here.
21246
21247 2011-05-05  Bruno Haible  <bruno@clisp.org>
21248
21249         tzset: Relicense under LGPL.
21250         * modules/tzset (License): Change to LGPL.
21251         No agreement needed; it's a no-op.
21252
21253         strtoimax, strtoumax: Relicense under LGPL.
21254         * modules/strtoimax (License): Change to LGPL.
21255         * modules/strtoumax (License): Likewise.
21256         With permission from Jim Meyering, Paul Eggert:
21257         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
21258         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
21259
21260         getgroups: Relicense under LGPL.
21261         * modules/getgroups (License): Change to LGPL.
21262         With permission from Jim Meyering, Paul Eggert, Eric Blake:
21263         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21265         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21266
21267         nanosleep: Relicense under LGPL.
21268         * modules/nanosleep (License): Change to LGPL.
21269         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
21270         Haible:
21271         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21272         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21273         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21274         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21275
21276         futimens: Relicense under LGPL.
21277         * modules/futimens (License): Change to LGPL.
21278         With permission from Eric Blake:
21279         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21280
21281         fflush: Relicense under LGPL.
21282         * modules/fflush (License): Change to LGPL.
21283         With permission from Eric Blake, Bruno Haible, Jim Meyering:
21284         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21285         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21286         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
21287
21288         tmpfile: Relicense under LGPL.
21289         * modules/tmpfile (License): Change to LGPL.
21290         With permission from Ben Pfaff:
21291         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21292
21293         isfinite: Relicense under LGPL.
21294         * modules/isfinite (License): Change to LGPL.
21295         With permission from Ben Pfaff, Bruno Haible:
21296         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21297         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
21298
21299         acosl..tanl: Relicense under LGPL.
21300         * modules/acosl (License): Change to LGPL.
21301         * modules/asinl (License): Likewise.
21302         * modules/atanl (License): Likewise.
21303         * modules/cosl (License): Likewise.
21304         * modules/expl (License): Likewise.
21305         * modules/logl (License): Likewise.
21306         * modules/sinl (License): Likewise.
21307         * modules/sqrtl (License): Likewise.
21308         * modules/tanl (License): Likewise.
21309         Source code originally from glibc and Paolo Bonzini. Agreements:
21310         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
21311         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
21312
21313 2011-05-05  Bruno Haible  <bruno@clisp.org>
21314
21315         signal: Define sighandler_t.
21316         * lib/signal.in.h (sighandler_t): New type.
21317         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
21318         whether sighandler_t is defined.
21319         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
21320         * modules/signal (Depends-on): Add extensions.
21321         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
21322         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
21323         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
21324
21325 2011-05-05  Eric Blake  <eblake@redhat.com>
21326
21327         maint: remove useless REPLACE_*_H macros
21328         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
21329         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21330         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21331         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
21332         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21333         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21334         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
21335         * m4/btowc.m4: Update callers.
21336         * m4/dirfd.m4: Likewise.
21337         * m4/duplocale.m4: Likewise.
21338         * m4/fchdir.m4: Likewise.
21339         * m4/fdopendir.m4: Likewise.
21340         * m4/inet_ntop.m4: Likewise.
21341         * m4/inet_pton.m4: Likewise.
21342         * m4/ioctl.m4: Likewise.
21343         * m4/mbrlen.m4: Likewise.
21344         * m4/mbrtowc.m4: Likewise.
21345         * m4/mbsinit.m4: Likewise.
21346         * m4/mbsnrtowcs.m4: Likewise.
21347         * m4/mbsrtowcs.m4: Likewise.
21348         * m4/poll.m4: Likewise.
21349         * m4/setlocale.m4: Likewise.
21350         * m4/wcrtomb.m4: Likewise.
21351         * m4/wcsnrtombs.m4: Likewise.
21352         * m4/wcsrtombs.m4: Likewise.
21353         * m4/wctob.m4: Likewise.
21354         * m4/wcwidth.m4: Likewise.
21355         * modules/posix_spawn: Likewise.
21356         * modules/posix_spawn_file_actions_addclose: Likewise.
21357         * modules/posix_spawn_file_actions_adddup2: Likewise.
21358         * modules/posix_spawn_file_actions_addopen: Likewise.
21359         * modules/posix_spawn_file_actions_destroy: Likewise.
21360         * modules/posix_spawn_file_actions_init: Likewise.
21361         * modules/posix_spawnattr_destroy: Likewise.
21362         * modules/posix_spawnattr_getflags: Likewise.
21363         * modules/posix_spawnattr_getpgroup: Likewise.
21364         * modules/posix_spawnattr_getschedparam: Likewise.
21365         * modules/posix_spawnattr_getschedpolicy: Likewise.
21366         * modules/posix_spawnattr_getsigdefault: Likewise.
21367         * modules/posix_spawnattr_getsigmask: Likewise.
21368         * modules/posix_spawnattr_init: Likewise.
21369         * modules/posix_spawnattr_setflags: Likewise.
21370         * modules/posix_spawnattr_setpgroup: Likewise.
21371         * modules/posix_spawnattr_setschedparam: Likewise.
21372         * modules/posix_spawnattr_setschedpolicy: Likewise.
21373         * modules/posix_spawnattr_setsigdefault: Likewise.
21374         * modules/posix_spawnattr_setsigmask: Likewise.
21375         * modules/posix_spawnp: Likewise.
21376
21377 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
21378
21379         Add option to do-release-commit-and-tag to specify branch.
21380         * build-aux/do-release-commit-and-tag: Add --branch.
21381
21382 2011-05-03  Bruno Haible  <bruno@clisp.org>
21383
21384         Avoid unnecessary compilation units, through conditional dependencies.
21385         * modules/accept (Depends-on): Add conditions to the dependencies.
21386         * modules/acosl (Depends-on): Likewise.
21387         * modules/argz (Depends-on): Likewise.
21388         * modules/asinl (Depends-on): Likewise.
21389         * modules/atanl (Depends-on): Likewise.
21390         * modules/atoll (Depends-on): Likewise.
21391         * modules/bind (Depends-on): Likewise.
21392         * modules/btowc (Depends-on): Likewise.
21393         * modules/canonicalize-lgpl (Depends-on): Likewise.
21394         * modules/ceil (Depends-on): Likewise.
21395         * modules/ceilf (Depends-on): Likewise.
21396         * modules/ceill (Depends-on): Likewise.
21397         * modules/chdir-long (Depends-on): Likewise.
21398         * modules/chown (Depends-on): Likewise.
21399         * modules/close (Depends-on): Likewise.
21400         * modules/connect (Depends-on): Likewise.
21401         * modules/cosl (Depends-on): Likewise.
21402         * modules/dirfd (Depends-on): Likewise.
21403         * modules/dprintf (Depends-on): Likewise.
21404         * modules/dprintf-posix (Depends-on): Likewise.
21405         * modules/error (Depends-on): Likewise.
21406         * modules/euidaccess (Depends-on): Likewise.
21407         * modules/expl (Depends-on): Likewise.
21408         * modules/faccessat (Depends-on): Likewise.
21409         * modules/fchdir (Depends-on): Likewise.
21410         * modules/fclose (Depends-on): Likewise.
21411         * modules/fcntl (Depends-on): Likewise.
21412         * modules/fdopendir (Depends-on): Likewise.
21413         * modules/fflush (Depends-on): Likewise.
21414         * modules/floor (Depends-on): Likewise.
21415         * modules/floorf (Depends-on): Likewise.
21416         * modules/floorl (Depends-on): Likewise.
21417         * modules/fnmatch (Depends-on): Likewise.
21418         * modules/fopen (Depends-on): Likewise.
21419         * modules/fprintf-posix (Depends-on): Likewise.
21420         * modules/frexp (Depends-on): Likewise.
21421         * modules/frexp-nolibm (Depends-on): Likewise.
21422         * modules/frexpl (Depends-on): Likewise.
21423         * modules/frexpl-nolibm (Depends-on): Likewise.
21424         * modules/fseek (Depends-on): Likewise.
21425         * modules/fsusage (Depends-on): Likewise.
21426         * modules/ftell (Depends-on): Likewise.
21427         * modules/ftello (Depends-on): Likewise.
21428         * modules/futimens (Depends-on): Likewise.
21429         * modules/getcwd (Depends-on): Likewise.
21430         * modules/getcwd-lgpl (Depends-on): Likewise.
21431         * modules/getdelim (Depends-on): Likewise.
21432         * modules/getdomainname (Depends-on): Likewise.
21433         * modules/getgroups (Depends-on): Likewise.
21434         * modules/gethostname (Depends-on): Likewise.
21435         * modules/getline (Depends-on): Likewise.
21436         * modules/getlogin_r (Depends-on): Likewise.
21437         * modules/getopt-posix (Depends-on): Likewise.
21438         * modules/getpeername (Depends-on): Likewise.
21439         * modules/getsockname (Depends-on): Likewise.
21440         * modules/getsockopt (Depends-on): Likewise.
21441         * modules/getsubopt (Depends-on): Likewise.
21442         * modules/getusershell (Depends-on): Likewise.
21443         * modules/glob (Depends-on): Likewise.
21444         * modules/grantpt (Depends-on): Likewise.
21445         * modules/iconv_open (Depends-on): Likewise.
21446         * modules/iconv_open-utf (Depends-on): Likewise.
21447         * modules/inet_ntop (Depends-on): Likewise.
21448         * modules/inet_pton (Depends-on): Likewise.
21449         * modules/ioctl (Depends-on): Likewise.
21450         * modules/isapipe (Depends-on): Likewise.
21451         * modules/isfinite (Depends-on): Likewise.
21452         * modules/isinf (Depends-on): Likewise.
21453         * modules/lchown (Depends-on): Likewise.
21454         * modules/ldexpl (Depends-on): Likewise.
21455         * modules/link (Depends-on): Likewise.
21456         * modules/linkat (Depends-on): Likewise.
21457         * modules/listen (Depends-on): Likewise.
21458         * modules/logl (Depends-on): Likewise.
21459         * modules/lstat (Depends-on): Likewise.
21460         * modules/mbrlen (Depends-on): Likewise.
21461         * modules/mbrtowc (Depends-on): Likewise.
21462         * modules/mbsinit (Depends-on): Likewise.
21463         * modules/mbsnrtowcs (Depends-on): Likewise.
21464         * modules/mbsrtowcs (Depends-on): Likewise.
21465         * modules/mbtowc (Depends-on): Likewise.
21466         * modules/memcmp (Depends-on): Likewise.
21467         * modules/mkdir (Depends-on): Likewise.
21468         * modules/mkdtemp (Depends-on): Likewise.
21469         * modules/mkfifo (Depends-on): Likewise.
21470         * modules/mkfifoat (Depends-on): Likewise.
21471         * modules/mknod (Depends-on): Likewise.
21472         * modules/mkostemp (Depends-on): Likewise.
21473         * modules/mkostemps (Depends-on): Likewise.
21474         * modules/mkstemp (Depends-on): Likewise.
21475         * modules/mkstemps (Depends-on): Likewise.
21476         * modules/mktime (Depends-on): Likewise.
21477         * modules/nanosleep (Depends-on): Likewise.
21478         * modules/open (Depends-on): Likewise.
21479         * modules/openat (Depends-on): Likewise.
21480         * modules/perror (Depends-on): Likewise.
21481         * modules/poll (Depends-on): Likewise.
21482         * modules/popen (Depends-on): Likewise.
21483         * modules/posix_spawn (Depends-on): Likewise.
21484         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21485         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21486         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21487         * modules/posix_spawnp (Depends-on): Likewise.
21488         * modules/pread (Depends-on): Likewise.
21489         * modules/printf-posix (Depends-on): Likewise.
21490         * modules/ptsname (Depends-on): Likewise.
21491         * modules/putenv (Depends-on): Likewise.
21492         * modules/pwrite (Depends-on): Likewise.
21493         * modules/readline (Depends-on): Likewise.
21494         * modules/readlink (Depends-on): Likewise.
21495         * modules/readlinkat (Depends-on): Likewise.
21496         * modules/recv (Depends-on): Likewise.
21497         * modules/recvfrom (Depends-on): Likewise.
21498         * modules/regex (Depends-on): Likewise.
21499         * modules/remove (Depends-on): Likewise.
21500         * modules/rename (Depends-on): Likewise.
21501         * modules/renameat (Depends-on): Likewise.
21502         * modules/rmdir (Depends-on): Likewise.
21503         * modules/round (Depends-on): Likewise.
21504         * modules/roundf (Depends-on): Likewise.
21505         * modules/roundl (Depends-on): Likewise.
21506         * modules/rpmatch (Depends-on): Likewise.
21507         * modules/select (Depends-on): Likewise.
21508         * modules/send (Depends-on): Likewise.
21509         * modules/sendto (Depends-on): Likewise.
21510         * modules/setenv (Depends-on): Likewise.
21511         * modules/setlocale (Depends-on): Likewise.
21512         * modules/setsockopt (Depends-on): Likewise.
21513         * modules/shutdown (Depends-on): Likewise.
21514         * modules/sigaction (Depends-on): Likewise.
21515         * modules/signbit (Depends-on): Likewise.
21516         * modules/sigprocmask (Depends-on): Likewise.
21517         * modules/sinl (Depends-on): Likewise.
21518         * modules/sleep (Depends-on): Likewise.
21519         * modules/snprintf (Depends-on): Likewise.
21520         * modules/snprintf-posix (Depends-on): Likewise.
21521         * modules/socket (Depends-on): Likewise.
21522         * modules/sprintf-posix (Depends-on): Likewise.
21523         * modules/sqrtl (Depends-on): Likewise.
21524         * modules/stat (Depends-on): Likewise.
21525         * modules/strchrnul (Depends-on): Likewise.
21526         * modules/strdup-posix (Depends-on): Likewise.
21527         * modules/strerror (Depends-on): Likewise.
21528         * modules/strerror_r-posix (Depends-on): Likewise.
21529         * modules/strndup (Depends-on): Likewise.
21530         * modules/strnlen (Depends-on): Likewise.
21531         * modules/strptime (Depends-on): Likewise.
21532         * modules/strsep (Depends-on): Likewise.
21533         * modules/strsignal (Depends-on): Likewise.
21534         * modules/strstr-simple (Depends-on): Likewise.
21535         * modules/strtod (Depends-on): Likewise.
21536         * modules/strtoimax (Depends-on): Likewise.
21537         * modules/strtok_r (Depends-on): Likewise.
21538         * modules/strtoumax (Depends-on): Likewise.
21539         * modules/symlink (Depends-on): Likewise.
21540         * modules/symlinkat (Depends-on): Likewise.
21541         * modules/tanl (Depends-on): Likewise.
21542         * modules/tcgetsid (Depends-on): Likewise.
21543         * modules/tmpfile (Depends-on): Likewise.
21544         * modules/trunc (Depends-on): Likewise.
21545         * modules/truncf (Depends-on): Likewise.
21546         * modules/truncl (Depends-on): Likewise.
21547         * modules/uname (Depends-on): Likewise.
21548         * modules/unlink (Depends-on): Likewise.
21549         * modules/unlockpt (Depends-on): Likewise.
21550         * modules/unsetenv (Depends-on): Likewise.
21551         * modules/usleep (Depends-on): Likewise.
21552         * modules/utimensat (Depends-on): Likewise.
21553         * modules/vasprintf (Depends-on): Likewise.
21554         * modules/vdprintf (Depends-on): Likewise.
21555         * modules/vdprintf-posix (Depends-on): Likewise.
21556         * modules/vfprintf-posix (Depends-on): Likewise.
21557         * modules/vprintf-posix (Depends-on): Likewise.
21558         * modules/vsnprintf (Depends-on): Likewise.
21559         * modules/vsnprintf-posix (Depends-on): Likewise.
21560         * modules/vsprintf-posix (Depends-on): Likewise.
21561         * modules/wcrtomb (Depends-on): Likewise.
21562         * modules/wcscasecmp (Depends-on): Likewise.
21563         * modules/wcscspn (Depends-on): Likewise.
21564         * modules/wcsdup (Depends-on): Likewise.
21565         * modules/wcsncasecmp (Depends-on): Likewise.
21566         * modules/wcsnrtombs (Depends-on): Likewise.
21567         * modules/wcspbrk (Depends-on): Likewise.
21568         * modules/wcsrtombs (Depends-on): Likewise.
21569         * modules/wcsspn (Depends-on): Likewise.
21570         * modules/wcsstr (Depends-on): Likewise.
21571         * modules/wcstok (Depends-on): Likewise.
21572         * modules/wcswidth (Depends-on): Likewise.
21573         * modules/wctob (Depends-on): Likewise.
21574         * modules/wctomb (Depends-on): Likewise.
21575         * modules/wctype (Depends-on): Likewise.
21576         * modules/wcwidth (Depends-on): Likewise.
21577         * modules/write (Depends-on): Likewise.
21578
21579 2011-05-03  Bruno Haible  <bruno@clisp.org>
21580
21581         Support for conditional dependencies.
21582         * doc/gnulib.texi (Module description): Document the syntax of
21583         conditional dependencies.
21584         * gnulib-tool: New option --conditional-dependencies.
21585         (func_usage): Document it.
21586         (cond_dependencies): New variable.
21587         (func_get_automake_snippet_conditional,
21588         func_get_automake_snippet_unconditional): New functions, extracted from
21589         func_get_automake_snippet.
21590         (func_get_automake_snippet): Use them.
21591         (sed_first_32_chars): New variable.
21592         (func_module_shellfunc_name): New function.
21593         (func_module_shellvar_name): New function.
21594         (func_module_conditional_name): New function.
21595         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21596         func_cond_module_condition): New functions.
21597         (func_modules_transitive_closure): Add support for conditional
21598         dependencies.
21599         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21600         conditional automake snippet in an automake conditional.
21601         (func_emit_autoconf_snippets): Emit shell functions that contain the
21602         code for conditional modules.
21603         (func_import, func_create_testdir): Update specification.
21604
21605 2011-05-03  Eric Blake  <eblake@redhat.com>
21606
21607         test-getaddrinfo: report error information
21608         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21609
21610 2011-05-03  Jim Meyering  <meyering@redhat.com>
21611
21612         bootstrap: avoid build failure when $GZIP is set
21613         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21614         program name.  If defined at all, it is supposed to list gzip options.
21615         Reported by Alan Curry in http://debbugs.gnu.org/8609
21616
21617 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21618
21619         readme-release: new module with release instructions
21620         * modules/readme-release: New module.
21621         * top/README-release: New file, from coreutils, grep, diffutils.
21622         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21623
21624 2011-05-02  Eric Blake  <eblake@redhat.com>
21625
21626         fflush: also replace fclose when fixing fflush
21627         * modules/fflush (Depends-on): Add fclose.
21628         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21629         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21630         memstreams with no backing fd.
21631         * doc/posix-functions/fclose.texi (fclose): Document the use of
21632         fflush module to fix the bug.
21633         * tests/test-fclose.c (main): Relax test when fclose is used in
21634         isolation.
21635
21636         fclose: add some tests
21637         * modules/fclose-tests: New test module.
21638         * tests/test-fclose.c: New file.
21639         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21640
21641         fclose: reduced dependencies
21642         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21643         simpler lseek.
21644         * lib/fclose.c (rpl_fclose): Likewise.
21645         Reported by Simon Josefsson.
21646
21647         exit: drop remaining clients
21648         * modules/argmatch (Depends-on): Replace exit with stdlib.
21649         * modules/copy-file (Depends-on): Likewise.
21650         * modules/execute (Depends-on): Likewise.
21651         * modules/exitfail (Depends-on): Likewise.
21652         * modules/obstack (Depends-on): Likewise.
21653         * modules/pagealign_alloc (Depends-on): Likewise.
21654         * modules/pipe-filter-gi (Depends-on): Likewise.
21655         * modules/pipe-filter-ii (Depends-on): Likewise.
21656         * modules/savewd (Depends-on): Likewise.
21657         * modules/spawn-pipe (Depends-on): Likewise.
21658         * modules/wait-process (Depends-on): Likewise.
21659         * modules/xsetenv (Depends-on): Likewise.
21660         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21661         * modules/git-merge-changelog (Depends-on): Likewise.
21662         * modules/long-options (Depends-on): Likewise.
21663         * modules/pt_chown (Depends-on): Likewise.
21664         * modules/sysexits (Depends-on): Likewise.
21665
21666         freading: relax license from LGPLv3+ to LGPLv2+
21667         * modules/freading (License): Relax LGPL version.
21668
21669 2011-05-02  Bruno Haible  <bruno@clisp.org>
21670
21671         fchdir: Remove unused dependencies.
21672         * modules/fchdir (Depends-on): Remove include_next.
21673
21674 2011-05-02  Bruno Haible  <bruno@clisp.org>
21675
21676         gnulib-tool: Refactor.
21677         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21678         from func_emit_autoconf_snippets.
21679         (func_emit_autoconf_snippets): Use it.
21680
21681 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21682
21683         * NEWS: Document removal of 'exit'.
21684         * modules/exit: Remove file.
21685
21686 2011-05-01  Bruno Haible  <bruno@clisp.org>
21687
21688         Update DEPENDENCIES.
21689         * DEPENDENCIES (gettext): Recommend the newest release.
21690         Reported by Simon Josefsson.
21691
21692 2011-05-01  Bruno Haible  <bruno@clisp.org>
21693
21694         gnulib-tool: Reduce code duplication.
21695         * gnulib-tool (func_emit_autoconf_snippets): New function.
21696         (func_import, func_create_testdir): Use it.
21697
21698 2011-04-30  Eric Blake  <eblake@redhat.com>
21699
21700         fclose: don't fail on non-seekable input stream
21701         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21702         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21703         since fflush is allowed to fail in that case.
21704
21705 2011-04-30  Bruno Haible  <bruno@clisp.org>
21706
21707         dup3: cleanup
21708         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21709
21710 2011-04-30  Bruno Haible  <bruno@clisp.org>
21711
21712         netdb: Make it work in C++ mode.
21713         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21714         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21715         module.
21716         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21717         gl_MODULE_INDICATOR_FOR_TESTS.
21718         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21719         * modules/netdb-c++-tests: New file.
21720         * tests/test-netdb-c++.cc: New file.
21721
21722 2011-04-30  Bruno Haible  <bruno@clisp.org>
21723
21724         New modules 'vfscanf', 'vscanf'.
21725         * modules/vfscanf: New file.
21726         * modules/vscanf: New file.
21727         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21728         here.
21729         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21730         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21731
21732 2011-04-30  Bruno Haible  <bruno@clisp.org>
21733
21734         passfd: Add comments.
21735         * lib/passfd.c: Add comments about platforms.
21736
21737 2011-04-30  Bruno Haible  <bruno@clisp.org>
21738
21739         sys_uio: Make <sys/uio.h> self-contained.
21740         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21741         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21742
21743 2011-04-30  Bruno Haible  <bruno@clisp.org>
21744
21745         sys_socket: Ensure 'struct iovec' definition.
21746         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21747         <sys/socket.h>.
21748         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21749
21750 2011-04-30  Bruno Haible  <bruno@clisp.org>
21751
21752         sys_uio: Protect definition of 'struct iovec'.
21753         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21754         it as a C struct.
21755
21756 2011-04-30  Bruno Haible  <bruno@clisp.org>
21757
21758         manywarnings: fix indentation
21759         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21760
21761 2011-04-30  Pádraig Brady <P@draigBrady.com>
21762
21763         manywarnings: add -Wno-missing-field-initializers if needed.
21764         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21765         option if it's needed to allow initialization with { 0, }
21766
21767 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21768
21769         announce-gen: cosmetic improvement
21770         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21771
21772 2011-04-29  Jim Meyering  <meyering@redhat.com>
21773
21774         vc-list-files: indent with spaces, not TABs
21775         * build-aux/vc-list-files: Convert leading TABs to spaces,
21776         to match the style of most other files in gnulib.
21777
21778         announce-gen: indent with spaces, not TABs
21779         * build-aux/announce-gen: Convert all TABs to spaces, to match
21780         the style of most other files in gnulib.
21781
21782 2011-04-29  Eric Blake  <eblake@redhat.com>
21783
21784         quotearg: avoid uninitialized variable use
21785         * lib/quotearg.c (quoting_options_from_style): Initialize
21786         remaining fields, and ensure that custom styles are only used via
21787         quoting_options rather than quoting_style.
21788
21789 2011-04-29  Jim Meyering  <meyering@redhat.com>
21790
21791         maint.mk: remove unused VC-tag variable
21792         * top/maint.mk (VC-tag): Remove unused variable.
21793
21794 2011-04-29  Bruno Haible  <bruno@clisp.org>
21795
21796         netdb: fix gai_strerror replacements
21797         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21798         * modules/netdb: Substitute it.
21799
21800 2011-04-29  Jim Meyering  <meyering@redhat.com>
21801
21802         test-getcwd.c: avoid new set-but-not-used warning
21803         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21804         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21805         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21806         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21807
21808         test-hash.c: avoid a new shadowing warning
21809         * tests/test-hash.c (main): Don't shadow "dup".
21810
21811 2011-04-28  Eric Blake  <eblake@redhat.com>
21812
21813         getaddrinfo: fix gai_strerror signature
21814         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21815         and work around mingw with UNICODE defined.
21816         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21817         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21818         * modules/netdb (Makefile.am): Substitute it.
21819         * lib/netdb.in.h (gai_strerror): Declare replacement.
21820         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21821         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21822         the fix.
21823
21824         getsockopt: avoid compiler warning
21825         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21826         Reported by Matthias Bolte.
21827
21828         tests: drop unused link dependency
21829         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21830         * modules/dirent-safer-tests (Makefile.am): Likewise.
21831         * modules/fdopendir-tests (Makefile.am): Likewise.
21832         * modules/mkfifoat-tests (Makefile.am): Likewise.
21833         * modules/openat-safer-tests (Makefile.am): Likewise.
21834         * modules/openat-tests (Makefile.am): Likewise.
21835         * modules/readlinkat-tests (Makefile.am): Likewise.
21836         * modules/symlinkat-tests (Makefile.am): Likewise.
21837         * modules/linkat-tests (Makefile.am): Likewise.
21838         (Depends-on): Switch to filenamecat-lgpl.
21839         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21840         LIBINTL.
21841         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21842         * tests/test-linkat.c (main): Don't require xalloc.
21843
21844         hash, mgetgroups: drop xalloc dependency
21845         * lib/hash.c (includes): Adjust includes.
21846         * lib/mgetgroups.c (includes): Likewise.
21847         (xgetgroups): Move...
21848         * lib/xgetgroups.c: ...to new file.
21849         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21850         * modules/xgetgroups: New file, split from...
21851         * modules/mgetgroups: ...here.
21852         (Depends-on): Add xalloc-oversized.
21853         * modules/hash (Depends-on): Likewise.
21854         * modules/hash-tests (Depends-on): Drop xalloc.
21855         (test_hash_LDADD): Drop unused library.
21856         * tests/test-hash.c (main): Break xalloc dependency.
21857         (includes): Drop unused include.
21858
21859         xalloc-oversized: new module
21860         * modules/xalloc-oversized: New module.
21861         * modules/xalloc (Depends-on): Add it.
21862         * lib/xalloc.h (xalloc_oversized): Move...
21863         * lib/xalloc-oversized.h: ...into new file.
21864
21865         utimecmp: drop dependency on xmalloc
21866         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21867         due to memory pressure.
21868         * modules/utimecmp (Depends-on): Drop xalloc.
21869
21870 2011-04-27  Eric Blake  <eblake@redhat.com>
21871
21872         getcwd: fix mingw bugs
21873         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21874         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21875         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21876
21877 2011-04-27  Bruno Haible  <bruno@clisp.org>
21878
21879         mkstemps: Ensure declaration on MacOS X 10.5.
21880         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21881         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21882         MacOS X.
21883
21884 2011-04-27  Bruno Haible  <bruno@clisp.org>
21885
21886         mkstemp: More documentation.
21887         * doc/posix-functions/mkstemp.texi: Document header file problem on
21888         MacOS X.
21889
21890 2011-04-27  Bruno Haible  <bruno@clisp.org>
21891
21892         mkstemp: Tweak configure message when cross-compiling.
21893         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21894         result as a guess.
21895
21896 2011-04-27  Bruno Haible  <bruno@clisp.org>
21897
21898         clean-temp: Clarify what it does.
21899         * lib/clean-temp.h: Add more comments.
21900         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21901         module.
21902         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21903         * doc/glibc-functions/mkstemps.texi: Likewise.
21904         * doc/glibc-functions/mkostemps.texi: Likewise.
21905
21906 2011-04-27  Eric Blake  <eblake@redhat.com>
21907
21908         fchdir: avoid extra chdir and fix test
21909         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21910         getcwd-lgpl.
21911         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21912         have to be canonical.
21913         (canonicalize_file_name): Drop unused macro.
21914         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21915
21916         filenamecat-lgpl: fix licence
21917         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21918         when it was first created.
21919
21920         linkat, renameat: add missing dependency
21921         * modules/linkat (Depends-on): Require getcwd-lgpl.
21922         * modules/renameat (Depends-on): Likewise.
21923
21924         tests: reduce dependencies
21925         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21926         * tests/test-renameat.c (main): Likewise.
21927         * modules/linkat-tests (Depends-on): Relax dependency.
21928         * modules/renameat-tests (Depends-on): Likewise.
21929         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21930         dependency explicit.
21931
21932         save-cwd: reduce default dependency
21933         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21934         * lib/save-cwd.c: Update comments.
21935         * NEWS: Document the semantic change.
21936
21937         getcwd: enhance tests
21938         * tests/test-getcwd-lgpl.c: New file, taken from...
21939         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21940         repeat long path stress tests from m4 probe.
21941         * modules/getcwd-lgpl-tests: New module.
21942         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21943         * m4/getcwd-abort-bug.m4: Update comment.
21944         * m4/getcwd-path-max.m4: Likewise.
21945
21946         getcwd-lgpl: new module
21947         * modules/getcwd-lgpl: New module.
21948         * lib/getcwd-lgpl.c: New file.
21949         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21950         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21951         * modules/getcwd (configure.ac): Set C witness.
21952         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21953
21954         getcwd: tweak comments
21955         * m4/getcwd-abort-bug.m4: Fix comments.
21956         * m4/getcwd-path-max.m4: Likewise.
21957         * m4/getcwd.m4: Likewise.
21958
21959 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21960         and Eric Blake  <eblake@redhat.com>
21961
21962         mkstemp: replace if system version uses wrong permissions
21963         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21964         read/write mode bits set in file created by mkstemp.
21965         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21966
21967 2011-04-27  Eric Blake  <eblake@redhat.com>
21968
21969         passfd: avoid compiler warning
21970         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21971         Reported by Laine Stump.
21972
21973 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21974
21975         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21976         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21977
21978 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21979         and Eric Blake  <eblake@redhat.com>
21980
21981         mkstemp: mention clean-temp module
21982         * lib/mkstemp.c: Add comment.
21983         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21984
21985 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21986
21987         inttypes: also provide default values for 32-bit tests
21988         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21989         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21990
21991 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21992
21993         strtoumax: remove dependency on strtoimax
21994         This is like the strtoull change of yesterday.
21995         * modules/strtoumax (Files): Add lib/strtoimax.c.
21996         (Depends-on): Remove strtoimax and add verify.
21997
21998         inttypes-incomplete: new module
21999         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
22000         all but the PRI* and SCN* parts of gl_INTTYPES_H.
22001         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
22002         of gl_INTTYPES_H.
22003         (gl_INTTYPES_H): Rewrite in terms of these new macros.
22004         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
22005         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
22006         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
22007         * modules/strtoumax, modules/xstrtol (Depends-on):
22008         Depend on inttypes-incomplete, not inttypes.
22009         * modules/inttypes-incomplete: New module, containing the contents
22010         of the old modules/inttypes module, except that the Files: section
22011         omits m4/inttypes-pri.m4, and the configure.ac section invokes
22012         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
22013         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
22014         (Depends-on): Depend only on inttypes-incomplete.
22015         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
22016
22017         inttypes: omit now-redundant strtoimax and strtoumax work
22018         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
22019         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
22020
22021         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
22022         This supports apps that need pointers to strtoimax and strtoumax,
22023         and ports to HP-UX 11.00 64.bit, which has macros that expand to
22024         nonexistent functions.  See
22025         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
22026         et seq.
22027         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
22028         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
22029         a macro.
22030         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22031
22032 2011-04-25  Simon Josefsson  <simon@josefsson.org>
22033
22034         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
22035
22036 2011-04-25  Bruno Haible  <bruno@clisp.org>
22037
22038         strtol, strtoul: Mark modules as obsolete.
22039         * modules/strtol (Status, Notice): New sections.
22040         * modules/strtoul (Status, Notice): New sections.
22041
22042 2011-04-25  Bruno Haible  <bruno@clisp.org>
22043
22044         strtod: Remove check for strtod, unless supporting old platforms.
22045         * modules/strtod-obsolete: New file.
22046         * m4/strtod-obsolete.m4: New file.
22047         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
22048         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
22049         * modules/strtod (Depends-on): Add strtod-obsolete.
22050         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
22051
22052 2011-04-25  Bruno Haible  <bruno@clisp.org>
22053
22054         strcase: Make module obsolete.
22055         * modules/strcase (Status, Notice): New sections.
22056
22057 2011-04-25  Bruno Haible  <bruno@clisp.org>
22058
22059         dup2: Remove check for dup2, unless supporting old obsolete platforms.
22060         * modules/dup2-obsolete: New file.
22061         * m4/dup2-obsolete.m4: New file.
22062         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
22063         gl_FUNC_DUP2_OBSOLETE is not also defined.
22064         * modules/dup2 (Depends-on): Add dup2-obsolete.
22065         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
22066
22067 2011-04-25  Bruno Haible  <bruno@clisp.org>
22068
22069         strnlen: Avoid memchr related link error on old obsolete platforms.
22070         * modules/memchr-obsolete: New file.
22071         * m4/memchr-obsolete.m4: New file.
22072         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
22073         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
22074         * modules/memchr (Depends-on): Add memchr-obsolete.
22075         * modules/strnlen (Depends-on): Likewise.
22076         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
22077
22078 2011-04-25  Jim Meyering  <meyering@redhat.com>
22079
22080         maint.mk: makefile_at_at_check extend and clean up
22081         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
22082         in addition to */Makefile.am.
22083         Exempt legitimate uses of @VAR@ notation, e.g.,
22084         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
22085         Remove obsolete coreutils-specific comment.
22086         Prompted by discussion here:
22087         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
22088
22089 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
22090
22091         strtoul: remove dependency on strtol
22092         This is so that 'configure' need not check for strtol merely because
22093         the application needs strtoul.
22094         * modules/strtoul (Files): Add lib/strtol.c.
22095         (Depends-on): Remove strtol.
22096
22097         strtoull: remove dependency on strtoul
22098         This is like the strtoll change.
22099         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
22100         (Depends-on): Remove strtoul.
22101
22102         strtoll: remove dependency on strtol
22103         This is so that 'configure' need not check for strtol merely because
22104         the application needs strtoll.
22105         * modules/strtoll (Files): Add lib/strtol.c.
22106         (Depends-on): Remove strtol.
22107
22108 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22109
22110         inttypes: Move some configure check to module 'imaxdiv'.
22111         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
22112         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
22113         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
22114
22115 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22116
22117         inttypes: Move some configure check to module 'imaxabs'.
22118         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
22119         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
22120         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
22121
22122 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22123
22124         inttypes: Remove configure tests that are not needed since 2009-12-31.
22125         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
22126         gl_cv_header_working_inttypes_h.
22127
22128 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22129
22130         * modules/strnlen (Depends-on): Remove memchr.
22131         The strnlen implementation doesn't need the memchr module's fixes; see
22132         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
22133
22134         strtol: remove dependency on wchar
22135         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
22136         * modules/strtol (Depends-on): Remove wchar.
22137
22138 2011-04-21  Eric Blake  <eblake@redhat.com>
22139
22140         passfd: fix test regression on Linux
22141         * modules/passfd-tests (configure.ac): Correct socketpair check.
22142
22143         passfd: speed up configure and drop unused code
22144         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
22145         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
22146         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
22147         Instead of probing at configure for unix_scm_rights_bsd44_way,
22148         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
22149         check to a struct member probe.
22150         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
22151         (sendfd, recvfd): Update preprocessor checks.
22152         * modules/passfd (Files): Reflect rename, and drop unused file.
22153         (Depends-on): Drop unused dependency.
22154
22155         passfd: allow compilation on mingw
22156         * modules/sys_socket (Depends-on): Add sys_uio.
22157         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
22158         iovec and a minimal struct msghdr.
22159         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
22160         * tests/test-sys_socket.c (main): Enhance test.
22161         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
22162         guaranteed to provide what we need.
22163         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
22164         * modules/passfd-tests (Depends-on): Add sys_wait.
22165         * tests/test-passfd.c (main): Skip test on mingw, for now.
22166         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
22167         partial 'struct msghdr' implementation.
22168
22169         sys_uio: new module
22170         * modules/sys_uio: New module.
22171         * modules/sys_uio-tests: Likewise.
22172         * lib/sys_uio.in.h: New file.
22173         * m4/sys_uio_h.m4: Likewise.
22174         * tests/test-sys_uio.c: Likewise.
22175         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
22176         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
22177
22178 2011-04-20  Jim Meyering  <meyering@redhat.com>
22179
22180         useless-if-before-free: avoid false-positive
22181         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
22182         disjunct so that it too requires a terminating ";".  Without that,
22183         this script would identify as useless one statement from gcc that
22184         was not:
22185           if (aligned_ptr)
22186             free (((void **) aligned_ptr) [-1]);
22187
22188 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
22189
22190         doc: update users.txt.
22191         * users.txt: Add barcode.
22192
22193 2011-04-19  Bruno Haible  <bruno@clisp.org>
22194
22195         ioctl: Remove link dependency on native Windows.
22196         * lib/fd-hook.h: Renamed from lib/close-hook.h.
22197         (gl_close_fn, gl_ioctl_fn): New types.
22198         (struct fd_hook): Renamed from struct close_hook. Change type of
22199         private_close_fn field. Add private_ioctl_fn field.
22200         (close_hook_fn): Add parameter for primary close method.
22201         (execute_close_hooks, execute_all_close_hooks): Likewise.
22202         (ioctl_hook_fn): New type.
22203         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
22204         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22205         argument.
22206         (unregister_fd_hook): Renamed from unregister_close_hook.
22207         * lib/fd-hook.c: Renamed from lib/close-hook.c.
22208         Don't include <unistd.h>.
22209         (close): Remove undef.
22210         (anchor): Update.
22211         (execute_close_hooks): Add argument for primary close method.
22212         (execute_all_close_hooks): Likewise.
22213         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
22214         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22215         argument. Allow each argument to be NULL.
22216         (unregister_fd_hook): Renamed from unregister_close_hook.
22217         * lib/close.c (rpl_close): Pass 'close' function pointer to
22218         execute_all_close_hooks.
22219         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
22220         (primary_ioctl): New function.
22221         (ioctl): Don't call ioctlsocket here. Instead, call
22222         execute_all_ioctl_hooks.
22223         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
22224         close method.
22225         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
22226         (fd_sockets_hook): Renamed from close_sockets_hook.
22227         (gl_sockets_startup, gl_sockets_cleanup): Update.
22228         * modules/fd-hook: Renamed from modules/close-hook. Update.
22229         * modules/close (Depends-on): Add fd-hook, remove close-hook.
22230         * modules/sockets (Depends-on): Likewise.
22231         * modules/ioctl (Depends-on): Add fd-hook.
22232         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
22233         GNULIB_SOCKET.
22234
22235 2011-04-19  Bruno Haible  <bruno@clisp.org>
22236
22237         Move the support of O_NONBLOCK in open() to the 'open' module.
22238         * modules/nonblocking (Depends-on): Remove 'open'.
22239         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
22240         gl_cv_have_open_O_NONBLOCK.
22241         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
22242         O_NONBLOCK support.
22243         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
22244
22245 2011-04-17  Bruno Haible  <bruno@clisp.org>
22246
22247         pipe2: Simplify code.
22248         * lib/pipe2.c (pipe2): Reduce code duplication.
22249
22250 2011-04-17  Bruno Haible  <bruno@clisp.org>
22251
22252         nonblocking: Add comment.
22253         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
22254
22255 2011-04-17  Bruno Haible  <bruno@clisp.org>
22256
22257         nonblocking: Add tests for sockets.
22258         * tests/test-nonblocking-socket.sh: New file.
22259         * tests/test-nonblocking-socket-main.c: New file.
22260         * tests/test-nonblocking-socket-child.c: New file.
22261         * tests/test-nonblocking-socket.h: New file.
22262         * tests/socket-server.h: New file.
22263         * tests/socket-client.h: New file.
22264         * modules/nonblocking-socket-tests: New file.
22265         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
22266
22267 2011-04-17  Bruno Haible  <bruno@clisp.org>
22268
22269         nonblocking: Add tests for pipes.
22270         * tests/test-nonblocking-pipe.sh: New file.
22271         * tests/test-nonblocking-pipe-main.c: New file.
22272         * tests/test-nonblocking-pipe-child.c: New file.
22273         * tests/test-nonblocking-pipe.h: New file.
22274         * tests/test-nonblocking-writer.h: New file.
22275         * tests/test-nonblocking-reader.h: New file.
22276         * tests/test-nonblocking-misc.h: New file.
22277         * modules/nonblocking-pipe-tests: New file.
22278         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
22279
22280 2011-04-16  Bruno Haible  <bruno@clisp.org>
22281
22282         gettext: Clarify the needed programmer actions.
22283         * modules/gettext (Notice): New field.
22284         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
22285
22286 2011-04-16  Bruno Haible  <bruno@clisp.org>
22287
22288         strchrnul: Tweak last commit.
22289         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
22290         bug.
22291         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
22292         as in _GL_FUNCDECL_SYS.
22293         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
22294         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
22295
22296 2011-04-15  Eric Blake  <eblake@redhat.com>
22297
22298         strchrnul: work around cygwin bug
22299         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
22300         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
22301         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
22302         * modules/string (Makefile.am): Substitute it.
22303         * lib/string.in.h (strchrnul): Use it.
22304
22305 2011-04-15  Bruno Haible  <bruno@clisp.org>
22306
22307         Don't require lib/stdio-write.c when only module 'stdio' is used.
22308         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
22309         invocation.
22310         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
22311
22312 2011-04-14  Bruno Haible  <bruno@clisp.org>
22313
22314         Support non-blocking pipe I/O in read() on native Windows.
22315         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
22316         (read): New declaration.
22317         * lib/read.c: New file.
22318         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
22319         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
22320         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
22321         vscanf): New declarations.
22322         * lib/stdio-read.c: New file.
22323         * m4/read.m4: New file.
22324         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
22325         REPLACE_READ.
22326         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
22327         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22328         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
22329         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
22330         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
22331         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22332         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22333         * modules/read: New file.
22334         * modules/nonblocking (Files): Add lib/stdio-read.c.
22335         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
22336         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
22337         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22338         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22339         * modules/pread (Depends-on): Add read.
22340         * modules/safe-read (Depends-on): Likewise.
22341         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
22342         gets, scanf, vfscanf, vscanf): Verify signatures.
22343         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
22344         problem with non-blocking pipes.
22345         * doc/posix-functions/fgetc.texi: Likewise.
22346         * doc/posix-functions/fgets.texi: Likewise.
22347         * doc/posix-functions/fread.texi: Likewise.
22348         * doc/posix-functions/fscanf.texi: Likewise.
22349         * doc/posix-functions/getc.texi: Likewise.
22350         * doc/posix-functions/getchar.texi: Likewise.
22351         * doc/posix-functions/gets.texi: Likewise.
22352         * doc/posix-functions/scanf.texi: Likewise.
22353         * doc/posix-functions/vfscanf.texi: Likewise.
22354         * doc/posix-functions/vscanf.texi: Likewise.
22355
22356 2011-04-14  Bruno Haible  <bruno@clisp.org>
22357
22358         Support non-blocking pipe I/O in write() on native Windows.
22359         * lib/write.c (rpl_write): Split a write request that failed merely
22360         because the byte count was larger than the pipe buffer's size.
22361         * doc/posix-functions/write.texi: Mention the problem with large byte
22362         counts.
22363
22364 2011-04-14  Bruno Haible  <bruno@clisp.org>
22365
22366         wchar: Ensure that wchar_t gets defined on uClibc.
22367         * lib/wchar.in.h: On uClibc, include <stddef.h>.
22368         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
22369
22370 2011-04-13  Bruno Haible  <bruno@clisp.org>
22371
22372         safe-write, full-read: Avoid unnecessary compilation units.
22373         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
22374         (Depends-on): Remove safe-read. Add ssize_t.
22375         * modules/full-read (Files): Add lib/full-write.c.
22376         (Depends-on): Add full-write.
22377
22378 2011-04-13  Bruno Haible  <bruno@clisp.org>
22379
22380         Support non-blocking pipe I/O and SIGPIPE in pwrite().
22381         * modules/pwrite (Depends-on): Add 'write'.
22382
22383 2011-04-13  Bruno Haible  <bruno@clisp.org>
22384
22385         Support non-blocking pipe I/O in write() on native Windows.
22386         * lib/unistd.in.h (write): Enable replacement also if
22387         GNULIB_UNISTD_H_NONBLOCKING is 1.
22388         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
22389         (rpl_write): When failing to write on a non-blocking pipe, change
22390         errno from ENOSPC to EAGAIN.
22391         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
22392         putchar, puts, vfprintf, vprintf): Enable replacement also if
22393         GNULIB_STDIO_H_NONBLOCKING is 1.
22394         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
22395         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
22396         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
22397         CALL_WITH_SIGPIPE_EMULATION.
22398         (CALL_WITH_SIGPIPE_EMULATION): Use them.
22399         * m4/nonblocking.m4: New file.
22400         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
22401         for non-blocking I/O support.
22402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22403         GNULIB_UNISTD_H_NONBLOCKING.
22404         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
22405         required for non-blocking I/O support.
22406         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
22407         * modules/nonblocking (Files): Add m4/nonblocking.m4,
22408         lib/stdio-write.c, m4/asm-underscore.m4.
22409         (Depends-on): Add stdio, unistd.
22410         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
22411         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
22412         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
22413         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
22414         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
22415         problem with non-blocking pipes.
22416         * doc/posix-functions/fputc.texi: Likewise.
22417         * doc/posix-functions/fputs.texi: Likewise.
22418         * doc/posix-functions/fwrite.texi: Likewise.
22419         * doc/posix-functions/printf.texi: Likewise.
22420         * doc/posix-functions/putc.texi: Likewise.
22421         * doc/posix-functions/putchar.texi: Likewise.
22422         * doc/posix-functions/puts.texi: Likewise.
22423         * doc/posix-functions/vfprintf.texi: Likewise.
22424         * doc/posix-functions/vprintf.texi: Likewise.
22425         * doc/posix-functions/write.texi: Likewise.
22426
22427 2011-04-10  Jim Meyering  <meyering@redhat.com>
22428
22429         maint.mk: prohibit doubled words
22430         Detect them also when they're separated by a newline.
22431         There are 3 ways to customize it:
22432           - disable the test on a per file basis, as usual with rules using
22433             $(VC_LIST_EXCEPT)
22434           - replace the default doubled-word-selecting regexp (affects all files)
22435           - ignore a particular file-vs-doubled-word match
22436         I nearly used that last one to ignore the "is is" match in
22437         coreutils' NEWS file, since the text was "ls -is is ..."
22438         To do that, I would have added this line to cfg.mk:
22439           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
22440         but it would have ignored any "is is" match in NEWS.
22441         Low probability, but still...
22442         Instead, I changed the text, slightly:
22443           -  ls -is is now consistent with ls -lis in ignoring values returned
22444           +  "ls -is" is now consistent with ls -lis in ignoring values returned
22445         * top/maint.mk (prohibit_double_word_RE_): Provide default.
22446         (prohibit_doubled_word_): Define.
22447         (sc_prohibit_doubled_word): New rule.
22448         (sc_prohibit_the_the): Remove.  Subsumed by the above.
22449
22450 2011-04-10  Jim Meyering  <meyering@redhat.com>
22451
22452         maint: fix doubled-word typo in comment
22453         * m4/gethostname.m4: s/is is/it is/
22454         * m4/getdomainname.m4: Likewise.
22455
22456 2011-04-10  Jim Meyering  <meyering@redhat.com>
22457
22458         maint: remove doubled word: s/it it/it/
22459         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22460
22461 2011-04-10  Jim Meyering  <meyering@redhat.com>
22462
22463         maint.mk: remove useless semicolon and backslash
22464         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22465         semicolon and backslash.
22466
22467 2011-04-10  Bruno Haible  <bruno@clisp.org>
22468
22469         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22470         * modules/stdint-tests (Depends-on): Add wchar.
22471
22472 2011-04-10  Jim Meyering  <meyering@redhat.com>
22473
22474         maint: remove doubled words in comments, e.g., s/a a/a/
22475         * lib/strptime.c (day_of_the_week): s/the the/the/
22476         * tests/test-chown.h (test_chown): s/a a/a/
22477
22478         test-chown.h: correct a cast
22479         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22480         when the destination is a stat.st_gid.
22481
22482 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22483
22484         getaddrinfo: Fix test for sa_len member.
22485         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22486         include <sys/types.h> before <sys/socket.h>.
22487
22488 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22489
22490         maint: change "can not" to "cannot"
22491         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22492         boundaries.
22493
22494 2011-04-09  Jim Meyering  <meyering@redhat.com>
22495
22496         maint: change "a a" to "a"
22497         * tests/test-lchown.h (test_lchown): s/a a/a/
22498
22499         maint.mk: prohibit \<the the\>
22500         * top/maint.mk (sc_prohibit_the_the): New rule.
22501
22502         maint: fix "the the" in comment
22503         * lib/count-one-bits.h: s/the the/the/
22504
22505         maint: change "can not" to "cannot"
22506         But do not change the occurrences in maintain.texi or in
22507         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22508         * doc/gnulib-tool.texi: s/can not/cannot/
22509         * doc/posix-functions/accept.texi (accept): Likewise.
22510         * doc/posix-functions/socket.texi (socket): Likewise.
22511         * lib/mbrtowc.c: Likewise.
22512
22513         maint.mk: prohibit use of "can not"
22514         * top/maint.mk (sc_prohibit_can_not): New rule.
22515         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22516
22517 2011-04-09  Bruno Haible  <bruno@clisp.org>
22518
22519         careadlinkat: Guard against misuse of careadlinkatcwd.
22520         * lib/careadlinkat.c: Include <stdlib.h>.
22521         (careadlinkatcwd): Check that the fd argument is as expected.
22522
22523 2011-04-09  Bruno Haible  <bruno@clisp.org>
22524
22525         careadlinkat: Use common coding style.
22526         * lib/careadlinkat.c: Move gnulib includes after system includes.
22527
22528 2011-04-09  Bruno Haible  <bruno@clisp.org>
22529
22530         careadlinkat: Clarify specification.
22531         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22532         (careadlinkatcwd): Add comment.
22533         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22534
22535 2011-04-09  Bruno Haible  <bruno@clisp.org>
22536
22537         areadlinkat: Avoid link error on many platforms.
22538         * modules/areadlinkat (Depends-on): Add areadlink.
22539
22540 2011-04-09  Bruno Haible  <bruno@clisp.org>
22541
22542         allocator, careadlinkat: Fix double-inclusion guard.
22543         * lib/allocator.h: Fix double-inclusion guard.
22544         * lib/careadlinkat.h: Likewise.
22545
22546 2011-04-09  Bruno Haible  <bruno@clisp.org>
22547
22548         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22549         * lib/relocwrapper.c: Update dependencies hierarchy.
22550         * build-aux/install-reloc: Update list of files to be compiled.
22551         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22552         lib/allocator.[hc].
22553
22554 2011-04-08  Eric Blake  <eblake@redhat.com>
22555
22556         strftime: silence gnulib-tool warning
22557         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22558
22559 2011-04-08  Bruno Haible  <bruno@clisp.org>
22560
22561         verify: Fix syntax error with GCC 4.6 in C++ mode.
22562         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22563         (HAVE_STATIC_ASSERT): New macro.
22564         (verify_true, verify): Use 'static_assert' if it is supported and
22565         '_Static_assert' is not supported.
22566
22567 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22568
22569         allocator: New module.
22570         * modules/allocator, lib/allocator.c: New files.
22571         * lib/allocator.h (stdlib_allocator): New decl.
22572         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22573         Remove.  Do not include <stdlib.h>.
22574         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22575         * modules/careadlinkat (Files): Remove lib/allocator.h.
22576         (Depends-on): Add allocator.
22577
22578         stdlib: let modules use system malloc, realloc
22579         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22580         if !_GL_USE_STDLIB_ALLOC.
22581         (malloc, realloc): Limit this change to a smaller scope.
22582
22583         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22584         (malloc, realloc): Don't #undef; no longer needed.
22585         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22586         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22587         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22588         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22589         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22590         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22591         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22592         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22593
22594         careadlinkat: rename members to avoid problem
22595         * lib/allocator.h (struct allocator): Rename members from
22596         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22597         and realloc are #define'd.  Reported by Eric Blake in
22598         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22599         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22600
22601 2011-04-08  Eric Blake  <eblake@redhat.com>
22602
22603         nonblocking: reduce dependency
22604         * tests/test-nonblocking.c: Only test sockets when in use.
22605         * modules/nonblocking-tests (Depends-on): Drop socket.
22606         (Makefile.am): Link even if sockets are not present.
22607         * modules/pipe2-tests (Makefile.am): Likewise.
22608         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22609
22610         pipe2: fix O_NONBLOCK support on mingw
22611         * modules/pipe2 (Depends-on): Add nonblocking.
22612         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22613         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22614         * tests/test-nonblocking.c (main): Likewise.
22615         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22616
22617         fcntl-h: fix O_ACCMODE on cygwin
22618         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22619         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22620
22621         pipe-filter: drop O_NONBLOCK workarounds
22622         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22623         * modules/pipe-filter-ii (Depends-on): Likewise.
22624         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22625
22626         nonblocking: provide O_NONBLOCK for mingw
22627         * modules/nonblocking (Depends-on): Add open.
22628         (configure.ac): Set new witness macro.
22629         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22630         * modules/fcntl-h (Makefile.am): Substitute it.
22631         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22632         nonblocking module is in use.
22633         * lib/nonblocking.c: Adjust portability test.
22634         * lib/open.c (open): Don't let native open see gnulib flag.
22635         * tests/test-fcntl-h.c (main): Enhance test.
22636         * tests/test-open.h (test_open): Likewise.
22637         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22638
22639         careadlinkat: fix compilation error on mingw
22640         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22641         within struct allocator.
22642
22643 2011-04-06  Eric Blake  <eblake@redhat.com>
22644
22645         binary-io: relicense under LGPLv2+
22646         * modules/binary-io (License): Relax to LGPLv2+.
22647         Requested for libvirt, and required by pipe2.
22648
22649 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22650
22651         verify: use _Static_assert if available
22652         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22653         (verify_true, verify): Use it if available.  This generates better
22654         diagnostics with GCC 4.6.0 and later.
22655
22656 2011-04-05  Bruno Haible  <bruno@clisp.org>
22657
22658         Remove leftover generated .h files after config.status changed.
22659
22660         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22661         GL_GENERATE_ALLOCA_H.
22662         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22663         GL_GENERATE_ALLOCA_H evaluates to false.
22664
22665         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22666         GL_GENERATE_ARGZ_H.
22667         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22668         evaluates to false.
22669
22670         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22671         GL_GENERATE_BYTESWAP_H.
22672         * modules/byteswap (Makefile.am): Remove byteswap.h if
22673         GL_GENERATE_BYTESWAP_H evaluates to false.
22674
22675         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22676         GL_GENERATE_ERRNO_H.
22677         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22678         evaluates to false.
22679
22680         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22681         GL_GENERATE_FLOAT_H.
22682         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22683         evaluates to false.
22684
22685         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22686         GL_GENERATE_FNMATCH_H.
22687         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22688         GL_GENERATE_FNMATCH_H evaluates to false.
22689
22690         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22691         GL_GENERATE_GLOB_H.
22692         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22693         evaluates to false.
22694
22695         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22696         automake conditional GL_GENERATE_ICONV_H.
22697         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22698         evaluates to false.
22699
22700         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22701         GL_GENERATE_NETINET_IN_H.
22702         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22703         GL_GENERATE_NETINET_IN_H evaluates to false.
22704
22705         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22706         conditional GL_GENERATE_PTHREAD_H.
22707         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22708         * modules/pthread (Makefile.am): Remove pthread.h if
22709         GL_GENERATE_PTHREAD_H evaluates to false.
22710
22711         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22712         GL_GENERATE_SCHED_H.
22713         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22714         evaluates to false.
22715
22716         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22717         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22718         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22719         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22720
22721         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22722         GL_GENERATE_STDARG_H.
22723         * modules/stdarg (Makefile.am): Remove stdarg.h if
22724         GL_GENERATE_STDARG_H evaluates to false.
22725
22726         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22727         GL_GENERATE_STDBOOL_H.
22728         * modules/stdbool (Makefile.am): Remove stdbool.h if
22729         GL_GENERATE_STDBOOL_H evaluates to false.
22730
22731         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22732         conditional GL_GENERATE_STDDEF_H.
22733         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22734         * modules/stddef (Makefile.am): Remove stddef.h if
22735         GL_GENERATE_STDDEF_H evaluates to false.
22736
22737         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22738         GL_GENERATE_STDINT_H.
22739         * modules/stdint (Makefile.am): Remove stdint.h if
22740         GL_GENERATE_STDINT_H evaluates to false.
22741
22742         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22743         GL_GENERATE_SYSEXITS_H.
22744         * modules/sysexits (Makefile.am): Remove sysexits.h if
22745         GL_GENERATE_SYSEXITS_H evaluates to false.
22746
22747         Reported by Karl Berry and Ralf Wildenhues.
22748
22749 2011-04-05  Bruno Haible  <bruno@clisp.org>
22750
22751         Ensure to rebuild generated .h files when config.status has changed.
22752         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22753         config.status.
22754         * modules/ctype (Makefile.am): Likewise.
22755         * modules/dirent (Makefile.am): Likewise.
22756         * modules/errno (Makefile.am): Likewise.
22757         * modules/fcntl-h (Makefile.am): Likewise.
22758         * modules/float (Makefile.am): Likewise.
22759         * modules/getopt-posix (Makefile.am): Likewise.
22760         * modules/glob (Makefile.am): Likewise.
22761         * modules/iconv-h (Makefile.am): Likewise.
22762         * modules/inttypes (Makefile.am): Likewise.
22763         * modules/langinfo (Makefile.am): Likewise.
22764         * modules/locale (Makefile.am): Likewise.
22765         * modules/math (Makefile.am): Likewise.
22766         * modules/netdb (Makefile.am): Likewise.
22767         * modules/netinet_in (Makefile.am): Likewise.
22768         * modules/poll-h (Makefile.am): Likewise.
22769         * modules/pthread (Makefile.am): Likewise.
22770         * modules/pty (Makefile.am): Likewise.
22771         * modules/sched (Makefile.am): Likewise.
22772         * modules/search (Makefile.am): Likewise.
22773         * modules/selinux-h (Makefile.am): Likewise.
22774         * modules/signal (Makefile.am): Likewise.
22775         * modules/spawn (Makefile.am): Likewise.
22776         * modules/stdarg (Makefile.am): Likewise.
22777         * modules/stdbool (Makefile.am): Likewise.
22778         * modules/stddef (Makefile.am): Likewise.
22779         * modules/stdint (Makefile.am): Likewise.
22780         * modules/stdio (Makefile.am): Likewise.
22781         * modules/stdlib (Makefile.am): Likewise.
22782         * modules/string (Makefile.am): Likewise.
22783         * modules/strings (Makefile.am): Likewise.
22784         * modules/sys_file (Makefile.am): Likewise.
22785         * modules/sys_ioctl (Makefile.am): Likewise.
22786         * modules/sys_select (Makefile.am): Likewise.
22787         * modules/sys_socket (Makefile.am): Likewise.
22788         * modules/sys_stat (Makefile.am): Likewise.
22789         * modules/sys_time (Makefile.am): Likewise.
22790         * modules/sys_times (Makefile.am): Likewise.
22791         * modules/sys_utsname (Makefile.am): Likewise.
22792         * modules/sys_wait (Makefile.am): Likewise.
22793         * modules/sysexits (Makefile.am): Likewise.
22794         * modules/termios (Makefile.am): Likewise.
22795         * modules/time (Makefile.am): Likewise.
22796         * modules/unistd (Makefile.am): Likewise.
22797         * modules/wchar (Makefile.am): Likewise.
22798         * modules/wctype-h (Makefile.am): Likewise.
22799         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22800
22801 2011-04-05  Bruno Haible  <bruno@clisp.org>
22802
22803         pipe2: Relicense under LGPLv2+.
22804         * modules/pipe2 (License): Change to LGPLv2+.
22805         Requested by Eric Blake, for libvirt.
22806
22807 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22808
22809         bootstrap: compute gnulib_extra_files after updating build_aux
22810         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22811         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22812
22813 2011-04-05  Eric Blake  <eblake@redhat.com>
22814
22815         bootstrap: preserve git whitelist item sorting
22816         * build-aux/bootstrap (sort_patterns): New function.
22817         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22818
22819 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22820
22821         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22822         sc_space_tab check.
22823
22824 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22825
22826         areadlink, areadlinkat: rewrite in terms of careadlinkat
22827         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22828         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22829         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22830         (malloc, realloc): Remove #undefs.
22831         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22832         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22833         readlink, ssize_t, stdint, unistd.
22834         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22835         areadlink, stdint.
22836
22837         careadlinkat: new module
22838         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22839         * modules/careadlinkat: New files, written by me with
22840         a review and feedback from Ben Pfaff in
22841         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22842
22843 2011-04-01  Bruno Haible  <bruno@clisp.org>
22844
22845         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22846         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22847         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22848         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22849         Reported by Bruce Korb <bruce.korb@gmail.com>.
22850
22851 2011-04-01  Bruno Haible  <bruno@clisp.org>
22852
22853         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22854         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22855         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22856         * modules/wcpcpy (Depends-on): Add extensions.
22857         * modules/wcpncpy (Depends-on): Likewise.
22858         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22859         systems.
22860         * doc/posix-functions/wcpncpy.texi: Likewise.
22861         * doc/posix-functions/wcwidth.texi: Likewise.
22862
22863 2011-03-31  Eric Blake  <eblake@redhat.com>
22864
22865         nonblocking: fix mingw test failures
22866         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22867         non-blocking flag on regular file.
22868         (get_nonblocking_flag): Set errno on invalid fd.
22869         * tests/test-nonblocking.c (main): Avoid test failure on
22870         directories if fchdir is not active.
22871         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22872
22873 2011-03-31  Bruno Haible  <bruno@clisp.org>
22874
22875         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22876         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22877         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22878         Reported by Simon Josefsson <simon@josefsson.org>.
22879
22880 2011-03-31  Bruno Haible  <bruno@clisp.org>
22881         and Eric Blake  <eblake@redhat.com>
22882
22883         nonblocking: new module
22884         * modules/nonblocking: New module.
22885         * modules/nonblocking-tests: Likewise.
22886         * lib/nonblocking.h: New file.
22887         * lib/nonblocking.c: Likewise.
22888         * tests/test-nonblocking.c: New test.
22889         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22890
22891 2011-03-30  Bruno Haible  <bruno@clisp.org>
22892
22893         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22894         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22895         instead of 'printf' format for GCC >= 4.4.
22896         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22897         (fprintf, printf, vfprintf, vprintf): Declare with
22898         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22899         the system's vfprintf() function.
22900         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22901
22902 2011-03-30  Eric Blake  <eblake@redhat.com>
22903
22904         passfd: fix scoping bug
22905         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22906         before sendmsg/recvmsg.
22907
22908         passfd: standardize coding conventions
22909         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22910         can be learned at compile time.
22911         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22912         ifdefs.
22913         (sendfd, recvfd): Follow gnulib code conventions.
22914
22915         passfd: fix incorrect sendmsg arguments
22916         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22917         incorrect msg_controllen value.
22918         * modules/passfd-tests (Depends-on): Check for alarm.
22919         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22920         Reported by Bastien ROUCARIES.
22921
22922 2011-03-30  Bruno Haible  <bruno@clisp.org>
22923
22924         c-strcasestr: Relicense under LGPLv2+.
22925         * modules/c-strcasestr (License): Change to LGPLv2+.
22926         Requested by Eric Blake, for libvirt.
22927
22928 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22929
22930         * users.txt: Add libidn2.  Fix libtasn1 link.
22931
22932 2011-03-30  Jim Meyering  <meyering@redhat.com>
22933
22934         tests: readlink* ("",... fails with EINVAL on newer kernels
22935         readlink and readlinkat have typically failed with ENOENT for
22936         the invalid, empty file name,  "".  However, with the advent
22937         of linux-2.6.39, they fail with EINVAL.
22938         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22939         when operating on the empty file name.
22940         * tests/test-readlink.h (test_readlink): Likewise.
22941
22942 2011-03-29  Bruno Haible  <bruno@clisp.org>
22943
22944         Relicense some modules under LGPLv2+, for libidn2.
22945         * modules/array-mergesort (License): Change to LGPLv2+.
22946         * modules/c-strcaseeq (License): Likewise.
22947         * modules/striconveh (License): Likewise.
22948         * modules/striconveha (License): Likewise.
22949         * modules/uniconv/base (License): Likewise.
22950         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22951         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22952         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22953         * modules/unictype/base (License): Likewise.
22954         * modules/unictype/bidiclass-of (License): Likewise.
22955         * modules/unictype/category-M (License): Likewise.
22956         * modules/unictype/category-none (License): Likewise.
22957         * modules/unictype/category-of (License): Likewise.
22958         * modules/unictype/category-test (License): Likewise.
22959         * modules/unictype/category-test-withtable (License): Likewise.
22960         * modules/unictype/combining-class (License): Likewise.
22961         * modules/unictype/joiningtype-of (License): Likewise.
22962         * modules/unictype/scripts (License): Likewise.
22963         * modules/uninorm/base (License): Likewise.
22964         * modules/uninorm/canonical-decomposition (License): Likewise.
22965         * modules/uninorm/composition (License): Likewise.
22966         * modules/uninorm/decompose-internal (License): Likewise.
22967         * modules/uninorm/decomposition-table (License): Likewise.
22968         * modules/uninorm/nfc (License): Likewise.
22969         * modules/uninorm/nfd (License): Likewise.
22970         * modules/uninorm/u32-normalize (License): Likewise.
22971         * modules/unistr/base (License): Likewise.
22972         * modules/unistr/u32-cpy (License): Likewise.
22973         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22974         * modules/unistr/u32-to-u8 (License): Likewise.
22975         * modules/unistr/u32-uctomb (License): Likewise.
22976         * modules/unistr/u8-check (License): Likewise.
22977         * modules/unistr/u8-mblen (License): Likewise.
22978         * modules/unistr/u8-mbtouc (License): Likewise.
22979         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22980         * modules/unistr/u8-mbtoucr (License): Likewise.
22981         * modules/unistr/u8-prev (License): Likewise.
22982         * modules/unistr/u8-strlen (License): Likewise.
22983         * modules/unistr/u8-to-u32 (License): Likewise.
22984         * modules/unistr/u8-uctomb (License): Likewise.
22985         * modules/unitypes (License): Likewise.
22986         Requested by Simon Josefsson.
22987
22988 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22989
22990         lib-symbol-visibility: Add a notice.
22991         * modules/lib-symbol-visibility (Notice): New field.
22992
22993 2011-03-29  Bruno Haible  <bruno@clisp.org>
22994
22995         getaddrinfo: Doc fix.
22996         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22997         section "fixed in Gnulib".
22998
22999 2011-03-28  Simon Josefsson  <simon@josefsson.org>
23000
23001         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
23002         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
23003
23004 2011-03-26  Bruno Haible  <bruno@clisp.org>
23005
23006         unictype/property-byname: Reduce the number of load-time relocations.
23007         * lib/unictype/pr_byname.c: Include <stdlib.h>.
23008         (UC_PROPERTY_INDEX_*): New enumeration values.
23009         (uc_property_byname): Convert an index from the lookup table to an
23010         uc_property_t.
23011         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
23012         values.
23013
23014 2011-03-26  Bruno Haible  <bruno@clisp.org>
23015
23016         unictype/property-byname: Allow omitted word separators and aliases.
23017         * lib/unictype/pr_byname.gperf: Add property names without word
23018         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
23019         for 'space'.
23020
23021 2011-03-26  Bruno Haible  <bruno@clisp.org>
23022
23023         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
23024         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
23025         also hyphens to space.
23026         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
23027         without spaces.
23028         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
23029
23030 2011-03-26  Bruno Haible  <bruno@clisp.org>
23031
23032         unictype/joiningtype-byname: Recognize long names as well.
23033         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
23034         a long name.
23035         * lib/unictype/joiningtype_byname.c: Include <string.h>,
23036         unictype/joiningtype_byname.h.
23037         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
23038         * lib/unictype/joiningtype_byname.gperf: New file.
23039         * modules/unictype/joiningtype-byname (Files): Add
23040         lib/unictype/joiningtype_byname.gperf.
23041         (Depends-on): Add gperf.
23042         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
23043         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
23044         long names.
23045
23046         Tests for module 'unictype/joiningtype-longname'.
23047         * modules/unictype/joiningtype-longname-tests: New file.
23048         * tests/unictype/test-joiningtype_longname.c: New file.
23049
23050         New module 'unictype/joiningtype-longname'.
23051         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
23052         * lib/unictype/joiningtype_longname.c: New file.
23053         * modules/unictype/joiningtype-longname: New file.
23054         * modules/unictype/joiningtype-all (Depends-on): Add
23055         unictype/joiningtype-longname.
23056
23057 2011-03-26  Bruno Haible  <bruno@clisp.org>
23058
23059         unictype/bidiclass-byname: Recognize long names as well.
23060         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
23061         name.
23062         * lib/unictype/bidi_byname.c: Include <string.h>,
23063         unictype/bidi_byname.h.
23064         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
23065         * lib/unictype/bidi_byname.gperf: New file.
23066         * modules/unictype/bidiclass-byname (Files): Add
23067         lib/unictype/bidi_byname.gperf.
23068         (Depends-on): Add gperf.
23069         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
23070         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
23071         long names.
23072
23073         Tests for module 'unictype/bidiclass-longname'.
23074         * modules/unictype/bidiclass-longname-tests: New file.
23075         * tests/unictype/test-bidi_longname.c: New file.
23076
23077         New module 'unictype/bidiclass-longname'.
23078         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
23079         * lib/unictype/bidi_longname.c: New file.
23080         * modules/unictype/bidiclass-longname: New file.
23081         * modules/unictype/bidiclass-all (Depends-on): Add
23082         unictype/bidiclass-longname.
23083
23084 2011-03-26  Bruno Haible  <bruno@clisp.org>
23085
23086         unictype/bidi*: Rename modules.
23087         * modules/unictype/bidiclass-all: Renamed from
23088         modules/unictype/bidicategory-all.
23089         * modules/unictype/bidiclass-name: Renamed from
23090         modules/unictype/bidiclass-name.
23091         (Description): Update.
23092         * modules/unictype/bidiclass-name-tests: Renamed from
23093         modules/unictype/bidicategory-name-tests.
23094         * modules/unictype/bidiclass-byname: Renamed from
23095         modules/unictype/bidicategory-byname.
23096         (Description): Update.
23097         * modules/unictype/bidiclass-byname-tests: Renamed from
23098         modules/unictype/bidicategory-byname-tests.
23099         * modules/unictype/bidiclass-of: Renamed from
23100         modules/unictype/bidicategory-of.
23101         (Description): Update.
23102         * modules/unictype/bidiclass-of-tests: Renamed from
23103         modules/unictype/bidicategory-of-tests.
23104         * modules/unictype/bidiclass-test: Renamed from
23105         modules/unictype/bidicategory-test.
23106         (Description): Update.
23107         * modules/unictype/bidiclass-test-tests: Renamed from
23108         modules/unictype/bidicategory-test-tests.
23109         * modules/unictype/bidicategory-all: New file, a simple redirection.
23110         * modules/unictype/bidicategory-name: Likewise.
23111         * modules/unictype/bidicategory-byname: Likewise.
23112         * modules/unictype/bidicategory-of: Likewise.
23113         * modules/unictype/bidicategory-test: Likewise.
23114         * modules/unictype/property-bidi-* (Dependencies): Update.
23115         * lib/unictype/bidi_*.c: Update comment.
23116
23117 2011-03-26  Bruno Haible  <bruno@clisp.org>
23118
23119         unictype/bidi*: Rename functions, part 2.
23120         * modules/unictype/bidicategory-name (configure.ac): Update required
23121         libunistring version.
23122         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
23123
23124 2011-03-25  Bruno Haible  <bruno@clisp.org>
23125
23126         New module 'unictype/combining-class-all'.
23127         * modules/unictype/combining-class-all: New file.
23128
23129         Tests for module 'unictype/combining-class-byname'.
23130         * modules/unictype/combining-class-byname-tests: New file.
23131         * tests/unictype/test-combiningclass_byname.c: New file.
23132
23133         New module 'unictype/combining-class-byname'.
23134         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
23135         * lib/unictype/combiningclass_byname.c: New file.
23136         * lib/unictype/combiningclass_byname.gperf: New file.
23137         * modules/unictype/combining-class-byname: New file.
23138
23139         Tests for module 'unictype/combining-class-longname'.
23140         * modules/unictype/combining-class-longname-tests: New file.
23141         * tests/unictype/test-combiningclass_longname.c: New file.
23142
23143         New module 'unictype/combining-class-longname'.
23144         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
23145         * lib/unictype/combiningclass_longname.c: New file.
23146         * modules/unictype/combining-class-longname: New file.
23147
23148         Tests for module 'unictype/combining-class-name'.
23149         * modules/unictype/combining-class-name-tests: New file.
23150         * tests/unictype/test-combiningclass_name.c: New file.
23151
23152         New module 'unictype/combining-class-name'.
23153         * lib/unictype.in.h (uc_combining_class_name): New declaration.
23154         * lib/unictype/combiningclass_name.c: New file.
23155         * modules/unictype/combining-class-name: New file.
23156
23157 2011-03-25  Bruno Haible  <bruno@clisp.org>
23158
23159         unictype/combining-class: Rename source files.
23160         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
23161         of unictype/combining.h.
23162         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
23163         Update.
23164         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
23165         * modules/unictype/combining-class (Description): Fix.
23166         (Files, Makefile.am): Update.
23167         * tests/unictype/test-combiningclass.c: Renamed from
23168         tests/unictype/test-combining.c.
23169         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
23170
23171 2011-03-25  Bruno Haible  <bruno@clisp.org>
23172
23173         unictype: Update list of canonical combining classes.
23174         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
23175
23176 2011-03-25  Bruno Haible  <bruno@clisp.org>
23177
23178         unictype/category-byname: Recognize long names as well.
23179         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
23180         a long name.
23181         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
23182         unictype/categ_byname.h.
23183         (UC_CATEGORY_INDEX_*): New enumeration values.
23184         (uc_general_category_byname): Use uc_general_category_lookup and
23185         convert from index to value.
23186         * lib/unictype/categ_byname.gperf: New file.
23187         * modules/unictype/category-byname (Files): Add
23188         lib/unictype/categ_byname.gperf.
23189         (Depends-on): Add gperf.
23190         (Makefile.am): Add rule for generating unictype/categ_byname.h.
23191         * tests/unictype/test-categ_byname.c (main): Test the recognition of
23192         long names.
23193
23194         Tests for module 'unictype/category-longname'.
23195         * modules/unictype/category-longname-tests: New file.
23196         * tests/unictype/test-categ_longname.c: New file.
23197
23198         New module 'unictype/category-longname'.
23199         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
23200         * lib/unictype/categ_longname.c: New file.
23201         * modules/unictype/category-longname: New file.
23202         * modules/unictype/category-all (Depends-on): Add it.
23203
23204 2011-03-25  Bruno Haible  <bruno@clisp.org>
23205
23206         Tests for module 'unictype/category-LC'.
23207         * modules/unictype/category-LC-tests: New file.
23208         * tests/unictype/test-categ_LC.c: New file, automatically generated.
23209
23210         New module 'unictype/category-LC'.
23211         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
23212         (UC_CATEGORY_LC): New declaration.
23213         (UC_CASED_LETTER): New macro.
23214         * lib/gen-uni-tables.c (is_category_LC): New function.
23215         (output_categories): Also handle category LC.
23216         (UC_CATEGORY_MASK_LC): New enumeration value.
23217         (general_category_byname): Also handle category LC.
23218         * lib/unictype/categ_LC.c: New file.
23219         * lib/unictype/categ_LC.h: New file, automatically generated.
23220         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
23221         category LC.
23222         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
23223         * modules/unictype/category-LC: New file.
23224         * modules/unictype/category-byname (Depends-on): Add
23225         unictype/category-LC.
23226         * modules/unictype/category-all (Depends-on): Likewise.
23227
23228 2011-03-25  Eric Blake  <eblake@redhat.com>
23229
23230         xmalloc: revert yesterday's regression
23231         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
23232         realloc's underlying behavior (allowing allocation of zero-size
23233         objects, especially if malloc-gnu is also in use).
23234
23235 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
23236
23237         maint.mk: add missing version to VC-tag
23238         * top/maint.mk: git tag was missing actual tag name; add it.
23239
23240         valgrind: do leak checking, and exit with code 1 on error (not 0)
23241         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
23242         to VALGRIND.
23243
23244 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
23245
23246         posix-modules: say what it does.
23247         * posix-modules: Add a line to the --help output saying what it does.
23248
23249 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
23250
23251         xmalloc: Do not leak if underlying realloc is C99 compatible.
23252         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
23253         This avoids a leak on C99-based systems.  See
23254         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
23255
23256 2011-03-24  Eric Blake  <eblake@redhat.com>
23257
23258         realloc: document portability problem
23259         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
23260         passing 0 size to realloc.
23261
23262 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
23263
23264         doc: update users.txt
23265         * users.txt: Add cvsps, tmpwatch
23266
23267 2011-03-23  Matt Rice  <ratmice@gmail.com>
23268
23269         doc: update users.txt
23270         * users.txt: Add gdb.
23271
23272 2011-03-23  Jim Meyering  <meyering@redhat.com>
23273
23274         doc: update users.txt
23275         Looking through matches up to the following URL (there are still
23276         several more pages), I found several projects that use gnulib:
23277         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
23278         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
23279         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
23280
23281 2011-03-22  Bruno Haible  <bruno@clisp.org>
23282
23283         unictype/bidi*: Rename functions.
23284         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
23285         uc_bidi_class, uc_is_bidi_class): New declarations.
23286         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
23287         uc_bidi_category_byname.
23288         (uc_bidi_category_byname): New function.
23289         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
23290         u_bidi_category_name.
23291         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
23292         (uc_bidi_category_name): New function.
23293         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
23294         uc_bidi_category.
23295         (uc_bidi_category): New function.
23296         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
23297         uc_is_bidi_category. Invoke uc_bidi_class.
23298         (uc_is_bidi_category): New function.
23299         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
23300         instead of uc_bidi_category_byname.
23301         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
23302         instead of uc_bidi_category_name.
23303         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
23304         uc_bidi_category.
23305         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
23306         instead of uc_is_bidi_category.
23307
23308 2011-03-21  Bruno Haible  <bruno@clisp.org>
23309
23310         New module 'unictype/joininggroup-all'.
23311         * modules/unictype/joininggroup-all: New file.
23312
23313         Tests for module 'unictype/joininggroup-of'.
23314         * modules/unictype/joininggroup-of-tests: New file.
23315         * tests/unictype/test-joininggroup_of.c: New file.
23316         * tests/unictype/test-joininggroup_of.h: New file, automatically
23317         generated by gen-uni-tables.
23318
23319         New module 'unictype/joininggroup-of'.
23320         * modules/unictype/joininggroup-of: New file.
23321         * lib/unictype/joininggroup_of.c: New file.
23322         * lib/unictype/joininggroup_of.h: New file, automatically generated by
23323         gen-uni-tables.
23324
23325         Tests for module 'unictype/joininggroup-byname'.
23326         * modules/unictype/joininggroup-byname-tests: New file.
23327         * tests/unictype/test-joininggroup_byname.c: New file.
23328
23329         New module 'unictype/joininggroup-byname'.
23330         * modules/unictype/joininggroup-byname: New file.
23331         * lib/unictype/joininggroup_byname.c: New file.
23332         * lib/unictype/joininggroup_byname.gperf: New file.
23333
23334         Tests for module 'unictype/joininggroup-name'.
23335         * modules/unictype/joininggroup-name-tests: New file.
23336         * tests/unictype/test-joininggroup_name.c: New file.
23337
23338         New module 'unictype/joininggroup-name'.
23339         * modules/unictype/joininggroup-name: New file.
23340         * lib/unictype/joininggroup_name.c: New file.
23341         * lib/unictype/joininggroup_name.h: New file.
23342
23343         New module 'unictype/joiningtype-all'.
23344         * modules/unictype/joiningtype-all: New file.
23345
23346         Tests for module 'unictype/joiningtype-of'.
23347         * modules/unictype/joiningtype-of-tests: New file.
23348         * tests/unictype/test-joiningtype_of.c: New file.
23349         * tests/unictype/test-joiningtype_of.h: New file, automatically
23350         generated by gen-uni-tables.
23351
23352         New module 'unictype/joiningtype-of'.
23353         * modules/unictype/joiningtype-of: New file.
23354         * lib/unictype/joiningtype_of.c: New file.
23355         * lib/unictype/joiningtype_of.h: New file, automatically generated by
23356         gen-uni-tables.
23357
23358         Tests for module 'unictype/joiningtype-byname'.
23359         * modules/unictype/joiningtype-byname-tests: New file.
23360         * tests/unictype/test-joiningtype_byname.c: New file.
23361
23362         New module 'unictype/joiningtype-byname'.
23363         * modules/unictype/joiningtype-byname: New file.
23364         * lib/unictype/joiningtype_byname.c: New file.
23365
23366         Tests for module 'unictype/joiningtype-name'.
23367         * modules/unictype/joiningtype-name-tests: New file.
23368         * tests/unictype/test-joiningtype_name.c: New file.
23369
23370         New module 'unictype/joiningtype-name'.
23371         * modules/unictype/joiningtype-name: New file.
23372         * lib/unictype/joiningtype_name.c: New file.
23373
23374         unictype: Add support for Arabic shaping properties.
23375         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
23376         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
23377         declarations.
23378         (UC_JOINING_GROUP_*): New enumeration values.
23379         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
23380         declarations.
23381         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
23382         (unicode_joining_type): New variable.
23383         (UC_JOINING_GROUP_*): New enumeration values.
23384         (unicode_joining_group): New variable.
23385         (fill_arabicshaping, joining_type_as_c_identifier,
23386         output_joining_type_test, output_joining_type,
23387         joining_group_as_c_identifier, output_joining_group_test,
23388         output_joining_group): New functions.
23389         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
23390         fill_arabicshaping and output_joining_type_test, output_joining_type,
23391         output_joining_group_test, output_joining_group.
23392         Reported by Simon Josefsson.
23393
23394 2011-03-21  Jim Meyering  <meyering@redhat.com>
23395
23396         strftime: fix a bug in yesterday's change
23397         * lib/strftime.c (add): Accommodate width's initial value of -1.
23398         Otherwise, nstrftime would copy uninitialized data into
23399         the result buffer.
23400
23401 2011-03-21  Jim Meyering  <meyering@redhat.com>
23402
23403         tests: add strftime-tests module
23404         * tests/test-strftime.c: New file.
23405         * modules/strftime-tests: New module.
23406
23407 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23408
23409         strftime: don't assume a byte count fits in 'int'
23410         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
23411         found this problem by static analysis, using gcc -Wstrict-overflow
23412         (GCC 4.5.2, x86-64).  This reported an optimization that depended
23413         on an integer overflow having undefined behavior, but it turns out
23414         that the argument is a size, which might not fit in 'int' anyway,
23415
23416 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23417
23418         stdio: don't require ignore_value around fwrite
23419
23420         This patch works around libc bug 11959
23421         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
23422         Without this patch, applications must often write
23423         ignore_value (fwrite (...)) even though the ignore_value is
23424         not helpful here.  It's common to write many objects, using
23425         fwrite/printf/etc., and then use ferror to detect output error.
23426
23427         I considered making this patch optional, but decided against it,
23428         because libc is obviously being inconsistent here: there is no
23429         reason libc should insist that user code must inspect fwrite
23430         return's value without also insisting that it inspect printf's,
23431         putchar's, etc.  If user code wants to have a strict style where
23432         all these functions' values are checked (so that ferror need not
23433         be checked), we could add support for that style in a new gnulib
23434         module, but in the meantime it's better to be consistent and to
23435         support common usage.
23436
23437         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
23438         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
23439         that we are compiling in checking mode, and if not C++, and
23440         if not already wrapping fwrite for some other reason.
23441         (fwrite): #define to rpl_fwrite if the latter is defined.
23442
23443 2011-03-20  Bruno Haible  <bruno@clisp.org>
23444
23445         verror: Fix compilation error introduced on 2011-02-13.
23446         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
23447         instead of __attribute__.
23448         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23449
23450 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23451             Bruno Haible  <bruno@clisp.org>
23452
23453         socklen: do not depend on sys_socket
23454         While trying to modify Emacs to use gnulib's socklen module,
23455         I discovered a circular dependency: socklen depends on sys_socket
23456         and vice versa.  Emacs can use socklen, but it does not need
23457         sys_socket because it has its own substitute for sys/socket.h.
23458         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23459         gl_TYPE_SOCKLEN_T.
23460         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23461         gl_PREREQ_SYS_H_SOCKET.
23462         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23463         gl_PREREQ_SYS_H_SOCKET.
23464         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23465         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23466         * modules/socklen (Depends-on): Do not depend on sys_socket.
23467         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23468
23469 2011-03-20  Jim Meyering  <meyering@redhat.com>
23470
23471         maint.mk: sort file names *after* new transformation
23472         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23473         prefix would have led to an unwarranted failure in GNU parted.
23474         Sort after that transformation.
23475
23476 2011-03-19  Jim Meyering  <meyering@redhat.com>
23477
23478         maint.mk: fix po-file syntax-check rule
23479         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23480         Patch by Bruno Haible.
23481
23482 2011-03-19  Bruno Haible  <bruno@clisp.org>
23483
23484         socklen: Update comment.
23485         * m4/socklen.m4: Update comment about platforms.
23486
23487 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23488             Bruno Haible  <bruno@clisp.org>
23489
23490         inet_ntop, inet_pton: Simplify.
23491         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23492         documented to provide socklen_t and we already depend on sys_socket.
23493         * modules/inet_pton (Depends-on): Likewise.
23494         * lib/arpa_inet.in.h: Adjust comment.
23495
23496 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23497             Bruno Haible  <bruno@clisp.org>
23498
23499         netdb: Simplify.
23500         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23501         documented to provide socklen_t and we already depend on sys_socket.
23502         * lib/netdb.in.h: Adjust comment.
23503
23504 2011-03-19  Bruno Haible  <bruno@clisp.org>
23505
23506         sys_socket, netdb: Document problem with socklen_t.
23507         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23508         platforms.
23509         * doc/posix-headers/netdb.texi: Likewise.
23510
23511 2011-03-18  Eric Blake  <eblake@redhat.com>
23512
23513         maint.mk: let po check work in VPATH build
23514         * top/maint.mk (po_file): Allow cfg.mk override.
23515         (sc_po_check): Allow VPATH use.
23516         Reported by Jiri Denemark.
23517
23518 2011-03-16  Jim Meyering  <meyering@redhat.com>
23519
23520         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23521         Before, you would have had to create one .x-sc_ file per rule in order
23522         to exempt offending files.  Now, you may instead use a Make variable --
23523         usually defined in cfg.mk -- whose name identifies the affected rule.
23524         * top/maint.mk (_sc_excl): Define.
23525         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23526         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23527
23528 2011-03-13  Bruno Haible  <bruno@clisp.org>
23529
23530         ignore-value tests: Avoid warnings.
23531         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23532         empty for gcc < 3.4.
23533
23534 2011-03-13  Bruno Haible  <bruno@clisp.org>
23535
23536         passfd: Fix link error on Solaris.
23537         * modules/passfd (Description): Correct.
23538         (Depends-on): Add socketlib.
23539         (Link): New section.
23540         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23541
23542 2011-03-13  Bruno Haible  <bruno@clisp.org>
23543
23544         passfd: Fix link error on AIX 5.2.
23545         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23546
23547 2011-03-13  Bruno Haible  <bruno@clisp.org>
23548
23549         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23550         * lib/sys_socket.in.h: Include <stddef.h>.
23551         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23552         CMSG_FIRSTHDR. Remove unused variable.
23553
23554 2011-03-13  Bruno Haible  <bruno@clisp.org>
23555
23556         passfd: Fix compilation error on OpenBSD.
23557         * lib/passfd.c: Include <sys/uio.h>.
23558
23559 2011-03-13  Bruno Haible  <bruno@clisp.org>
23560
23561         passfd test: Fix warnings.
23562         * tests/test-passfd.c: Include <sys/wait.h>.
23563         (main): Fix typo.
23564
23565 2011-03-13  Bruno Haible  <bruno@clisp.org>
23566
23567         passfd module, part 4, tweaks.
23568         * tests/test-passfd.c: Reorder includes.
23569         (main): Fix perror and printf calls.
23570
23571 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23572
23573         passfd module, part 4.
23574         * modules/passfd-tests: New file.
23575         * tests/test-passfd.c: New file.
23576
23577 2011-03-13  Jim Meyering  <meyering@redhat.com>
23578
23579         Makefile: rely on GNU make; derive syntax-check rule names
23580         Rather than requiring that each sc_ rule be listed as a dependent
23581         of "check", use features of GNU make to derive the list.
23582         * Makefile (syntax-check-rules): Define.
23583         (check): Depend on the new variable, not the hard-coded list.
23584
23585 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23586             Bruno Haible  <bruno@clisp.org>
23587
23588         passfd module, part 3.
23589         * lib/passfd.h (recvfd): Add a flags argument.
23590         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23591         (recvfd): Add a flags argument.
23592         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23593         exists.
23594         * modules/passfd (Depends-on): Add cloexec.
23595         Suggested by Eric Blake.
23596
23597 2011-03-13  Bruno Haible  <bruno@clisp.org>
23598
23599         passfd module, part 2, tweaks.
23600         * modules/passfd (Files): Reorder.
23601         (Depends-on): Remove errno.
23602         (Include): Remove <sys/socket.h>, <sys/un.h>.
23603         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23604         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23605         specification header. Include <sys/socket.h> always. Don't include
23606         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23607         (sendfd): Clarify that it sets errno when it fails.
23608         (recvfd): Fix specification.
23609
23610 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23611
23612         passfd module, part 2.
23613         * modules/passfd: New file.
23614         * lib/passfd.h: New file.
23615         * lib/passfd.c: New file.
23616
23617 2011-03-12  Bruno Haible  <bruno@clisp.org>
23618
23619         wcswidth, mbswidth: Avoid integer overflow.
23620         * lib/wcswidth.c: Include <limits.h>.
23621         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23622         * lib/mbswidth.c: Include <limits.h>.
23623         (mbsnwidth): Avoid 'int' overflow.
23624         Reported by Jim Meyering.
23625
23626 2011-03-12  Bruno Haible  <bruno@clisp.org>
23627
23628         futimens, utimensat: Avoid endless recursion on Solaris 10.
23629         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23630         Solaris.
23631         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23632         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23633
23634 2011-03-11  Jim Meyering  <meyering@redhat.com>
23635
23636         maint.mk: relax a regexp to accommodate other formatting styles
23637         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23638         between "ngettext" and the following "(".
23639
23640 2011-03-11  Pádraig Brady <P@draigBrady.com>
23641
23642         maint.mk: suppress a false positive warning
23643         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23644         diagnostics are marked with ngettext.
23645
23646 2011-03-10  Eric Blake  <eblake@redhat.com>
23647
23648         wchar: add explicit dependencies, for Tru64
23649         * modules/mbmemcasecoll (Depends-on): Add wchar.
23650         * modules/mbtowc (Depends-on): Likewise.
23651         * modules/vasnprintf (Depends-on): Likewise.
23652         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23653         * modules/wctomb (Depends-on): Likewise.
23654         Reported by Peter O'Gorman.
23655
23656 2011-03-08  Bruno Haible  <bruno@clisp.org>
23657
23658         passfd module, part 1, tweaks.
23659         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23660         Improve indentation. Improve AC_MSG_CHECKING messages.
23661         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23662         gl_SOCKET_FAMILIES.
23663
23664 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23665
23666         passfd module, part 1.
23667         * m4/afunix.m4: New file.
23668         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23669         sockets.
23670
23671 2011-03-08  Bruno Haible  <bruno@clisp.org>
23672
23673         regex-quote: New API.
23674         * lib/regex-quote.h: Include <stdbool.h>.
23675         (struct regex_quote_spec): New type.
23676         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23677         New declarations.
23678         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23679         'const struct regex_quote_spec *' argument.
23680         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23681         (pcre_special): New constant.
23682         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23683         New functions.
23684         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23685         'const struct regex_quote_spec *' argument.
23686         * modules/regex-quote (Depends-on): Add stdbool.
23687         * tests/test-regex-quote.c (check): Update for new API. Add test for
23688         anchored results.
23689         * NEWS: Mention the API change.
23690         Reported by Reuben Thomas and Eric Blake.
23691
23692 2011-03-06  Bruno Haible  <bruno@clisp.org>
23693
23694         regex-quote: Fix creation of POSIX extended regular expressions.
23695         * lib/regex-quote.c (ere_special): Add grouping and alternation
23696         operators.
23697
23698 2011-03-05  Bruno Haible  <bruno@clisp.org>
23699
23700         doc: Improve doc regarding autopoint vs. gnulib.
23701         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23702         disable autopoint while running autoreconf.
23703         Suggested by Ralf Wildenhues.
23704
23705 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23706
23707         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23708         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23709
23710 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23711
23712         parse-duration: remove xalloc.h dependency
23713         * lib/parse-duration.c (parse_period): handle NULL return from
23714         strdup instead of calling xstrdup().
23715         * modules/parse-duration: remove "xalloc" dependency
23716
23717 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23718
23719         bootstrap: honor m4_base when running aclocal
23720         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23721
23722 2011-03-02  Jim Meyering  <meyering@redhat.com>
23723
23724         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23725         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23726         on request from Matt Booth.
23727
23728 2011-03-01  Eric Blake  <eblake@redhat.com>
23729
23730         test-link: work on Hurd
23731         * tests/test-link.h (test_link): Hurd rejects linking directories
23732         with EISDIR instead of the POSIX-mandated EPERM.
23733
23734 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23735
23736         stdio: simplify by moving files to printf-posix, sigpipe
23737         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23738         since this symbol is needed only if printf is replaced.
23739         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23740         Require gl_ASM_SYMBOL_PREFIX.
23741         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23742         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23743         (Depends-on): Add 'raise'.
23744         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23745         * modules/stdio (Files): Remove lib/stdio-write.c,
23746         m4/asm-underscore.m4.
23747         (Depends-on): Remove 'raise'.
23748
23749         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23750         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23751         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23752         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23753
23754 2011-02-28  Bruno Haible  <bruno@clisp.org>
23755
23756         localcharset: Assume ANSI C behaviour of free().
23757         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23758         calling free().
23759         Suggested by Simon Josefsson <simon@josefsson.org>.
23760
23761 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23762             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23763             Bruno Haible  <bruno@clisp.org>  (tiny change)
23764
23765         On Cygwin, use /proc file system instead of win32 API.
23766         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23767         Win32 file names.
23768         (DllMain): Simplify by removing Cygwin specific code.
23769         (find_shared_library_fullname): Use Linux specific implementation also
23770         for Cygwin.
23771         (get_shared_library_fullname): Update accordingly.
23772         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23773         Win32 file names.
23774         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23775         Cygwin specific code.
23776
23777 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23778             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23779
23780         Fix OpenMP flag detection for various Fortran compilers.
23781         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23782         OpenMP-conditional compilation construct, to force compile
23783         failure with missing OpenMP flag.
23784         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23785
23786 2011-02-25  Eric Blake  <eblake@redhat.com>
23787
23788         strstr: expand test coverage
23789         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23790         compilation.
23791         * tests/test-memmem.c (main): Duplicate tests.
23792         * tests/test-strcasestr.c (main): Likewise.
23793         * tests/test-c-strcasestr.c (main): Likewise.
23794
23795 2011-02-25  Jim Meyering  <meyering@redhat.com>
23796
23797         maint.mk: detect missing-NL-at-EOF, too
23798         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23799         it also detects when a file lacks a newline at EOF.
23800         (require_exactly_one_NL_at_EOF_): Renamed from
23801         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23802         since people may well have .x-sc_... file names tied to the
23803         existing name.  Suggested by Eric Blake.
23804
23805 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23806
23807         dirname: move m4/dos.m4 functionality into lib/dosname.h
23808
23809         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23810         extracts symbols from it, puts them into config.h; but it's much
23811         easier to use the symbols directly.  filename.h already does this,
23812         but it disagrees with dos.m4 in some respects.  This patch
23813         introduces a different include file dosname.h that packages up
23814         dos.m4, and then later we can work on merging filename.h and
23815         dosname.h.  Applications that need only the easy-to-configure
23816         symbols should consider including dosname.h rather than dirname.h.
23817         * NEWS: Mention incompatible changes.
23818         * m4/dos.m4: Remove.
23819         * lib/dosname.h, modules/dosname: New files.
23820         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23821         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23822         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23823         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23824         Include dosname.h, not dirname.h.
23825         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23826         Include dosname.h, for definitions of symbols like ISSLASH
23827         that used to be in config.h.
23828         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23829         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23830         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23831         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23832         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23833         * modules/rmdir (Files): Likewise.
23834         * modules/stat (Files): Likewise.
23835         * modules/unlink (Files): Likewise.
23836         * modules/dirname-lgpl (Depends-on): Add dosname.
23837         * modules/lstat (Depends-on): Likewise.
23838         * modules/openat (Depends-on): Likewise.
23839         * modules/rmdir (Depends-on): Likewise.
23840         * modules/savewd (Depends-on): Likewise.
23841         * modules/stat (Depends-on): Likewise.
23842         * modules/unlink (Depends-on): Likewise.
23843         * modules/openat (Depends-on): Remove dirname-lgpl.
23844         * modules/savewd (Depends-on): Likewise.
23845         * tests/test-dirname.c: Do not use removed symbols like
23846         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23847         the remaining symbols, e.g., ISSLASH ('\\').
23848
23849 2011-02-25  Eric Blake  <eblake@redhat.com>
23850
23851         strstr: revert patches that introduced bug and pessimization
23852         * lib/str-two-way.h: Add another reference.
23853         (two_way_short_needle, two_way_long_needle): Revert changes from
23854         2011-02-24; they pessimize search speed.
23855         (critical_factorization): Partially revert changes from
23856         2010-06-22; they violate the requirement that the left half of the
23857         needle be smaller than the period of the needle.
23858
23859 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23860
23861         filenamecat: remove unnecessary dependency on dirname-lgpl
23862         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23863         is no direct dependency, just an indirect one via filenamecat-lgpl.
23864
23865         remove: remove unnecessary use of m4/dos.m4
23866         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23867         * modules/remove (FILES): Remove m4/dos.m4.
23868
23869         * lib/openat-proc.c: Don't include dirname.h; not needed.
23870
23871         backupfile: remove unnecessary use of m4/dos.m4
23872         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23873         of its symbols are used by the backupfile code.  backupfile.c does
23874         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23875         for the rare case of programs that want all their backup file
23876         names to live within 8+3 limits, and dos.m4 doesn't address that.
23877         * modules/backupfile (Files): Remove m4/dos.m4.
23878
23879 2011-02-24  Jim Meyering  <meyering@redhat.com>
23880
23881         strstr: fix a bug whereby strstr would mistakenly return NULL
23882         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23883         in period calculation.
23884         (two_way_long_needle): Likewise.
23885         The original problem was reported by Mike Stump in
23886         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23887         Ralf Wildenhues provided the short needle and haystack.
23888         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23889         Add a more involved test to trigger the bug in two_way_long_needle.
23890
23891 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23892
23893         gnulib-tool: remove use of bold display in help screen
23894         * gnulib-tool (func_usage): Do not use bold display anymore in the
23895         help screen.  That was just meant to be a temporary emphasis for a
23896         backward-incompatible change.
23897
23898 2011-02-23  Bruno Haible  <bruno@clisp.org>
23899
23900         Fix misindentation of preprocessor directives.
23901         * lib/argp-namefrob.h: Reindent preprocessor directives.
23902         * lib/getopt_int.h (struct _getopt_data): Likewise.
23903         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23904         * lib/vasnprintf.c (decode_long_double): Likewise.
23905         * tests/test-argmatch.c: Insert blank lines, for clarity.
23906         * tests/test-exclude.c: Likewise.
23907
23908 2011-02-22  Bruno Haible  <bruno@clisp.org>
23909
23910         ioctl: Fix for MacOS X in 64-bit mode.
23911         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23912         value.
23913         Suggested by Eric Blake.
23914         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23915
23916 2011-02-22  Jim Meyering  <meyering@redhat.com>
23917
23918         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23919         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23920         in lib/.
23921
23922 2011-02-22  Eric Blake  <eblake@redhat.com>
23923
23924         maint: avoid any CDPATH issue
23925         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23926
23927         maint: adjust cpp indentation for my modules, as well
23928         * Makefile (sc_cpp_indent_check): Add my name.
23929         * lib/fbufmode.c: Filter through cppi.
23930         * lib/fpurge.c: Likewise.
23931         * lib/freadable.c: Likewise.
23932         * lib/freading.c: Likewise.
23933         * lib/fwritable.c: Likewise.
23934         * lib/fwriting.c: Likewise.
23935         * lib/sigaction.c: Likewise.
23936
23937 2011-02-22  Jim Meyering  <meyering@redhat.com>
23938
23939         maint: adjust cpp indentation to reflect nesting depth
23940         I.e., in a block of code that begins with an unnested "#if",
23941         put one space between the "#" in column 1 and following token.
23942         For example,
23943         -#include <sys/vfs.h>
23944         +# include <sys/vfs.h>
23945         Do this only in .c files that are part of a module I maintain.
23946         * lib/linkat.c: Filter through cppi.
23947         * lib/nanosleep.c: Likewise.
23948         * lib/openat.c: Likewise.
23949         * lib/openat-die.c: Likewise.
23950         * lib/dup3.c: Likewise.
23951         * lib/fchownat.c: Likewise.
23952         * lib/flock.c: Likewise.
23953         * lib/fsync.c: Likewise.
23954         * lib/fts.c: Likewise.
23955         * lib/getpass.c: Likewise.
23956         * lib/gettimeofday.c: Likewise.
23957         * lib/userspec.c: Likewise.
23958         * Makefile (sc_cpp_indent_check): New rule, to check this.
23959
23960 2011-02-22  Bruno Haible  <bruno@clisp.org>
23961
23962         New module 'wctomb'.
23963         * lib/stdlib.in.h (wctomb): New declaration.
23964         * lib/wctomb.c: New file.
23965         * lib/wctomb-impl.h: New file.
23966         * m4/wctomb.m4: New file.
23967         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23968         REPLACE_WCTOMB.
23969         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23970         REPLACE_WCTOMB.
23971         * modules/wctomb: New file.
23972         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23973         * doc/posix-functions/wctomb.texi: Mention the new module.
23974         * modules/wctob (Depends-on): Add wctomb.
23975
23976 2011-02-22  Bruno Haible  <bruno@clisp.org>
23977
23978         New module 'mbtowc'.
23979         * lib/stdlib.in.h (mbtowc): New declaration.
23980         * lib/mbtowc.c: New file.
23981         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23982         * m4/mbtowc.m4: New file.
23983         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23984         REPLACE_MBTOWC.
23985         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23986         REPLACE_MBTOWC.
23987         * modules/mbtowc: New file.
23988         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23989         * doc/posix-functions/mbtowc.texi: Mention the new module.
23990         * modules/btowc (Depends-on): Add mbtowc.
23991
23992 2011-02-22  Bruno Haible  <bruno@clisp.org>
23993
23994         wcrtomb: Add more tests for native Windows platforms.
23995         * tests/test-wcrtomb-w32-1.sh: New file.
23996         * tests/test-wcrtomb-w32-2.sh: New file.
23997         * tests/test-wcrtomb-w32-3.sh: New file.
23998         * tests/test-wcrtomb-w32-4.sh: New file.
23999         * tests/test-wcrtomb-w32-5.sh: New file.
24000         * tests/test-wcrtomb-w32.c: New file.
24001         * modules/wcrtomb-tests (Files): Add them.
24002         (Makefile.am): Arrange to run these tests.
24003         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
24004         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
24005
24006 2011-02-20  Bruno Haible  <bruno@clisp.org>
24007
24008         wcrtomb: Enhance test.
24009         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
24010
24011 2011-02-20  Bruno Haible  <bruno@clisp.org>
24012
24013         mbrtowc: Tiny optimization.
24014         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
24015
24016 2011-02-20  Jim Meyering  <meyering@redhat.com>
24017
24018         test-exclude.c: remove unmatched #endif
24019         * tests/test-exclude.c: Remove stray #endif, left over from
24020         the change of a week ago.
24021
24022 2011-02-19  Jim Meyering  <meyering@redhat.com>
24023
24024         git-version-gen: skip "-dirty" check when appropriate
24025         * build-aux/git-version-gen: Don't run any git commands when the
24026         version string comes from .tarball-version.  Prior to this, we
24027         would run git update-index --refresh even from a just-unpacked
24028         tarball directory, and that could affect a .git/ directory in a
24029         parent of the build directory.  Reported by Mike Frysinger.
24030
24031 2011-02-19  Bruno Haible  <bruno@clisp.org>
24032
24033         unictype/property-byname: Reduce the size of the 'data' segment.
24034         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
24035
24036 2011-02-19  Bruno Haible  <bruno@clisp.org>
24037
24038         unictype/scripts: Reduce the size of the 'data' segment.
24039         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
24040         '%pic'.
24041         * lib/unictype/scripts_byname.gperf: Regenerated.
24042
24043 2011-02-19  Bruno Haible  <bruno@clisp.org>
24044
24045         stdint: Update documentation.
24046         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
24047
24048 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
24049
24050         stdint: omit redundant check for wchar.h
24051         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
24052         always tests whether wchar.h exists, so remove the now-redundant test.
24053
24054 2011-02-18  Bruno Haible  <bruno@clisp.org>
24055
24056         stdint: Cut dependency to module 'wchar'.
24057         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
24058         include the necessary prerequisites.
24059         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
24060         * modules/stdint (Depends-on): Remove wchar.
24061         (Makefile.am): Substitute HAVE_WCHAR_H.
24062         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
24063
24064 2011-02-18  Eric Blake  <eblake@redhat.com>
24065
24066         longlong: skip, rather than fail, on cross-compilation
24067         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
24068         when cross-compiling; regression from 2011-02-16.
24069
24070 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
24071
24072         * NEWS: Mention 2011-02-08 change to stdlib.
24073
24074 2011-02-17  Bruno Haible  <bruno@clisp.org>
24075
24076         getloadavg: Add comments about platforms.
24077         * m4/getloadavg.m4: Add comment.
24078         * lib/getloadavg.c: Likewise.
24079
24080 2011-02-17  Bruno Haible  <bruno@clisp.org>
24081
24082         getloadavg: Fix link error on Solaris 2.6.
24083         * modules/getloadavg (Link): New section.
24084         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
24085         linking test-getloadavg.
24086         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
24087         getloadavg.
24088
24089 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
24090
24091         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
24092         It was 'int', but this doesn't match the IRIX 6.5 manual.
24093         Suggested by Bruno Haible in
24094         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
24095
24096 2011-02-17  Bruno Haible  <bruno@clisp.org>
24097
24098         havelib: Fix comments.
24099         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
24100         change.
24101
24102 2011-02-17  Bruno Haible  <bruno@clisp.org>
24103
24104         havelib: Update config.rpath.
24105         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
24106
24107 2011-02-17  Bruno Haible  <bruno@clisp.org>
24108
24109         getloadavg test: Add some plausibility checks.
24110         * tests/test-getloadavg.c (check_avg): Print a warning when the value
24111         is improbable.
24112
24113 2011-02-16  Eric Blake  <eblake@redhat.com>
24114
24115         maintainer-makefile: make syntax-check a no-op from tarballs
24116         * top/maint.mk (no-vc-detected): New rule.
24117         (local-checks-available): Use it to avoid hanging if someone tries
24118         'make syntax-check' from a tarball.  Also append to any non-syntax
24119         checks already defined in cfg.mk.
24120
24121 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24122
24123         longlong: tune, particularly for common case of c99
24124
24125         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
24126         or running anything if c99, or if unsigned long long int does not
24127         work.  In either case, we know the answer without further tests.
24128         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
24129         it at most once, and use its results for both long long int and
24130         unsigned long long int.  This is more likely to be efficient in
24131         the common case where the program wants to check for both long
24132         long int and unsigned long long int.
24133         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
24134         since the answer is already known.
24135
24136 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
24137
24138         getloadavg: set errno
24139         * lib/getloadavg.c: Set errno when returning -1.  If no other
24140         error number looks appropriate, set it to ENOSYS if the getloadavg
24141         looks like it can't possibly ever work, ENOTSUP otherwise.
24142         Suggested by Bruno Haible in
24143         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
24144
24145         getloadavg: trim unused parts and speed up 'configure'
24146         * NEWS: Document this.
24147         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
24148         always compiled if getloadavg is absent.
24149         Move test code to ...
24150         * tests/test-getloadavg.c: New file, containing previous
24151         contents of test from lib/getloadavg.c.  It also contains
24152         suggestions by Bruno Haible in
24153         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
24154         * modules/getloadavg-tests: New file.
24155         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
24156         Do tests in the same order as they're needed for getloadavg.c.
24157         Omit setgid-related tests that generate symbols KMEM_GROUP,
24158         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
24159         Do only the tests that are needed to see whether the system has
24160         getloadavg, moving the other tests into ...
24161         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
24162         NLIST_NAME_UNION; nobody should be using it.  Do not define
24163         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
24164         relevant, as the user of this module shouldn't care how getloadavg
24165         is implemented.
24166
24167         getloadavg: omit unused var
24168         * lib/getloadavg.c (getloadavg): Omit unused local variable.
24169
24170 2011-02-15  Jim Meyering  <meyering@redhat.com>
24171
24172         doc: update users.txt
24173         * users.txt: Update iwhd's URL.
24174
24175 2011-02-13  Bruno Haible  <bruno@clisp.org>
24176
24177         Consistent macro naming for macros that use GCC __attribute__.
24178         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
24179         _ATTRIBUTE_NONNULL_.
24180         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
24181         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
24182         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
24183         ATTRIBUTE_DEPRECATED.
24184         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
24185         ATTRIBUTE_NORETURN.
24186         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24187         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24188         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24189         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24190         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
24191         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
24192         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
24193         ATTRIBUTE_SENTINEL.
24194         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
24195         ATTRIBUTE_RETURN_CHECK.
24196         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
24197         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
24198         ATTRIBUTE_NORETURN.
24199         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
24200         Reported by Paul Eggert.
24201
24202 2011-02-13  Bruno Haible  <bruno@clisp.org>
24203
24204         Don't interfere with a program's definition of __attribute__.
24205         * lib/argp.h (__attribute__): Remove definition.
24206         (_GL_ATTRIBUTE_FORMAT): New macro.
24207         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
24208         * lib/argp-fmtstream.h (__attribute__): Remove definition.
24209         (_GL_ATTRIBUTE_FORMAT): New macro.
24210         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
24211         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
24212         GCC 3 or newer.
24213         * lib/error.h (__attribute__): Remove definition.
24214         (_GL_ATTRIBUTE_FORMAT): New macro.
24215         (error, error_at_line): Use it.
24216         * lib/hash.h (__attribute__): Remove definition.
24217         (ATTRIBUTE_WUR): Update definition. Define always.
24218         * lib/openat.h (__attribute__): Remove definition.
24219         (ATTRIBUTE_NORETURN): Update definition. Define always.
24220         * lib/sigpipe-die.h (__attribute__): Remove definition.
24221         (ATTRIBUTE_NORETURN): Update definition. Define always.
24222         * lib/vasnprintf.h (__attribute__): Remove definition.
24223         (_GL_ATTRIBUTE_FORMAT): New macro.
24224         (asnprintf, vasnprintf): Use it.
24225         * lib/xalloc.h (__attribute__): Remove definition.
24226         (ATTRIBUTE_NORETURN): Update definition. Define always.
24227         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
24228         * lib/xmemdup0.h (__attribute__): Remove definition.
24229         (ATTRIBUTE_NORETURN): Update definition. Define always.
24230         * lib/xprintf.h (__attribute__): Remove definition.
24231         (_GL_ATTRIBUTE_FORMAT): New macro.
24232         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
24233         * lib/xstrtol.h (__attribute__): Remove definition.
24234         (ATTRIBUTE_NORETURN): Update definition. Define always.
24235         * lib/xvasprintf.h (__attribute__): Remove definition.
24236         (_GL_ATTRIBUTE_FORMAT): New macro.
24237         (xasprintf, xvasprintf): Use it.
24238         * tests/test-argmatch.c (__attribute__): Remove definition.
24239         (ATTRIBUTE_NORETURN): Update definition. Define always.
24240         * tests/test-exclude.c (__attribute__): Remove definition.
24241         (ATTRIBUTE_NORETURN): Update definition. Define always.
24242         Reported by Paul Eggert.
24243
24244 2011-02-13  Bruno Haible  <bruno@clisp.org>
24245
24246         mbrtowc: Add more tests for native Windows platforms.
24247         * tests/test-mbrtowc-w32-1.sh: New file.
24248         * tests/test-mbrtowc-w32-2.sh: New file.
24249         * tests/test-mbrtowc-w32-3.sh: New file.
24250         * tests/test-mbrtowc-w32-4.sh: New file.
24251         * tests/test-mbrtowc-w32-5.sh: New file.
24252         * tests/test-mbrtowc-w32.c: New file.
24253         * modules/mbrtowc-tests (Files): Add them.
24254         (Makefile.am): Arrange to run these tests.
24255         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
24256         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
24257
24258 2011-02-13  Bruno Haible  <bruno@clisp.org>
24259
24260         mbrtowc: Work around native Windows bug.
24261         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
24262         guess when no suitable locale for testing was found.
24263         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
24264
24265 2011-02-13  Bruno Haible  <bruno@clisp.org>
24266
24267         mbsinit: Work around mingw bug.
24268         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
24269         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
24270         Windows.
24271         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
24272
24273 2011-02-13  Bruno Haible  <bruno@clisp.org>
24274
24275         mbsinit: Don't crash for a NULL argument.
24276         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
24277         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
24278
24279 2011-02-13  Bruno Haible  <bruno@clisp.org>
24280
24281         Don't interfere with a program's definition of __attribute__.
24282         * lib/stdio.in.h (__attribute__): Remove definition.
24283         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
24284         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
24285         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
24286         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
24287         * lib/string.in.h (__attribute__): Remove definition.
24288         Reported by Paul Eggert.
24289
24290 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24291
24292         stdlib: don't get in the way of non-GCC __attribute__
24293         See thread starting at
24294         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
24295         Revert previous stdlib change, installing the following instead:
24296         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
24297         to get in the way of a non-GCC compiler that supports __attribute__.
24298         (_GL_ATTRIBUTE_RETURN): New macro.
24299         (_Exit): Use it instead of __attribute__.
24300
24301 2011-02-12  Bruno Haible  <bruno@clisp.org>
24302
24303         quotearg test: Avoid test failure on mingw.
24304         * tests/test-quotearg.sh: Convert the locale identifier from native
24305         Windows syntax to Unix syntax.
24306
24307 2011-02-12  Bruno Haible  <bruno@clisp.org>
24308
24309         setlocale: Prefer gnulib's override over libintl's override.
24310         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
24311         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
24312         GNULIB_defined_setlocale is set.
24313
24314 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24315
24316         stdlib: support non-GCC __attribute__
24317
24318         Fix a serious and tricky problem encountered when attempting to
24319         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
24320         5.5, but it crashed due to memory corruption on Solaris 10 with
24321         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
24322         bits that are otherwise zero.  This tagging is optional inside
24323         Emacs but is preferred and is used when __attribute__ ((__aligned
24324         (8))) works, as it does with both recent-enough GCC and with Sun C
24325         5.11.  However, Sun C 5.11 is not GCC and does not #define
24326         __GNUC__ and __GNUC_MINOR__.
24327
24328         When I added the getloadavg module to Emacs, it brought in
24329         stdlib.in.h, which contained this fragment:
24330
24331            #ifndef __attribute__
24332            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
24333            #  define __attribute__(Spec)   /* empty */
24334            # endif
24335            #endif
24336
24337         When files that include <stdlib.h> were compiled with Sun C 5.11,
24338         the above code disabled __attribute__ ((__aligned (8))), which
24339         caused variables to not be properly aligned, which eventually led
24340         to the pointer corruption mentioned above.  (This was a bit hard
24341         to diagnose, unfortunately.)
24342
24343         Several "#define __attribute__(X) /* empty */" code snippets need
24344         to be eradicated from Gnulib to work with non-GCC compilers that
24345         support __attribute__.  The Autoconf way to do this is to test for
24346         each kind of attribute that we want support for, and selectively
24347         enable that in source code.
24348
24349         Fix this problem just for stdlib.h, by adding a test for the
24350         __noreturn__ attribute, and change stdlib.in.h to use that test
24351         when needed.  This technique can be easily generalized to the
24352         other *.in.h files and attributes, and a similar technique can be
24353         used for *.h and *.c files.  This patch is enough to solve the
24354         problem for Emacs + getloadavg, and I thought I'd publish it for
24355         feedback before undertaking further, similar fixes in other
24356         modules.
24357
24358         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
24359         because it's not needed for stdlib.h.  It merely substitutes the
24360         value directly into stdlib.h.  We may well need to #define it, or
24361         similar symbols, for other modules, but it's nice to also have an
24362         option to not #define it for applications like Emacs that do not
24363         need it.
24364
24365         * lib/stdlib.in.h (__attribute__): Do not #define.
24366         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
24367         be defined only if the _Exit module is also used.
24368         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
24369         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
24370         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
24371         platforms.
24372         * modules/_Exit (Files): Add m4/attribute.m4.
24373         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
24374         * m4/attribute.m4: New file.
24375
24376 2011-02-12  Bruno Haible  <bruno@clisp.org>
24377
24378         wcsrtombs: Work around bug on native Windows.
24379         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
24380         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
24381         instead of len.
24382         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
24383
24384 2011-02-12  Bruno Haible  <bruno@clisp.org>
24385
24386         mbsrtowcs: Work around bug on native Windows.
24387         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
24388         against mingw bug.
24389         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
24390
24391 2011-02-12  Bruno Haible  <bruno@clisp.org>
24392
24393         Avoid setlocale bugs in tests.
24394         * modules/btowc (Dependencies): Add setlocale.
24395         * modules/c-strcase (Dependencies): Likewise.
24396         * modules/mbmemcasecmp (Dependencies): Likewise.
24397         * modules/mbmemcasecoll (Dependencies): Likewise.
24398         * modules/mbrtowc (Dependencies): Likewise.
24399         * modules/mbscasecmp (Dependencies): Likewise.
24400         * modules/mbscasestr (Dependencies): Likewise.
24401         * modules/mbschr (Dependencies): Likewise.
24402         * modules/mbscspn (Dependencies): Likewise.
24403         * modules/mbsinit (Dependencies): Likewise.
24404         * modules/mbsncasecmp (Dependencies): Likewise.
24405         * modules/mbsnrtowcs (Dependencies): Likewise.
24406         * modules/mbspbrk (Dependencies): Likewise.
24407         * modules/mbspcasecmp (Dependencies): Likewise.
24408         * modules/mbsrchr (Dependencies): Likewise.
24409         * modules/mbsrtowcs (Dependencies): Likewise.
24410         * modules/mbsspn (Dependencies): Likewise.
24411         * modules/mbsstr (Dependencies): Likewise.
24412         * modules/nl_langinfo (Dependencies): Likewise.
24413         * modules/quotearg (Dependencies): Likewise.
24414         * modules/unicase/locale-language (Dependencies): Likewise.
24415         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
24416         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
24417         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
24418         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
24419         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
24420         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
24421         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
24422         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
24423         * modules/vasnprintf-posix (Dependencies): Likewise.
24424         * modules/wcrtomb (Dependencies): Likewise.
24425         * modules/wcsnrtombs (Dependencies): Likewise.
24426         * modules/wcsrtombs (Dependencies): Likewise.
24427
24428 2011-02-12  Bruno Haible  <bruno@clisp.org>
24429
24430         setlocale: Workaround native Windows bug.
24431         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
24432         succeeds but sets LC_CTYPE to "C", report a failure.
24433         * tests/test-setlocale2.sh: New file.
24434         * tests/test-setlocale2.c: New file.
24435         * modules/setlocale-tests (Files): Add the new files.
24436         (Makefile.am): Enable test-setlocale2.sh test.
24437         * doc/posix-functions/setlocale.texi: Mention workaround.
24438
24439 2011-02-11  Bruno Haible  <bruno@clisp.org>
24440
24441         Tests for module 'setlocale'.
24442         * modules/setlocale-tests: New file.
24443         * tests/test-setlocale1.sh: New file.
24444         * tests/test-setlocale1.c: New file.
24445
24446         New module 'setlocale'.
24447         * lib/locale.in.h (setlocale): New declaration.
24448         * lib/setlocale.c: New file, based on
24449         gettext/gettext-runtime/intl/setlocale.c.
24450         * m4/setlocale.m4: New file.
24451         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
24452         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
24453         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
24454         REPLACE_SETLOCALE.
24455         * modules/setlocale: New file.
24456         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24457         * doc/posix-functions/setlocale.texi: Mention the new module.
24458
24459 2011-02-11  Bruno Haible  <bruno@clisp.org>
24460
24461         Prepare for locale dependent tests on mingw.
24462         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24463         because it has the wrong locale encoding.
24464         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24465         French_France.1252 instead of "fr".
24466         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24467         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24468         because it has the wrong locale encoding.
24469         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24470         native Windows, try Turkish_Turkey.65001.
24471         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24472         Chinese_China.54936.
24473
24474         Prepare for locale dependent tests on mingw.
24475         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24476         differently.
24477         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24478         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24479         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24480         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24481
24482 2011-02-11  Eric Blake  <eblake@redhat.com>
24483
24484         strptime: avoid compiler warnings
24485         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24486         compiler warnings about dead code.
24487         Reported by Daniel P. Berrange.
24488
24489 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24490
24491         doc: update users.txt
24492         * users.txt: Add rcs.
24493
24494 2011-02-10  John W. Eaton  <jwe@gnu.org>
24495
24496         doc: update users.txt
24497         * users.txt: Add octave.
24498
24499 2011-02-10  Jim Meyering  <meyering@redhat.com>
24500
24501         doc: update users.txt
24502         * users.txt: Add iwhd.
24503
24504 2011-02-09  Bruno Haible  <bruno@clisp.org>
24505
24506         gnulib-tool: Make copyright notice adjustment more robust.
24507         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24508         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24509         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24510         License".
24511         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24512
24513 2011-02-06  Bruno Haible  <bruno@clisp.org>
24514
24515         New module 'towctrans'.
24516         * modules/towctrans: New file.
24517         * lib/wctype.in.h (towctrans): New declaration.
24518         * lib/towctrans.c: New file.
24519         * lib/towctrans-impl.h: New file.
24520         * m4/towctrans.m4: New file.
24521         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24522         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24523         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24524         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24525         * doc/posix-functions/towctrans.texi: Mention the new module.
24526
24527 2011-02-06  Bruno Haible  <bruno@clisp.org>
24528
24529         New module 'wctrans'.
24530         * modules/wctrans: New file.
24531         * lib/wctype.in.h (wctrans): New declaration.
24532         * lib/wctrans.c: New file.
24533         * lib/wctrans-impl.h: New file.
24534         * m4/wctrans.m4: New file.
24535         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24536         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24537         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24538         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24539         * doc/posix-functions/wctrans.texi: Mention the new module.
24540
24541 2011-02-06  Bruno Haible  <bruno@clisp.org>
24542
24543         New module 'iswctype'.
24544         * modules/iswctype: New file.
24545         * lib/wctype.in.h (iswctype): New declaration.
24546         * lib/iswctype.c: New file.
24547         * lib/iswctype-impl.h: New file.
24548         * m4/iswctype.m4: New file.
24549         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24550         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24551         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24552         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24553         * doc/posix-functions/iswctype.texi: Mention the new module and the
24554         HP-UX 11.00 problem.
24555
24556 2011-02-06  Bruno Haible  <bruno@clisp.org>
24557
24558         New module 'wctype'.
24559         * modules/wctype: Change to represent the wctype() substitute.
24560         * lib/wctype.in.h (wctype): New declaration.
24561         * lib/wctype.c: New file.
24562         * lib/wctype-impl.h: New file.
24563         * m4/wctype.m4: New file.
24564         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24565         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24566         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24567         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24568         * doc/posix-functions/wctype.texi: Mention the new module and the
24569         HP-UX 11.00 problem.
24570
24571 2011-02-06  Bruno Haible  <bruno@clisp.org>
24572
24573         wctype-h: Ensure wctype_t and wctrans_t are defined.
24574         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24575         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24576         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24577         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24578         HAVE_WCTRANS_T.
24579         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24580
24581 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24582
24583         flock: fix license typo
24584
24585         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24586         omitted.
24587
24588 2011-02-08  Bruno Haible  <bruno@clisp.org>
24589
24590         Split large sed scripts, for HP-UX sed.
24591         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24592         to avoid HP-UX limit of 99 commands, in the near future.
24593         * modules/stdlib (Makefile.am): Likewise.
24594         * modules/unistd (Makefile.am): Likewise.
24595         * modules/wchar (Makefile.am): Likewise.
24596         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24597         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24598         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24599
24600 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24601             Bruno Haible  <bruno@clisp.org>
24602
24603         stdlib: improve random_r modularization
24604         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24605         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24606         you also need the random_r module to get this material right.
24607         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24608         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24609         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24610
24611 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24612
24613         stdlib: don't depend on stdint
24614         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24615         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24616         be independent of whether stdint.h is needed.
24617         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24618         here, instead of ...
24619         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24620         struct random_data should be using the random_r module, not just
24621         the stdlib module (which wouldn't make sense: what package needs
24622         just struct random_data without also needing random_r?).
24623         * modules/stdlib (Depends-on): Remove stdint.
24624
24625         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24626         See the thread rooted at
24627         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24628         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24629         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24630         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24631         __VMS)); previously it was always included (via fcntl--.h).
24632         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24633         hand; this is good enough for load averages.  Also, do not use
24634         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24635         flags directly if available and don't bother otherwise.  (Packages
24636         that need the extra reliability should use the modules that define
24637         these flags on older platforms that lack them.)
24638         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24639         fcntl-safer.
24640
24641 2011-02-08  Jim Meyering  <meyering@redhat.com>
24642
24643         di-set.h, ino-map.h: add multiple-inclusion guard
24644         Technically, the guard is required only for ino-map.h, due to its
24645         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24646         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24647         * lib/ino-map.h: Likewise.
24648
24649 2011-02-06  Bruno Haible  <bruno@clisp.org>
24650
24651         iswblank: Ensure declaration on glibc systems.
24652         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24653         * modules/iswblank (Dependencies): Add 'extensions'.
24654         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24655
24656 2011-02-06  Bruno Haible  <bruno@clisp.org>
24657
24658         New module 'iswblank'.
24659         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24660         * modules/iswblank: New file.
24661         * modules/wctype-h (Files): Remove lib/iswblank.c.
24662         (Makefile.am): Substitute GNULIB_ISWBLANK.
24663         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24664         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24665         (gl_WCTYPE_H_DEFAULTS): New macro.
24666         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24667         * modules/iswblank-tests: New file.
24668         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24669         * tests/test-wctype-h.c (main): Remove iswblank tests.
24670         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24671         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24672         of 'wctype-h'.
24673         * NEWS: Mention the change.
24674         * modules/mbchar (Depends-on): Add iswblank.
24675
24676 2011-02-08  Bruno Haible  <bruno@clisp.org>
24677
24678         di-set tests: Refactor.
24679         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24680         unnecessary includes.
24681         (ASSERT): Remove macro.
24682         (main): Make C90 compliant by avoiding variable declaration after
24683         statement.
24684         * modules/di-set-tests (Files): Add tests/macros.h.
24685
24686 2011-02-08  Bruno Haible  <bruno@clisp.org>
24687
24688         ino-map tests: Refactor.
24689         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24690         unnecessary includes.
24691         (ASSERT): Remove macro.
24692         (main): Make C90 compliant by avoiding variable declaration after
24693         statement.
24694         * modules/ino-map-tests (Files): Add tests/macros.h.
24695
24696 2011-02-08  Jim Meyering  <meyering@redhat.com>
24697
24698         di-set: add "const" to a cast
24699         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24700         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24701
24702 2011-02-06  Bruno Haible  <bruno@clisp.org>
24703
24704         Rename module 'wctype' to 'wctype-h'.
24705         * modules/wctype-h: Renamed from modules/wctype.
24706         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24707         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24708         (Files, Depends-on, Makefile.am): Update.
24709         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24710         (Files, Makefile.am): Update.
24711         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24712         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24713         * doc/posix-headers/wctype.texi: Update.
24714         * doc/posix-functions/iswalnum.texi: Update.
24715         * doc/posix-functions/iswalpha.texi: Update.
24716         * doc/posix-functions/iswblank.texi: Update.
24717         * doc/posix-functions/iswcntrl.texi: Update.
24718         * doc/posix-functions/iswdigit.texi: Update.
24719         * doc/posix-functions/iswgraph.texi: Update.
24720         * doc/posix-functions/iswlower.texi: Update.
24721         * doc/posix-functions/iswprint.texi: Update.
24722         * doc/posix-functions/iswpunct.texi: Update.
24723         * doc/posix-functions/iswspace.texi: Update.
24724         * doc/posix-functions/iswupper.texi: Update.
24725         * doc/posix-functions/iswxdigit.texi: Update.
24726         * doc/posix-functions/towlower.texi: Update.
24727         * doc/posix-functions/towupper.texi: Update.
24728         * NEWS: Mention the change.
24729         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24730         * modules/mbchar (Dependencies): Likewise.
24731         * modules/mbswidth (Dependencies): Likewise.
24732         * modules/quotearg (Dependencies): Likewise.
24733         * modules/regex (Dependencies): Likewise.
24734         * modules/wcscasecmp (Dependencies): Likewise.
24735         * modules/wcsncasecmp (Dependencies): Likewise.
24736         * modules/wcwidth (Dependencies): Likewise.
24737
24738 2011-02-06  Bruno Haible  <bruno@clisp.org>
24739
24740         New module 'wcswidth'.
24741         * modules/wcswidth: New file.
24742         * lib/wchar.in.h (wcswidth): New declaration.
24743         * lib/wcswidth.c: New file.
24744         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24745         * m4/wcswidth.m4: New file.
24746         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24747         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24748         REPLACE_WCSWIDTH.
24749         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24750         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24751         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24752         * doc/posix-functions/wcswidth.texi: Mention the new module.
24753
24754 2011-02-06  Bruno Haible  <bruno@clisp.org>
24755
24756         New module 'wcstok'.
24757         * modules/wcstok: New file.
24758         * lib/wchar.in.h (wcstok): New declaration.
24759         * lib/wcstok.c: New file.
24760         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24761         * m4/wcstok.m4: New file.
24762         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24763         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24764         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24765         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24766         * doc/posix-functions/wcstok.texi: Mention the new module.
24767
24768 2011-02-06  Bruno Haible  <bruno@clisp.org>
24769
24770         New module 'wcsstr'.
24771         * modules/wcsstr: New file.
24772         * lib/wchar.in.h (wcsstr): New declaration.
24773         * lib/wcsstr.c: New file.
24774         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24775         * m4/wcsstr.m4: New file.
24776         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24777         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24778         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24779         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24780         * doc/posix-functions/wcsstr.texi: Mention the new module.
24781
24782 2011-02-06  Bruno Haible  <bruno@clisp.org>
24783
24784         New module 'wcspbrk'.
24785         * modules/wcspbrk: New file.
24786         * lib/wchar.in.h (wcspbrk): New declaration.
24787         * lib/wcspbrk.c: New file.
24788         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24789         * m4/wcspbrk.m4: New file.
24790         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24791         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24792         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24793         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24794         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24795
24796 2011-02-06  Bruno Haible  <bruno@clisp.org>
24797
24798         New module 'wcsspn'.
24799         * modules/wcsspn: New file.
24800         * lib/wchar.in.h (wcsspn): New declaration.
24801         * lib/wcsspn.c: New file.
24802         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24803         * m4/wcsspn.m4: New file.
24804         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24805         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24806         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24807         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24808         * doc/posix-functions/wcsspn.texi: Mention the new module.
24809
24810 2011-02-06  Bruno Haible  <bruno@clisp.org>
24811
24812         New module 'wcscspn'.
24813         * modules/wcscspn: New file.
24814         * lib/wchar.in.h (wcscspn): New declaration.
24815         * lib/wcscspn.c: New file.
24816         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24817         * m4/wcscspn.m4: New file.
24818         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24819         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24820         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24821         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24822         * doc/posix-functions/wcscspn.texi: Mention the new module.
24823
24824 2011-02-06  Bruno Haible  <bruno@clisp.org>
24825
24826         New module 'wcsrchr'.
24827         * modules/wcsrchr: New file.
24828         * lib/wchar.in.h (wcsrchr): New declaration.
24829         * lib/wcsrchr.c: New file.
24830         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24831         * m4/wcsrchr.m4: New file.
24832         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24833         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24834         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24835         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24836         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24837
24838 2011-02-06  Bruno Haible  <bruno@clisp.org>
24839
24840         New module 'wcschr'.
24841         * modules/wcschr: New file.
24842         * lib/wchar.in.h (wcschr): New declaration.
24843         * lib/wcschr.c: New file.
24844         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24845         * m4/wcschr.m4: New file.
24846         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24847         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24848         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24849         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24850         * doc/posix-functions/wcschr.texi: Mention the new module.
24851
24852 2011-02-06  Bruno Haible  <bruno@clisp.org>
24853
24854         New module 'wcsdup'.
24855         * modules/wcsdup: New file.
24856         * lib/wchar.in.h (wcsdup): New declaration.
24857         * lib/wcsdup.c: New file.
24858         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24859         * m4/wcsdup.m4: New file.
24860         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24861         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24862         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24863         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24864         * doc/posix-functions/wcsdup.texi: Mention the new module.
24865
24866 2011-02-06  Bruno Haible  <bruno@clisp.org>
24867
24868         New module 'wcsxfrm'.
24869         * modules/wcsxfrm: New file.
24870         * lib/wchar.in.h (wcsxfrm): New declaration.
24871         * lib/wcsxfrm.c: New file.
24872         * lib/wcsxfrm-impl.h: New file.
24873         * m4/wcsxfrm.m4: New file.
24874         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24875         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24876         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24877         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24878         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24879
24880 2011-02-06  Bruno Haible  <bruno@clisp.org>
24881
24882         New module 'wcscoll'.
24883         * modules/wcscoll: New file.
24884         * lib/wchar.in.h (wcscoll): New declaration.
24885         * lib/wcscoll.c: New file.
24886         * lib/wcscoll-impl.h: New file.
24887         * m4/wcscoll.m4: New file.
24888         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24889         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24890         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24891         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24892         * doc/posix-functions/wcscoll.texi: Mention the new module.
24893
24894 2011-02-06  Bruno Haible  <bruno@clisp.org>
24895
24896         New module 'wcsncasecmp'.
24897         * modules/wcsncasecmp: New file.
24898         * lib/wchar.in.h (wcsncasecmp): New declaration.
24899         * lib/wcsncasecmp.c: New file.
24900         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24901         * m4/wcsncasecmp.m4: New file.
24902         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24903         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24904         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24905         HAVE_WCSNCASECMP.
24906         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24907         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24908
24909 2011-02-06  Bruno Haible  <bruno@clisp.org>
24910
24911         New module 'wcscasecmp'.
24912         * modules/wcscasecmp: New file.
24913         * lib/wchar.in.h (wcscasecmp): New declaration.
24914         * lib/wcscasecmp.c: New file.
24915         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24916         * m4/wcscasecmp.m4: New file.
24917         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24918         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24919         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24920         HAVE_WCSCASECMP.
24921         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24922         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24923
24924 2011-02-05  Bruno Haible  <bruno@clisp.org>
24925
24926         New module 'wcsncmp'.
24927         * modules/wcsncmp: New file.
24928         * lib/wchar.in.h (wcsncmp): New declaration.
24929         * lib/wcsncmp.c: New file.
24930         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24931         * m4/wcsncmp.m4: New file.
24932         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24933         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24934         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24935         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24936         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24937
24938 2011-02-05  Bruno Haible  <bruno@clisp.org>
24939
24940         New module 'wcscmp'.
24941         * modules/wcscmp: New file.
24942         * lib/wchar.in.h (wcscmp): New declaration.
24943         * lib/wcscmp.c: New file.
24944         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24945         * m4/wcscmp.m4: New file.
24946         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24947         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24948         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24949         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24950         * doc/posix-functions/wcscmp.texi: Mention the new module.
24951
24952 2011-02-05  Bruno Haible  <bruno@clisp.org>
24953
24954         New module 'wcsncat'.
24955         * modules/wcsncat: New file.
24956         * lib/wchar.in.h (wcsncat): New declaration.
24957         * lib/wcsncat.c: New file.
24958         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24959         * m4/wcsncat.m4: New file.
24960         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24961         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24962         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24963         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24964         * doc/posix-functions/wcsncat.texi: Mention the new module.
24965
24966 2011-02-05  Bruno Haible  <bruno@clisp.org>
24967
24968         New module 'wcscat'.
24969         * modules/wcscat: New file.
24970         * lib/wchar.in.h (wcscat): New declaration.
24971         * lib/wcscat.c: New file.
24972         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24973         * m4/wcscat.m4: New file.
24974         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24975         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24976         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24977         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24978         * doc/posix-functions/wcscat.texi: Mention the new module.
24979
24980 2011-02-05  Bruno Haible  <bruno@clisp.org>
24981
24982         New module 'wcpncpy'.
24983         * modules/wcpncpy: New file.
24984         * lib/wchar.in.h (wcpncpy): New declaration.
24985         * lib/wcpncpy.c: New file.
24986         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24987         * m4/wcpncpy.m4: New file.
24988         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24989         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24990         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24991         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24992         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24993
24994 2011-02-05  Bruno Haible  <bruno@clisp.org>
24995
24996         New module 'wcsncpy'.
24997         * modules/wcsncpy: New file.
24998         * lib/wchar.in.h (wcsncpy): New declaration.
24999         * lib/wcsncpy.c: New file.
25000         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
25001         * m4/wcsncpy.m4: New file.
25002         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
25003         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
25004         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
25005         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
25006         * doc/posix-functions/wcsncpy.texi: Mention the new module.
25007
25008 2011-02-05  Bruno Haible  <bruno@clisp.org>
25009
25010         New module 'wcpcpy'.
25011         * modules/wcpcpy: New file.
25012         * lib/wchar.in.h (wcpcpy): New declaration.
25013         * lib/wcpcpy.c: New file.
25014         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
25015         * m4/wcpcpy.m4: New file.
25016         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
25017         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
25018         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
25019         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
25020         * doc/posix-functions/wcpcpy.texi: Mention the new module.
25021
25022 2011-02-05  Bruno Haible  <bruno@clisp.org>
25023
25024         New module 'wcscpy'.
25025         * modules/wcscpy: New file.
25026         * lib/wchar.in.h (wcscpy): New declaration.
25027         * lib/wcscpy.c: New file.
25028         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
25029         * m4/wcscpy.m4: New file.
25030         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
25031         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
25032         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
25033         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
25034         * doc/posix-functions/wcscpy.texi: Mention the new module.
25035
25036 2011-02-05  Bruno Haible  <bruno@clisp.org>
25037
25038         New module 'wcsnlen'.
25039         * modules/wcsnlen: New file.
25040         * lib/wchar.in.h (wcsnlen): New declaration.
25041         * lib/wcsnlen.c: New file.
25042         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
25043         * m4/wcsnlen.m4: New file.
25044         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
25045         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
25046         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
25047         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
25048         * doc/posix-functions/wcsnlen.texi: Mention the new module.
25049
25050 2011-02-05  Bruno Haible  <bruno@clisp.org>
25051
25052         New module 'wcslen'.
25053         * modules/wcslen: New file.
25054         * lib/wchar.in.h (wcslen): New declaration.
25055         * lib/wcslen.c: New file.
25056         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
25057         * m4/wcslen.m4: New file.
25058         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
25059         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
25060         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
25061         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
25062         * doc/posix-functions/wcslen.texi: Mention the new module.
25063
25064 2011-02-05  Bruno Haible  <bruno@clisp.org>
25065
25066         New module 'wmemset'.
25067         * modules/wmemset: New file.
25068         * lib/wchar.in.h (wmemset): New declaration.
25069         * lib/wmemset.c: New file.
25070         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
25071         * m4/wmemset.m4: New file.
25072         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
25073         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
25074         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
25075         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
25076         * doc/posix-functions/wmemset.texi: Mention the new module.
25077
25078 2011-02-05  Bruno Haible  <bruno@clisp.org>
25079
25080         New module 'wmemmove'.
25081         * modules/wmemmove: New file.
25082         * lib/wchar.in.h (wmemmove): New declaration.
25083         * lib/wmemmove.c: New file.
25084         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
25085         * m4/wmemmove.m4: New file.
25086         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
25087         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
25088         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
25089         HAVE_WMEMMOVE.
25090         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
25091         * doc/posix-functions/wmemmove.texi: Mention the new module.
25092
25093 2011-02-05  Bruno Haible  <bruno@clisp.org>
25094
25095         New module 'wmemcpy'.
25096         * modules/wmemcpy: New file.
25097         * lib/wchar.in.h (wmemcpy): New declaration.
25098         * lib/wmemcpy.c: New file.
25099         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
25100         * m4/wmemcpy.m4: New file.
25101         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
25102         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
25103         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
25104         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
25105         * doc/posix-functions/wmemcpy.texi: Mention the new module.
25106
25107 2011-02-05  Bruno Haible  <bruno@clisp.org>
25108
25109         New module 'wmemcmp'.
25110         * modules/wmemcmp: New file.
25111         * lib/wchar.in.h (wmemcmp): New declaration.
25112         * lib/wmemcmp.c: New file.
25113         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
25114         * m4/wmemcmp.m4: New file.
25115         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
25116         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
25117         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
25118         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
25119         * doc/posix-functions/wmemcmp.texi: Mention the new module.
25120
25121 2011-02-07  Jim Meyering  <meyering@redhat.com>
25122
25123         di-set, ino-map: new modules, from coreutils
25124         * lib/di-set.c: New file.
25125         * lib/di-set.h: Likewise.
25126         * lib/ino-map.c: Likewise.
25127         * lib/ino-map.h: Likewise.
25128         * modules/di-set: Likewise.
25129         * modules/di-set-tests: Likewise.
25130         * modules/ino-map: Likewise.
25131         * modules/ino-map-tests: Likewise.
25132         * tests/test-di-set.c: Likewise.
25133         * tests/test-ino-map.c: Likewise.
25134
25135 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
25136
25137         getloadavg: merge minor changes from Emacs
25138
25139         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
25140         (getloadavg): Use memset, not bzero.
25141
25142         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
25143         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
25144         clash (bug#86).
25145
25146 2010-11-14  Bruno Haible  <bruno@clisp.org>
25147
25148         Allow multiple gnulib generated replacements to coexist.
25149         * lib/getopt.in.h (struct option): Avoid identical redefinition.
25150         * lib/inttypes.in.h (imaxdiv_t): Likewise.
25151         * lib/langinfo.in.h (nl_item): Likewise.
25152         * lib/math.in.h (_NaN, NAN): Likewise.
25153         * lib/netdb.in.h (struct addrinfo): Likewise.
25154         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
25155         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
25156         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
25157         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
25158         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
25159         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
25160         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
25161         pthread_mutexattr_init, pthread_mutexattr_settype,
25162         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
25163         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
25164         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
25165         pthread_spin_trylock, pthread_spin_unlock): Likewise.
25166         * lib/sched.in.h (struct sched_param): Likewise.
25167         * lib/se-selinux.in.h (security_class_t, security_context_t,
25168         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
25169         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
25170         lsetfilecon, fsetfilecon, security_check_context,
25171         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
25172         Likewise.
25173         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
25174         Likewise.
25175         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
25176         _gl_function_taking_int_returning_void_t, union sigval,
25177         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
25178         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
25179         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25180         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
25181         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
25182         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
25183         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
25184         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
25185         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
25186         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
25187         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
25188         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
25189         socklen_t, rpl_fd_isset): Likewise.
25190         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
25191         * lib/sys_time.in.h (struct timeval): Likewise.
25192         * lib/sys_times.in.h (struct tms): Likewise.
25193         * lib/sys_utsname.in.h (struct utsname):
25194         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
25195         * lib/unistd.in.h (getpagesize): Likewise.
25196         * lib/wchar.in.h (mbstate_t): Likewise.
25197         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25198         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
25199         towlower, towupper): Likewise.
25200         Reported by Sam Steingold <sds@gnu.org>.
25201
25202 2011-02-05  Eric Blake  <eblake@redhat.com>
25203
25204         unsetenv: work around Haiku issues
25205         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
25206         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
25207
25208 2010-12-30  Bruce Korb  <bkorb@gnu.org>
25209
25210         libposix: avoid calling error() within libposix
25211         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
25212         is defined.
25213
25214 2011-02-05  Eric Blake  <eblake@redhat.com>
25215
25216         strerror_r-posix: port to cygwin
25217         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
25218         implementation.
25219         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
25220         * tests/test-strerror_r.c (main): Fix test.
25221         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
25222         issue.
25223
25224 2011-02-05  Bruno Haible  <bruno@clisp.org>
25225
25226         New module 'wmemchr'.
25227         * modules/wmemchr: New file.
25228         * lib/wchar.in.h (wmemchr): New declaration.
25229         * lib/wmemchr.c: New file.
25230         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
25231         * m4/wmemchr.m4: New file.
25232         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
25233         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
25234         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
25235         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
25236         * doc/posix-functions/wmemchr.texi: Mention the new module.
25237
25238 2011-02-04  Eric Blake  <eblake@redhat.com>
25239
25240         fdopendir: detect FreeBSD bug
25241         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
25242         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
25243
25244 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
25245
25246         stdbool: do not define HAVE_STDBOOL_H
25247         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
25248         AC_HEADER_STDBOOL.  All uses changed.  Do not define
25249         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
25250         imported from the latest Autoconf git.  It was motivated by Emacs,
25251         which uses gnulib but does not need HAVE_STDBOOL_H.
25252
25253 2011-02-04  Bruno Haible  <bruno@clisp.org>
25254
25255         wcsnrtombs: Prepare for new module wwcsnrtombs.
25256         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
25257         * lib/wcsnrtombs.c: Include it.
25258         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
25259
25260         wcsrtombs: Prepare for new module wwcsrtombs.
25261         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
25262         * lib/wcsrtombs.c: Include it.
25263         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
25264
25265         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
25266         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
25267         * lib/mbsnrtowcs.c: Include it.
25268         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
25269
25270         mbsrtowcs: Prepare for new module mbsrtowwcs.
25271         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
25272         * lib/mbsrtowcs.c: Include it.
25273         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
25274
25275 2011-02-04  Bruno Haible  <bruno@clisp.org>
25276
25277         vasnprintf: Reduce use of malloc for small format strings.
25278         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
25279         (arguments): Add room for the first 7 arguments.
25280         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
25281         (char_directives, u8_directives, u16_directives, u32_directives): Add
25282         room for the first 7 directives.
25283         * lib/printf-parse.c: Include <string.h>.
25284         (PRINTF_PARSE): Change memory handling code so that it uses the first
25285         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
25286         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
25287         Reported by Pádraig Brady <P@draigbrady.com>.
25288
25289 2011-01-31  Eric Blake  <eblake@redhat.com>
25290
25291         dup2: work around Haiku bug
25292         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
25293         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
25294         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25295         * tests/test-dup2.c (main): Enhance test.
25296
25297 2011-01-31  Simon Josefsson  <simon@josefsson.org>
25298
25299         doc: off_t is not available in eglibc 2.11.2 stdio.h.
25300         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
25301         declared by eglibc 2.11.2.
25302         * lib/stdio.in.h: Likewise.
25303
25304 2011-01-31  Eric Blake  <eblake@redhat.com>
25305
25306         ignore-value: add missing test dependency
25307         * tests/test-ignore-value.c: Revert previous change; stdio.h
25308         provides off_t.
25309         * modules/ignore-value-tests (Depends-on): Add missing dependency.
25310
25311 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25312
25313         mktime: clarify long_int width checking
25314         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
25315         the top level, to make it clearer that the assumption about
25316         long_int width is being checked.  See
25317         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
25318
25319 2011-01-30  Simon Josefsson  <simon@josefsson.org>
25320
25321         ignore-value: Fix self-test.
25322         * tests/test-ignore-value.c: Include sys/types.h for off_t.
25323
25324 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
25325
25326         TYPE_MAXIMUM: avoid theoretically undefined behavior
25327         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
25328         negative number, which the C Standard says has undefined behavior.
25329         In practice this is not a problem, but might as well do it by the book.
25330         Reported by Rich Felker and Eric Blake; see
25331         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
25332         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
25333         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25334         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25335         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
25336         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25337         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
25338
25339         mktime: #undef mktime before #defining it
25340         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
25341
25342         mktime: systematically normalize tm_isdst comparisons
25343         * lib/mktime.c (isdst_differ): New function.
25344         (__mktime_internal): Use it systematically for all isdst comparisons.
25345         This completes the fix for libc BZ #6723, and removes the need for
25346         normalizing tm_isdst.  See
25347         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
25348         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
25349
25350         mktime: fix some integer overflow issues and sidestep the rest
25351
25352         This was prompted by a bug report by Benjamin Lindner for MinGW
25353         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
25354         His bug is due to signed integer overflow (0 - INT_MIN), and I
25355         I scanned through mktime.c looking for other integer overflow
25356         problems, fixing all the bugs I found.
25357
25358         Although the C Standard says the resulting code is still not safe
25359         in the presence of integer overflow, in practice it should be good
25360         enough for all real-world two's-complement implementations, except
25361         for debugging environments that deliberately trap on integer
25362         overflow (e.g., gcc -ftrapv).
25363
25364         * lib/mktime.c (WRAPV): New macro.
25365         (SHR): Also check that long_int and time_t shift right in the
25366         usual way, before using the fast-but-unportable method.
25367         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
25368         used.  The code already assumed two's complement, so there's
25369         no need to test for alternatives.  All uses removed.
25370         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
25371         the C standard.  Problem reported by Rich Felker in
25372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
25373         (twos_complement_arithmetic): Also check long_int and time_t.
25374         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
25375         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
25376         (__mktime_internal): Avoid integer overflow with unary subtraction
25377         in two instances where -1 - X is an adequate replacement for -X,
25378         since the calculations are approximate.
25379
25380 2011-01-29  Eric Blake  <eblake@redhat.com>
25381
25382         mktime: avoid infinite loop
25383         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
25384         type; behavior is still undefined but portable to all known targets.
25385         Reported by Rich Felker.
25386
25387 2011-01-29  Simon Josefsson  <simon@josefsson.org>
25388
25389         rename, unlink, same-inode: Relicense.
25390         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
25391         * modules/unlink (License): Likewise.
25392         * modules/same-inode (License): Likewise.
25393
25394 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25395
25396         mktime: avoid problems on NetBSD 5 / i386
25397         * lib/mktime.c (long_int): New type.  This works around a problem
25398         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
25399         but time_t is 64 bits, and where I expect the existing code is
25400         wrong in some cases.
25401         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
25402         (ydhms_diff): Bring back the compile-time check for wide-enough
25403         year and yday.
25404
25405         mktime: fix misspelling in comment
25406         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
25407         This merges all recent glibc changes of importance.
25408
25409 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25410
25411         move-if-change: cope with concurrent mv of identical file.
25412         * build-aux/move-if-change (CMPPROG): Accept environment
25413         variable as an override for `cmp'.
25414         (usage): Document CMPPROG.
25415         Adjust comparison to drop stdout.  Cope with failure of mv if
25416         the target file exists and is identical to the source, for
25417         parallel builds.
25418         Report from H.J. Lu against binutils in PR binutils/12283.
25419
25420 2011-01-28  Bruce Korb  <bkorb@gnu.org>
25421
25422         * users.txt: Mention sharutils.
25423
25424 2011-01-28  Simon Josefsson  <simon@josefsson.org>
25425
25426         * users.txt: Mention OATH Toolkit.
25427
25428 2011-01-27  Bruno Haible  <bruno@clisp.org>
25429
25430         Prepare for supporting FreeBSD 10.
25431         * build-aux/config.libpath: Remove handling of freebsd1*.
25432
25433 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
25434
25435         Prepare for supporting FreeBSD 10.
25436         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
25437         match FreeBSD 10.0.
25438
25439 2011-01-27  Bruno Haible  <bruno@clisp.org>
25440
25441         vma-iter, get-rusage-as: Add OpenBSD support.
25442         * modules/vma-iter (configure.ac): Test for mquery.
25443         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
25444         * lib/vma-iter.c: Include <sys/mman.h>.
25445         (vma_iterate): Add an implementation based on mquery().
25446         * lib/resource-ext.h (get_rusage_as): Update comments.
25447         * lib/get-rusage-as.c: Likewise.
25448         * lib/get-rusage-data.c: Likewise.
25449
25450 2011-01-26  Karl Berry  <karl@gnu.org>
25451
25452         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
25453         variables to make it easier to override the makeinfo program used.
25454
25455 2011-01-26  Eric Blake  <eblake@redhat.com>
25456
25457         fcntl: work around Haiku F_DUPFD bugs
25458         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25459         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25460         cloexec bit on duplication.
25461         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25462
25463 2011-01-26  Bruno Haible  <bruno@clisp.org>
25464
25465         Enable memory leak tests on AIX.
25466         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25467         * tests/test-fprintf-posix3.c (main): Likewise.
25468
25469 2011-01-26  Bruno Haible  <bruno@clisp.org>
25470
25471         Tests for module 'get-rusage-data'.
25472         * modules/get-rusage-data-tests: New file.
25473         * tests/test-get-rusage-data.c: New file.
25474
25475         New module 'get-rusage-data'.
25476         * lib/resource-ext.h (get_rusage_data): New declaration.
25477         * lib/get-rusage-data.c: New file.
25478         * modules/get-rusage-data: New file.
25479
25480 2011-01-25  Bruno Haible  <bruno@clisp.org>
25481
25482         get-rusage-as: Allow for easier testing.
25483         * lib/resource-ext.h (get_rusage_as): Add comment.
25484         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25485         (main): New function for interactive testing.
25486
25487 2011-01-25  Bruno Haible  <bruno@clisp.org>
25488
25489         vma-iter: Treat Haiku like BeOS.
25490         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25491         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25492
25493 2011-01-25  Eric Blake  <eblake@redhat.com>
25494
25495         c-stack: fix regression on cygwin when libsigsegv is present
25496         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25497
25498 2011-01-24  Bruno Haible  <bruno@clisp.org>
25499
25500         vma-iter: Avoid empty intervals.
25501         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25502         on an empty interval.
25503
25504 2011-01-24  Jim Meyering  <meyering@redhat.com>
25505
25506         u64: remove unnecessary #include
25507         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25508
25509 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25510
25511         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25512         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25513
25514 2011-01-23  Bruno Haible  <bruno@clisp.org>
25515
25516         New module 'vma-iter'.
25517         * lib/vma-iter.h: New file.
25518         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25519         * modules/vma-iter: New file.
25520         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25521         for get_rusage_as_via_iterator.
25522         (vma_iterate_callback): New function.
25523         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25524         * modules/get-rusage-as (Depends-on): Add vma-iter.
25525
25526 2011-01-23  Bruno Haible  <bruno@clisp.org>
25527
25528         uninorm: Tweak includes.
25529         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25530         Reported by Jim Meyering.
25531
25532 2011-01-23  Bruno Haible  <bruno@clisp.org>
25533
25534         get-rusage-as: Improve on NetBSD.
25535         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25536         /proc, like on FreeBSD.
25537
25538 2011-01-23  Jim Meyering  <meyering@redhat.com>
25539
25540         xreadlink.h: remove unnecessary #include
25541         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25542
25543         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25544         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25545
25546 2011-01-23  Bruno Haible  <bruno@clisp.org>
25547
25548         get-rusage-as: Fix bug.
25549         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25550         original limit when aborting the first loop.
25551
25552 2011-01-23  Bruno Haible  <bruno@clisp.org>
25553
25554         wctype: Ensure valid C syntax.
25555         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25556         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25557
25558 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25559
25560         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25561         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25562         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25563         as they are needed only for configure's test case.
25564         This removes two unnecessary symbols from config.h.
25565
25566         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25567         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25568         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25569         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25570         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25571         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25572         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25573         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25574         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25575         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25576         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25577         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25578         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25579         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25580         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25581         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25582         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25583         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25584
25585 2011-01-21  Eric Blake  <eblake@redhat.com>
25586
25587         maintainer-makefile: work with older git for submodule check
25588         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25589         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25590         Reported by Matthias Bolte.
25591
25592         bootstrap: minor portability fixes
25593         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25594         (usage): Omit leading capital and trailing . on help phrases, per
25595         GNU Coding Standards.
25596         (check_versions, top level): Prefix messages with script name.
25597
25598 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25599
25600         bootstrap: support --no-git option
25601         * build-aux/bootstrap: Add --no-git option, to be used when
25602         --gnulib-srcdir points to the exact desired checkout.
25603
25604 2011-01-21  Eric Blake  <eblake@redhat.com>
25605
25606         strerror_r-posix: work with glibc 2.13
25607         * lib/strerror_r.c (strerror_r): Fix return type.
25608
25609 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25610             Bruno Haible  <bruno@clisp.org>
25611
25612         uN_strstr: New unit tests.
25613         * modules/unistr/u8-strstr-tests: New file.
25614         * modules/unistr/u16-strstr-tests: New file.
25615         * modules/unistr/u32-strstr-tests: New file.
25616         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25617         * tests/unistr/test-u8-strstr.c: New file.
25618         * tests/unistr/test-u16-strstr.c: New file.
25619         * tests/unistr/test-u32-strstr.c: New file.
25620
25621 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25622             Bruno Haible  <bruno@clisp.org>
25623
25624         Make uN_strstr functions O(n) worst-case.
25625         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25626         16-bit and 32-bit unit cases, use the unibyte algorithm from
25627         lib/mbsstr.c.
25628         * lib/unistr/u8-strstr.c: Include <string.h>.
25629         (UNIT_IS_UINT8_T): New macro.
25630         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25631         (U_STRLEN, U_STRNLEN): New macros.
25632         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25633         (U_STRLEN, U_STRNLEN): New macros.
25634         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25635         (configure.ac): Update required libunistring version.
25636         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25637         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25638         malloca.
25639         (configure.ac): Update required libunistring version.
25640         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25641         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25642         malloca.
25643         (configure.ac): Update required libunistring version.
25644
25645 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25646             Bruno Haible  <bruno@clisp.org>
25647
25648         Prepare for faster uN_strstr functions.
25649         * lib/str-kmp.h: Support definable UNITs.
25650         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25651         needle_len argument.
25652         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25653         * lib/mbscasestr.c (mbscasestr): Likewise.
25654
25655 2011-01-21  Pádraig Brady <P@draigBrady.com>
25656
25657         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25658         * tests/test-malloca.c (main): Unset the environment variable
25659         to greatly speed up the test.
25660         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25661         * modules/malloca-tests: Depend on unsetenv.
25662
25663 2011-01-21  Pádraig Brady <P@draigBrady.com>
25664
25665         ignore-value: remove stdint dependency
25666         * lib/ignore-value.h: Remove <stdint.h>
25667         * modules/ignore-value: Remove stdint dependency.
25668
25669 2011-01-21  Jim Meyering  <meyering@redhat.com>
25670
25671         maint.mk: adjust variable name to be consistent with other gl_ vars
25672         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25673         to be lower case.
25674
25675 2011-01-20  Jim Meyering  <meyering@redhat.com>
25676
25677         maint.mk: make "check" depend on public-submodule-commit by default
25678         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25679
25680 2011-01-20  Bruno Haible  <bruno@clisp.org>
25681
25682         mbfile, mbiter: Complete change from 2008-12-21.
25683         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25684         * m4/mbiter.m4 (gl_MBITER): Likewise.
25685
25686 2011-01-20  Jim Meyering  <meyering@redhat.com>
25687
25688         init.sh: insert space between each function name and "()"
25689         * tests/init.sh: Make it a little easier to see that a function's
25690         name is "warn_", and not "warn" when looking at the first part of
25691         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25692
25693 2011-01-20  Jim Meyering  <meyering@redhat.com>
25694
25695         mountlist: clean up code formatting
25696         * lib/mountlist.c (read_file_system_list): Split a long line,
25697         correct bracing style, use NULL in place of "(struct statfs *)0",
25698         don't parenthesize return value, add spaces around "=" and after
25699         ";-in-for-stmt".
25700
25701 2011-01-14  Markus Duft <mduft@gentoo.org>
25702
25703         mountlist: add support for Interix
25704         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25705         Apply statvfs to all entries of /dev/fs.
25706         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25707         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25708
25709 2011-01-20  Jim Meyering  <meyering@redhat.com>
25710
25711         maint.mk: improve the public-submodule-commit rule
25712         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25713         to suppress printing of its commands... unless V=1.
25714         Add git submodule's --quiet option to suppress printing of e.g.,
25715         "Entering gnulib" output.
25716         "cd" into $(srcdir) before running git submodule.
25717
25718 2011-01-20  Bruno Haible  <bruno@clisp.org>
25719
25720         include_next: Fix bug introduced on 2011-01-18.
25721         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25722         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25723         ac_cv_header_... variable if the second argument is not 'check'.
25724         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25725         gl_NEXT_HEADERS_INTERNAL.
25726
25727 2011-01-20  Bruno Haible  <bruno@clisp.org>
25728
25729         Allow the user to avoid the GNULIB_TEST_* macros.
25730         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25731         Suggested by Paul Eggert.
25732
25733 2011-01-14  Jim Meyering  <meyering@redhat.com>
25734
25735         bootstrap: avoid failure when there is no .gitmodules file
25736         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25737         has been assigned to, even when its value is the empty string.
25738         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25739         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25740         Reported by John W. Eaton <jwe@gnu.org>.
25741
25742 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25743
25744         assume <ctype.h>, ..., <time.h> exist
25745         For years gnulib has been assuming the existence of the headers
25746         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25747         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25748         them, since they don't appear to be needed.
25749         * README (Portability guidelines): Document this.
25750         * lib/flock.c: Assume <fcntl.h> exists.
25751         * lib/regex_internal.h: Assume <locale.h> exists.
25752         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25753         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25754         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25755         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25756         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25757         * m4/regex.m4 (gl_REGEX): Likewise.
25758         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25759         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25760         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25761         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25762         * tests/test-argp.c: Likewise.
25763         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25764
25765         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25766         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25767         AA_APPLE_UNIVERSAL_BUILD.  See
25768         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25769         * NEWS: Document this.
25770
25771 2011-01-19  Eric Blake  <eblake@redhat.com>
25772
25773         c-stack: assume stack overflow if SA_SIGINFO unsupported
25774         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25775         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25776         sigaction will work.
25777         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25778         behavior match Linux.
25779         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25780
25781         stdbool-tests: accommodate Haiku
25782         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25783
25784         binary-io: fix O_TEXT on Haiku
25785         * modules/binary-io (Depends-on): Add fcntl-h.
25786         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25787         than blindly undefining O_TEXT.
25788         Reported by Scott McCreary.
25789
25790 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25791
25792         include_next: do not check for standard headers like stddef.h
25793
25794         I found this problem when modifying Emacs to use gnulib.
25795         I noticed that it added HAVE_STDDEF_H to config.h, even though
25796         gnulib always assumes <stddef.h> exists as per README and this
25797         symbol is unnecessary.
25798         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25799         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25800         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25801         faster for headers like stddef.h that are known to exist.
25802         (gl_CHECK_NEXT_HEADERS): Use it.
25803         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25804         rather than gl_CHECK_NEXT_HEADERS.
25805         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25806         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25807
25808 2011-01-18  Eric Blake  <eblake@redhat.com>
25809
25810         ansi-c++-opt: skip C++ dependency style if C++ is unused
25811         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25812         tests when we know C++ compilation is not desired.
25813         Reported by Scott McCreary.
25814
25815 2011-01-18  Bruno Haible  <bruno@clisp.org>
25816
25817         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25818         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25819         (main): Perform test also when getrlimit and setrlimit don't exist or
25820         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25821         limiting the address space size using setrlimit, compare the address
25822         space size before and after the the test.
25823         * tests/test-dprintf-posix2.c: Likewise.
25824         * tests/test-fprintf-posix3.sh: Update skip messages.
25825         * tests/test-dprintf-posix2.sh: Likewise.
25826         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25827         * modules/dprintf-posix-tests (Depends-on): Likewise.
25828         Reported by Bruce Korb <bkorb@gnu.org> and
25829         Gary V. Vaughan <gary@gnu.org>.
25830
25831 2011-01-18  Bruno Haible  <bruno@clisp.org>
25832
25833         get-rusage-as: Improvement for Cygwin.
25834         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25835         areas that are merely reserved.
25836
25837 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25838
25839         strftime: remove dependencies on multibyte modules
25840
25841         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25842         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25843         only if __osf__ is defined, and I suspect OSF doesn't need these
25844         other modules.  If my guess is wrong, we'll need to come up with a
25845         variant of strftime that doesn't need the multibyte modules.
25846
25847         I discovered this problem when attempting modify Emacs to use the
25848         strftime module.  With the previous gnulib, this caused Emacs to
25849         need 31 new files, ranging from lib/config.charset to
25850         m4/wint_t.m4.  This was overkill and I expect would be offputting
25851         to the Emacs maintainers.  After this change, only 6 new files are
25852         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25853         stdbool.m4, and tm_gmtoff.m4.
25854
25855         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25856         Suggested by Bruno Haible in
25857         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25858         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25859         and do not check for wchar.h.
25860         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25861         (Depends-on): Remove mbrlen, mbsinit, wchar.
25862
25863 2011-01-18  Bruno Haible  <bruno@clisp.org>
25864
25865         Tests for module 'get-rusage-as'.
25866         * modules/get-rusage-as-tests: New file.
25867         * tests/test-get-rusage-as.c: New file.
25868
25869         New module 'get-rusage-as'.
25870         * modules/get-rusage-as: New file.
25871         * lib/resource-ext.h: New file.
25872         * lib/get-rusage-as.c: New file.
25873
25874 2011-01-17  Eric Blake  <eblake@redhat.com>
25875
25876         sigaction: relax license from LGPLv3+ to LGPLv2+
25877         * modules/sigaction (License): Relax to LGPLv2+.
25878
25879 2011-01-14  Bruno Haible  <bruno@clisp.org>
25880
25881         filemode: Make function declarations usable in C++ mode.
25882         * lib/filemode.h: Enclose function declarations in extern "C" block.
25883         Reported by John W. Eaton <jwe@gnu.org>.
25884
25885 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25886
25887         save-cwd: no longer include "xgetcwd.h"
25888         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25889         This avoids a compilation failure in projects that use save-cwd
25890         without also using the xgetcwd module.
25891
25892 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25893
25894         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25895         This is so that a program like Emacs, which needs only dtoastr,
25896         does not have to bother with distributing and compiling ftoastr
25897         and ldtoastr.
25898         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25899         * modules/dtoastr, modules/ldtoastr: New files.
25900         * modules/ftoastr: Now works just for 'float'.
25901         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25902         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25903         dtoastr.c, ldtoastr.c.
25904
25905 2011-01-11  Jim Meyering  <meyering@redhat.com>
25906
25907         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25908         There is no need to work around the lack of the fchdir function,
25909         since gnulib can now provide a replacement when required.
25910         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25911         * modules/save-cwd (Depends-on): Add fchdir.
25912
25913 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25914
25915         openat, save-cwd: avoid xmalloc
25916
25917         This removes a direct (but undocumented) dependency of openat on
25918         xalloc, along with an indirect dependency via save-cwd.  It also
25919         removes a dependency of save-cwd on xgetcwd, and thereby
25920         indirectly on xalloc.  This change causes the openat substitute
25921         to fall back on save_cwd when memory is tight, and for save_cwd to
25922         fail instead of dying when memory is tight, but that's good enough.
25923         Problem and initial idea for fix reported by Bastien Roucaries in
25924         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25925
25926         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25927         xalloc.h (for xmalloc).
25928         (openat_proc_name): Use malloc, not xmalloc.
25929         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25930         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25931
25932         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25933         This avoids heap allocation for file names whose lengths are in
25934         the range 512..1023, with the upper bound increasing to at most
25935         4031 depending on the platform's PATH_MAX.  (We do not want
25936         pathmax.h here as it might supply a non-constant PATH_MAX.)
25937         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25938         Perhaps they should be moved to malloca.h?
25939         (OPENAT_BUFFER_SIZE): Use them.
25940
25941 2011-01-10  Bruno Haible  <bruno@clisp.org>
25942
25943         doc: Update users.txt.
25944         * users.txt: Add recutils.
25945
25946 2011-01-09  Karl Berry  <karl@gnu.org>
25947
25948         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25949
25950         * doc/configmake.texi: New file.
25951         * doc/gnulib.texi: Include it.
25952         * modules/configmake: Move documentation from here.
25953
25954 2011-01-09  Bruno Haible  <bruno@clisp.org>
25955
25956         Update to Unicode 6.0.0.
25957         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25958         (get_lbp): Update for Unicode 6.0.0.
25959         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25960         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25961         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25962         U+11001, U+11038..U+11046. Remove U+06DE.
25963         (uc_width): Fix bounds of planes.
25964         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25965         lib/uniwidth/width.c.
25966         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25967         trailing whitespace removed.
25968         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25969         without comments, but with the original copyright notice.
25970         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25971         * lib/unicase/ignorable.h: Likewise.
25972         * lib/unicase/tocasefold.h: Likewise.
25973         * lib/unicase/tolower.h: Likewise.
25974         * lib/unicase/totitle.h: Likewise.
25975         * lib/unicase/toupper.h: Likewise.
25976         * lib/unictype/bidi_of.h: Likewise.
25977         * lib/unictype/blocks.h: Likewise.
25978         * lib/unictype/categ_C.h: Likewise.
25979         * lib/unictype/categ_Cn.h: Likewise.
25980         * lib/unictype/categ_L.h: Likewise.
25981         * lib/unictype/categ_Ll.h: Likewise.
25982         * lib/unictype/categ_Lm.h: Likewise.
25983         * lib/unictype/categ_Lo.h: Likewise.
25984         * lib/unictype/categ_Lu.h: Likewise.
25985         * lib/unictype/categ_M.h: Likewise.
25986         * lib/unictype/categ_Mc.h: Likewise.
25987         * lib/unictype/categ_Me.h: Likewise.
25988         * lib/unictype/categ_Mn.h: Likewise.
25989         * lib/unictype/categ_N.h: Likewise.
25990         * lib/unictype/categ_Nd.h: Likewise.
25991         * lib/unictype/categ_No.h: Likewise.
25992         * lib/unictype/categ_P.h: Likewise.
25993         * lib/unictype/categ_Po.h: Likewise.
25994         * lib/unictype/categ_S.h: Likewise.
25995         * lib/unictype/categ_Sc.h: Likewise.
25996         * lib/unictype/categ_Sk.h: Likewise.
25997         * lib/unictype/categ_Sm.h: Likewise.
25998         * lib/unictype/categ_So.h: Likewise.
25999         * lib/unictype/categ_of.h: Likewise.
26000         * lib/unictype/combining.h: Likewise.
26001         * lib/unictype/ctype_alnum.h: Likewise.
26002         * lib/unictype/ctype_alpha.h: Likewise.
26003         * lib/unictype/ctype_graph.h: Likewise.
26004         * lib/unictype/ctype_lower.h: Likewise.
26005         * lib/unictype/ctype_print.h: Likewise.
26006         * lib/unictype/ctype_punct.h: Likewise.
26007         * lib/unictype/ctype_upper.h: Likewise.
26008         * lib/unictype/decdigit.h: Likewise.
26009         * lib/unictype/digit.h: Likewise.
26010         * lib/unictype/numeric.h: Likewise.
26011         * lib/unictype/pr_alphabetic.h: Likewise.
26012         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26013         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26014         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26015         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26016         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26017         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26018         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26019         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26020         * lib/unictype/pr_case_ignorable.h: Likewise.
26021         * lib/unictype/pr_cased.h: Likewise.
26022         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
26023         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
26024         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
26025         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
26026         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
26027         * lib/unictype/pr_combining.h: Likewise.
26028         * lib/unictype/pr_composite.h: Likewise.
26029         * lib/unictype/pr_currency_symbol.h: Likewise.
26030         * lib/unictype/pr_decimal_digit.h: Likewise.
26031         * lib/unictype/pr_deprecated.h: Likewise.
26032         * lib/unictype/pr_format_control.h: Likewise.
26033         * lib/unictype/pr_grapheme_base.h: Likewise.
26034         * lib/unictype/pr_grapheme_extend.h: Likewise.
26035         * lib/unictype/pr_grapheme_link.h: Likewise.
26036         * lib/unictype/pr_id_continue.h: Likewise.
26037         * lib/unictype/pr_id_start.h: Likewise.
26038         * lib/unictype/pr_ideographic.h: Likewise.
26039         * lib/unictype/pr_lowercase.h: Likewise.
26040         * lib/unictype/pr_math.h: Likewise.
26041         * lib/unictype/pr_numeric.h: Likewise.
26042         * lib/unictype/pr_other_alphabetic.h: Likewise.
26043         * lib/unictype/pr_other_id_continue.h: Likewise.
26044         * lib/unictype/pr_other_math.h: Likewise.
26045         * lib/unictype/pr_punctuation.h: Likewise.
26046         * lib/unictype/pr_sentence_terminal.h: Likewise.
26047         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26048         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26049         * lib/unictype/pr_unified_ideograph.h: Likewise.
26050         * lib/unictype/pr_uppercase.h: Likewise.
26051         * lib/unictype/pr_xid_continue.h: Likewise.
26052         * lib/unictype/pr_xid_start.h: Likewise.
26053         * lib/unictype/scripts.h: Likewise.
26054         * lib/unictype/scripts_byname.gperf: Likewise.
26055         * lib/unictype/sy_java_ident.h: Likewise.
26056         * lib/unigbrk/gbrkprop.h: Likewise.
26057         * lib/unilbrk/lbrkprop1.h: Likewise.
26058         * lib/unilbrk/lbrkprop2.h: Likewise.
26059         * lib/uninorm/decomposition-table2.h: Likewise.
26060         * lib/uniwbrk/wbrkprop.h: Likewise.
26061         * tests/unicase/test-cased.c: Likewise.
26062         * tests/unicase/test-ignorable.c: Likewise.
26063         * tests/unicase/test-uc_tolower.c: Likewise.
26064         * tests/unicase/test-uc_totitle.c: Likewise.
26065         * tests/unicase/test-uc_toupper.c: Likewise.
26066         * tests/unictype/test-categ_C.c: Likewise.
26067         * tests/unictype/test-categ_Cn.c: Likewise.
26068         * tests/unictype/test-categ_L.c: Likewise.
26069         * tests/unictype/test-categ_Ll.c: Likewise.
26070         * tests/unictype/test-categ_Lm.c: Likewise.
26071         * tests/unictype/test-categ_Lo.c: Likewise.
26072         * tests/unictype/test-categ_Lu.c: Likewise.
26073         * tests/unictype/test-categ_M.c: Likewise.
26074         * tests/unictype/test-categ_Mc.c: Likewise.
26075         * tests/unictype/test-categ_Me.c: Likewise.
26076         * tests/unictype/test-categ_Mn.c: Likewise.
26077         * tests/unictype/test-categ_N.c: Likewise.
26078         * tests/unictype/test-categ_Nd.c: Likewise.
26079         * tests/unictype/test-categ_No.c: Likewise.
26080         * tests/unictype/test-categ_P.c: Likewise.
26081         * tests/unictype/test-categ_Po.c: Likewise.
26082         * tests/unictype/test-categ_S.c: Likewise.
26083         * tests/unictype/test-categ_Sc.c: Likewise.
26084         * tests/unictype/test-categ_Sk.c: Likewise.
26085         * tests/unictype/test-categ_Sm.c: Likewise.
26086         * tests/unictype/test-categ_So.c: Likewise.
26087         * tests/unictype/test-ctype_alnum.c: Likewise.
26088         * tests/unictype/test-ctype_alpha.c: Likewise.
26089         * tests/unictype/test-ctype_graph.c: Likewise.
26090         * tests/unictype/test-ctype_lower.c: Likewise.
26091         * tests/unictype/test-ctype_print.c: Likewise.
26092         * tests/unictype/test-ctype_punct.c: Likewise.
26093         * tests/unictype/test-ctype_upper.c: Likewise.
26094         * tests/unictype/test-decdigit.h: Likewise.
26095         * tests/unictype/test-digit.h: Likewise.
26096         * tests/unictype/test-numeric.h: Likewise.
26097         * tests/unictype/test-pr_alphabetic.c: Likewise.
26098         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26099         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
26100         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
26101         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26102         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26103         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26104         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26105         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26106         * tests/unictype/test-pr_case_ignorable.c: Likewise.
26107         * tests/unictype/test-pr_cased.c: Likewise.
26108         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
26109         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
26110         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
26111         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
26112         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
26113         * tests/unictype/test-pr_combining.c: Likewise.
26114         * tests/unictype/test-pr_composite.c: Likewise.
26115         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26116         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26117         * tests/unictype/test-pr_deprecated.c: Likewise.
26118         * tests/unictype/test-pr_format_control.c: Likewise.
26119         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26120         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26121         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26122         * tests/unictype/test-pr_id_continue.c: Likewise.
26123         * tests/unictype/test-pr_id_start.c: Likewise.
26124         * tests/unictype/test-pr_ideographic.c: Likewise.
26125         * tests/unictype/test-pr_lowercase.c: Likewise.
26126         * tests/unictype/test-pr_math.c: Likewise.
26127         * tests/unictype/test-pr_numeric.c: Likewise.
26128         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26129         * tests/unictype/test-pr_other_id_continue.c: Likewise.
26130         * tests/unictype/test-pr_other_math.c: Likewise.
26131         * tests/unictype/test-pr_punctuation.c: Likewise.
26132         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26133         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26134         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26135         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26136         * tests/unictype/test-pr_uppercase.c: Likewise.
26137         * tests/unictype/test-pr_xid_continue.c: Likewise.
26138         * tests/unictype/test-pr_xid_start.c: Likewise.
26139         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26140         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26141         changes.
26142         * lib/unictype/categ_Cc.h: Likewise.
26143         * lib/unictype/categ_Cf.h: Likewise.
26144         * lib/unictype/categ_Co.h: Likewise.
26145         * lib/unictype/categ_Cs.h: Likewise.
26146         * lib/unictype/categ_Lt.h: Likewise.
26147         * lib/unictype/categ_Nl.h: Likewise.
26148         * lib/unictype/categ_Pc.h: Likewise.
26149         * lib/unictype/categ_Pd.h: Likewise.
26150         * lib/unictype/categ_Pe.h: Likewise.
26151         * lib/unictype/categ_Pf.h: Likewise.
26152         * lib/unictype/categ_Pi.h: Likewise.
26153         * lib/unictype/categ_Ps.h: Likewise.
26154         * lib/unictype/categ_Z.h: Likewise.
26155         * lib/unictype/categ_Zl.h: Likewise.
26156         * lib/unictype/categ_Zp.h: Likewise.
26157         * lib/unictype/categ_Zs.h: Likewise.
26158         * lib/unictype/ctype_blank.h: Likewise.
26159         * lib/unictype/ctype_cntrl.h: Likewise.
26160         * lib/unictype/ctype_digit.h: Likewise.
26161         * lib/unictype/ctype_space.h: Likewise.
26162         * lib/unictype/ctype_xdigit.h: Likewise.
26163         * lib/unictype/mirror.h: Likewise.
26164         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26165         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26166         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26167         * lib/unictype/pr_bidi_control.h: Likewise.
26168         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26169         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26170         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26171         * lib/unictype/pr_bidi_pdf.h: Likewise.
26172         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26173         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26174         * lib/unictype/pr_dash.h: Likewise.
26175         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26176         * lib/unictype/pr_diacritic.h: Likewise.
26177         * lib/unictype/pr_extender.h: Likewise.
26178         * lib/unictype/pr_hex_digit.h: Likewise.
26179         * lib/unictype/pr_hyphen.h: Likewise.
26180         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26181         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26182         * lib/unictype/pr_ignorable_control.h: Likewise.
26183         * lib/unictype/pr_iso_control.h: Likewise.
26184         * lib/unictype/pr_join_control.h: Likewise.
26185         * lib/unictype/pr_left_of_pair.h: Likewise.
26186         * lib/unictype/pr_line_separator.h: Likewise.
26187         * lib/unictype/pr_logical_order_exception.h: Likewise.
26188         * lib/unictype/pr_non_break.h: Likewise.
26189         * lib/unictype/pr_not_a_character.h: Likewise.
26190         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26191         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26192         * lib/unictype/pr_other_id_start.h: Likewise.
26193         * lib/unictype/pr_other_lowercase.h: Likewise.
26194         * lib/unictype/pr_other_uppercase.h: Likewise.
26195         * lib/unictype/pr_paired_punctuation.h: Likewise.
26196         * lib/unictype/pr_paragraph_separator.h: Likewise.
26197         * lib/unictype/pr_pattern_syntax.h: Likewise.
26198         * lib/unictype/pr_pattern_white_space.h: Likewise.
26199         * lib/unictype/pr_private_use.h: Likewise.
26200         * lib/unictype/pr_quotation_mark.h: Likewise.
26201         * lib/unictype/pr_radical.h: Likewise.
26202         * lib/unictype/pr_soft_dotted.h: Likewise.
26203         * lib/unictype/pr_space.h: Likewise.
26204         * lib/unictype/pr_titlecase.h: Likewise.
26205         * lib/unictype/pr_variation_selector.h: Likewise.
26206         * lib/unictype/pr_white_space.h: Likewise.
26207         * lib/unictype/pr_zero_width.h: Likewise.
26208         * lib/unictype/sy_c_ident.h: Likewise.
26209         * lib/unictype/sy_c_whitespace.h: Likewise.
26210         * lib/unictype/sy_java_whitespace.h: Likewise.
26211         * lib/uninorm/composition-table.gperf: Likewise.
26212         * lib/uninorm/decomposition-table1.h: Likewise.
26213         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
26214         LB8.
26215         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26216         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26217         * modules/unictype/*: Bump version number of expected libunistring
26218         version.
26219
26220 2011-01-09  Bruno Haible  <bruno@clisp.org>
26221
26222         Update to Unicode 5.2.0.
26223         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
26224         trailing whitespace removed.
26225
26226 2011-01-09  Bruno Haible  <bruno@clisp.org>
26227
26228         New Unicode character properties, from Unicode 5.2.0.
26229         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
26230         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
26231         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
26232         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
26233         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
26234         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
26235         uc_is_property_cased, uc_is_property_case_ignorable,
26236         uc_is_property_changes_when_lowercased,
26237         uc_is_property_changes_when_uppercased,
26238         uc_is_property_changes_when_titlecased,
26239         uc_is_property_changes_when_casefolded,
26240         uc_is_property_changes_when_casemapped): New declarations.
26241         * lib/unictype/pr_byname.gperf: Add the new properties.
26242         * modules/unictype/property-byname (Depends-on): Depend on the new
26243         properties modules.
26244         * modules/unictype/property-all (Depends-on): Likewise.
26245         * MODULES.html.sh (Unicode string functions): Add
26246         unictype/property-case-ignorable, unictype/property-cased,
26247         unictype/property-changes-when-casefolded,
26248         unictype/property-changes-when-casemapped,
26249         unictype/property-changes-when-lowercased,
26250         unictype/property-changes-when-titlecased,
26251         unictype/property-changes-when-uppercased.
26252
26253         New module 'unictype/property-changes-when-casemapped'.
26254         * modules/unictype/property-changes-when-casemapped: New file.
26255         * lib/unictype/pr_changes_when_casemapped.c: New file.
26256         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
26257         generated by gen-uni-tables.
26258         * modules/unictype/property-changes-when-casemapped-tests: New file.
26259         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
26260         automatically generated by gen-uni-tables.
26261
26262         New module 'unictype/property-changes-when-casefolded'.
26263         * modules/unictype/property-changes-when-casefolded: New file.
26264         * lib/unictype/pr_changes_when_casefolded.c: New file.
26265         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
26266         generated by gen-uni-tables.
26267         * modules/unictype/property-changes-when-casefolded-tests: New file.
26268         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
26269         automatically generated by gen-uni-tables.
26270
26271         New module 'unictype/property-changes-when-titlecased'.
26272         * modules/unictype/property-changes-when-titlecased: New file.
26273         * lib/unictype/pr_changes_when_titlecased.c: New file.
26274         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
26275         generated by gen-uni-tables.
26276         * modules/unictype/property-changes-when-titlecased-tests: New file.
26277         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
26278         automatically generated by gen-uni-tables.
26279
26280         New module 'unictype/property-changes-when-uppercased'.
26281         * modules/unictype/property-changes-when-uppercased: New file.
26282         * lib/unictype/pr_changes_when_uppercased.c: New file.
26283         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
26284         generated by gen-uni-tables.
26285         * modules/unictype/property-changes-when-uppercased-tests: New file.
26286         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
26287         automatically generated by gen-uni-tables.
26288
26289         New module 'unictype/property-changes-when-lowercased'.
26290         * modules/unictype/property-changes-when-lowercased: New file.
26291         * lib/unictype/pr_changes_when_lowercased.c: New file.
26292         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
26293         generated by gen-uni-tables.
26294         * modules/unictype/property-changes-when-lowercased-tests: New file.
26295         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
26296         automatically generated by gen-uni-tables.
26297
26298         New module 'unictype/property-case-ignorable'.
26299         * modules/unictype/property-case-ignorable: New file.
26300         * lib/unictype/pr_case_ignorable.c: New file.
26301         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
26302         by gen-uni-tables.
26303         * modules/unictype/property-case-ignorable-tests: New file.
26304         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
26305         generated by gen-uni-tables.
26306
26307         New module 'unictype/property-cased'.
26308         * modules/unictype/property-cased: New file.
26309         * lib/unictype/pr_cased.c: New file.
26310         * lib/unictype/pr_cased.h: New file, automatically generated by
26311         gen-uni-tables.
26312         * modules/unictype/property-cased-tests: New file.
26313         * tests/unictype/test-pr_cased.c: New file, automatically generated by
26314         gen-uni-tables.
26315
26316 2011-01-09  Bruno Haible  <bruno@clisp.org>
26317
26318         Update to Unicode 5.2.0.
26319         * lib/gen-uni-tables.c (output_predicate, output_category,
26320         output_combclass, output_bidi_category, output_decimal_digit_test,
26321         output_decimal_digit, output_digit_test, output_digit,
26322         output_numeric_test, output_numeric, output_mirror, output_scripts,
26323         output_scripts_byname, output_blocks, output_ident_category): Fix
26324         comment header.
26325         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
26326         get_wbp.
26327         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
26328         items.
26329         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
26330         Changes_When_Lowercased, Changes_When_Uppercased,
26331         Changes_When_Titlecased, Changes_When_Casefolded,
26332         Changes_When_Casemapped.
26333         (is_property_alphabetic, is_property_default_ignorable_code_point):
26334         Update for Unicode 5.2.0.
26335         (is_property_cased, is_property_case_ignorable,
26336         is_property_changes_when_lowercased,
26337         is_property_changes_when_uppercased,
26338         is_property_changes_when_titlecased,
26339         is_property_changes_when_casefolded,
26340         is_property_changes_when_casemapped): New functions.
26341         (output_properties): Output also the properties cased, case_ignorable,
26342         changes_when_lowercased, changes_when_uppercased,
26343         changes_when_titlecased, changes_when_casefolded,
26344         changes_when_casemapped.
26345         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
26346         Unicode TR#11 revision 17 -> 19.
26347         (LBP_CP): New enumeration value.
26348         (LBP_*): Adjust values accordingly.
26349         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26350         TR#14 revision 22 -> 24.
26351         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
26352         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
26353         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26354         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
26355         is_WBP_MIDLETTER.
26356         (output_composition_tables): Allow for 24 bits instead of 16 bits in
26357         the code1 and code2 of each composition rule.
26358         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
26359         * lib/unicase/ignorable.h: Likewise.
26360         * lib/unicase/tocasefold.h: Likewise.
26361         * lib/unicase/tolower.h: Likewise.
26362         * lib/unicase/totitle.h: Likewise.
26363         * lib/unicase/toupper.h: Likewise.
26364         * lib/unictype/bidi_of.h: Likewise.
26365         * lib/unictype/blocks.h: Likewise.
26366         * lib/unictype/categ_C.h: Likewise.
26367         * lib/unictype/categ_Cf.h: Likewise.
26368         * lib/unictype/categ_Cn.h: Likewise.
26369         * lib/unictype/categ_L.h: Likewise.
26370         * lib/unictype/categ_Ll.h: Likewise.
26371         * lib/unictype/categ_Lm.h: Likewise.
26372         * lib/unictype/categ_Lo.h: Likewise.
26373         * lib/unictype/categ_Lu.h: Likewise.
26374         * lib/unictype/categ_M.h: Likewise.
26375         * lib/unictype/categ_Mc.h: Likewise.
26376         * lib/unictype/categ_Mn.h: Likewise.
26377         * lib/unictype/categ_N.h: Likewise.
26378         * lib/unictype/categ_Nd.h: Likewise.
26379         * lib/unictype/categ_Nl.h: Likewise.
26380         * lib/unictype/categ_No.h: Likewise.
26381         * lib/unictype/categ_P.h: Likewise.
26382         * lib/unictype/categ_Pd.h: Likewise.
26383         * lib/unictype/categ_Po.h: Likewise.
26384         * lib/unictype/categ_S.h: Likewise.
26385         * lib/unictype/categ_Sc.h: Likewise.
26386         * lib/unictype/categ_So.h: Likewise.
26387         * lib/unictype/categ_of.h: Likewise.
26388         * lib/unictype/combining.h: Likewise.
26389         * lib/unictype/ctype_alnum.h: Likewise.
26390         * lib/unictype/ctype_alpha.h: Likewise.
26391         * lib/unictype/ctype_graph.h: Likewise.
26392         * lib/unictype/ctype_lower.h: Likewise.
26393         * lib/unictype/ctype_print.h: Likewise.
26394         * lib/unictype/ctype_punct.h: Likewise.
26395         * lib/unictype/ctype_upper.h: Likewise.
26396         * lib/unictype/decdigit.h: Likewise.
26397         * lib/unictype/digit.h: Likewise.
26398         * lib/unictype/numeric.h: Likewise.
26399         * lib/unictype/pr_alphabetic.h: Likewise.
26400         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26401         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26402         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26403         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26404         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26405         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26406         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26407         * lib/unictype/pr_combining.h: Likewise.
26408         * lib/unictype/pr_composite.h: Likewise.
26409         * lib/unictype/pr_currency_symbol.h: Likewise.
26410         * lib/unictype/pr_dash.h: Likewise.
26411         * lib/unictype/pr_decimal_digit.h: Likewise.
26412         * lib/unictype/pr_deprecated.h: Likewise.
26413         * lib/unictype/pr_diacritic.h: Likewise.
26414         * lib/unictype/pr_extender.h: Likewise.
26415         * lib/unictype/pr_grapheme_base.h: Likewise.
26416         * lib/unictype/pr_grapheme_extend.h: Likewise.
26417         * lib/unictype/pr_grapheme_link.h: Likewise.
26418         * lib/unictype/pr_id_continue.h: Likewise.
26419         * lib/unictype/pr_id_start.h: Likewise.
26420         * lib/unictype/pr_ideographic.h: Likewise.
26421         * lib/unictype/pr_ignorable_control.h: Likewise.
26422         * lib/unictype/pr_logical_order_exception.h: Likewise.
26423         * lib/unictype/pr_lowercase.h: Likewise.
26424         * lib/unictype/pr_numeric.h: Likewise.
26425         * lib/unictype/pr_other_alphabetic.h: Likewise.
26426         * lib/unictype/pr_punctuation.h: Likewise.
26427         * lib/unictype/pr_sentence_terminal.h: Likewise.
26428         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26429         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26430         * lib/unictype/pr_unified_ideograph.h: Likewise.
26431         * lib/unictype/pr_uppercase.h: Likewise.
26432         * lib/unictype/pr_xid_continue.h: Likewise.
26433         * lib/unictype/pr_xid_start.h: Likewise.
26434         * lib/unictype/pr_zero_width.h: Likewise.
26435         * lib/unictype/scripts.h: Likewise.
26436         * lib/unictype/scripts_byname.gperf: Likewise.
26437         * lib/unictype/sy_java_ident.h: Likewise.
26438         * lib/unigbrk/gbrkprop.h: Likewise.
26439         * lib/unilbrk/lbrkprop1.h: Likewise.
26440         * lib/unilbrk/lbrkprop2.h: Likewise.
26441         * lib/unilbrk/lbrktables.h: Likewise.
26442         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
26443         LBP_CP. Implement rule LB30.
26444         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
26445         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
26446         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
26447         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
26448         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
26449         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
26450         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
26451         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
26452         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
26453         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
26454         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
26455         bits instead of 16 bits in the code1 and code2 of each composition
26456         rule.
26457         (uc_composition): Update for Unicode 5.2.0.
26458         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26459         * lib/uninorm/decomposition-table2.h: Likewise.
26460         * lib/uniwbrk/wbrkprop.h: Likewise.
26461         * tests/unicase/test-cased.c: Likewise.
26462         * tests/unicase/test-ignorable.c: Likewise.
26463         * tests/unicase/test-uc_tolower.c: Likewise.
26464         * tests/unicase/test-uc_totitle.c: Likewise.
26465         * tests/unicase/test-uc_toupper.c: Likewise.
26466         * tests/unictype/test-categ_C.c: Likewise.
26467         * tests/unictype/test-categ_Cf.c: Likewise.
26468         * tests/unictype/test-categ_Cn.c: Likewise.
26469         * tests/unictype/test-categ_L.c: Likewise.
26470         * tests/unictype/test-categ_Ll.c: Likewise.
26471         * tests/unictype/test-categ_Lm.c: Likewise.
26472         * tests/unictype/test-categ_Lo.c: Likewise.
26473         * tests/unictype/test-categ_Lu.c: Likewise.
26474         * tests/unictype/test-categ_M.c: Likewise.
26475         * tests/unictype/test-categ_Mc.c: Likewise.
26476         * tests/unictype/test-categ_Mn.c: Likewise.
26477         * tests/unictype/test-categ_N.c: Likewise.
26478         * tests/unictype/test-categ_Nd.c: Likewise.
26479         * tests/unictype/test-categ_Nl.c: Likewise.
26480         * tests/unictype/test-categ_No.c: Likewise.
26481         * tests/unictype/test-categ_P.c: Likewise.
26482         * tests/unictype/test-categ_Pd.c: Likewise.
26483         * tests/unictype/test-categ_Po.c: Likewise.
26484         * tests/unictype/test-categ_S.c: Likewise.
26485         * tests/unictype/test-categ_Sc.c: Likewise.
26486         * tests/unictype/test-categ_So.c: Likewise.
26487         * tests/unictype/test-ctype_alnum.c: Likewise.
26488         * tests/unictype/test-ctype_alpha.c: Likewise.
26489         * tests/unictype/test-ctype_graph.c: Likewise.
26490         * tests/unictype/test-ctype_lower.c: Likewise.
26491         * tests/unictype/test-ctype_print.c: Likewise.
26492         * tests/unictype/test-ctype_punct.c: Likewise.
26493         * tests/unictype/test-ctype_upper.c: Likewise.
26494         * tests/unictype/test-decdigit.h: Likewise.
26495         * tests/unictype/test-digit.h: Likewise.
26496         * tests/unictype/test-numeric.h: Likewise.
26497         * tests/unictype/test-pr_alphabetic.c: Likewise.
26498         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26499         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26500         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26501         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26502         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26503         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26504         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26505         * tests/unictype/test-pr_combining.c: Likewise.
26506         * tests/unictype/test-pr_composite.c: Likewise.
26507         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26508         * tests/unictype/test-pr_dash.c: Likewise.
26509         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26510         * tests/unictype/test-pr_deprecated.c: Likewise.
26511         * tests/unictype/test-pr_diacritic.c: Likewise.
26512         * tests/unictype/test-pr_extender.c: Likewise.
26513         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26514         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26515         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26516         * tests/unictype/test-pr_id_continue.c: Likewise.
26517         * tests/unictype/test-pr_id_start.c: Likewise.
26518         * tests/unictype/test-pr_ideographic.c: Likewise.
26519         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26520         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26521         * tests/unictype/test-pr_lowercase.c: Likewise.
26522         * tests/unictype/test-pr_numeric.c: Likewise.
26523         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26524         * tests/unictype/test-pr_punctuation.c: Likewise.
26525         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26526         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26527         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26528         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26529         * tests/unictype/test-pr_uppercase.c: Likewise.
26530         * tests/unictype/test-pr_xid_continue.c: Likewise.
26531         * tests/unictype/test-pr_xid_start.c: Likewise.
26532         * tests/unictype/test-pr_zero_width.c: Likewise.
26533         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26534         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26535         changed behaviour: line breaking is now disallowed between a letter
26536         or '=' and '('.
26537         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26538         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26539         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26540         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26541         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26542         lib/uniwidth/width.c.
26543         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26544         without comments, but with the original copyright notice.
26545         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26546         changes.
26547         * lib/unictype/categ_Cc.h: Likewise.
26548         * lib/unictype/categ_Co.h: Likewise.
26549         * lib/unictype/categ_Cs.h: Likewise.
26550         * lib/unictype/categ_Lt.h: Likewise.
26551         * lib/unictype/categ_Me.h: Likewise.
26552         * lib/unictype/categ_Pc.h: Likewise.
26553         * lib/unictype/categ_Pe.h: Likewise.
26554         * lib/unictype/categ_Pf.h: Likewise.
26555         * lib/unictype/categ_Pi.h: Likewise.
26556         * lib/unictype/categ_Ps.h: Likewise.
26557         * lib/unictype/categ_Sk.h: Likewise.
26558         * lib/unictype/categ_Sm.h: Likewise.
26559         * lib/unictype/categ_Z.h: Likewise.
26560         * lib/unictype/categ_Zl.h: Likewise.
26561         * lib/unictype/categ_Zp.h: Likewise.
26562         * lib/unictype/categ_Zs.h: Likewise.
26563         * lib/unictype/ctype_blank.h: Likewise.
26564         * lib/unictype/ctype_cntrl.h: Likewise.
26565         * lib/unictype/ctype_digit.h: Likewise.
26566         * lib/unictype/ctype_space.h: Likewise.
26567         * lib/unictype/ctype_xdigit.h: Likewise.
26568         * lib/unictype/mirror.h: Likewise.
26569         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26570         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26571         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26572         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26573         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26574         * lib/unictype/pr_bidi_control.h: Likewise.
26575         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26576         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26577         * lib/unictype/pr_bidi_pdf.h: Likewise.
26578         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26579         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26580         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26581         * lib/unictype/pr_format_control.h: Likewise.
26582         * lib/unictype/pr_hex_digit.h: Likewise.
26583         * lib/unictype/pr_hyphen.h: Likewise.
26584         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26585         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26586         * lib/unictype/pr_iso_control.h: Likewise.
26587         * lib/unictype/pr_join_control.h: Likewise.
26588         * lib/unictype/pr_left_of_pair.h: Likewise.
26589         * lib/unictype/pr_line_separator.h: Likewise.
26590         * lib/unictype/pr_math.h: Likewise.
26591         * lib/unictype/pr_non_break.h: Likewise.
26592         * lib/unictype/pr_not_a_character.h: Likewise.
26593         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26594         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26595         * lib/unictype/pr_other_id_continue.h: Likewise.
26596         * lib/unictype/pr_other_id_start.h: Likewise.
26597         * lib/unictype/pr_other_lowercase.h: Likewise.
26598         * lib/unictype/pr_other_math.h: Likewise.
26599         * lib/unictype/pr_other_uppercase.h: Likewise.
26600         * lib/unictype/pr_paired_punctuation.h: Likewise.
26601         * lib/unictype/pr_paragraph_separator.h: Likewise.
26602         * lib/unictype/pr_pattern_syntax.h: Likewise.
26603         * lib/unictype/pr_pattern_white_space.h: Likewise.
26604         * lib/unictype/pr_private_use.h: Likewise.
26605         * lib/unictype/pr_quotation_mark.h: Likewise.
26606         * lib/unictype/pr_radical.h: Likewise.
26607         * lib/unictype/pr_soft_dotted.h: Likewise.
26608         * lib/unictype/pr_space.h: Likewise.
26609         * lib/unictype/pr_titlecase.h: Likewise.
26610         * lib/unictype/pr_variation_selector.h: Likewise.
26611         * lib/unictype/pr_white_space.h: Likewise.
26612         * lib/unictype/sy_c_ident.h: Likewise.
26613         * lib/unictype/sy_c_whitespace.h: Likewise.
26614         * lib/unictype/sy_java_whitespace.h: Likewise.
26615         * modules/uni*/*: Bump version number of expected libunistring version.
26616         Reported by Simon Josefsson.
26617
26618 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26619
26620         useless-if-before-free: fix typo in --help and make the internal,
26621         automatic version date update process work once again.
26622         --help output contained a NUL character instead of the
26623         backslash-zero that was intended.  Also, the "must lie within
26624         the first 8 lines" line is on line 9, and hence not getting
26625         automatically updated.
26626         * build-aux/useless-if-before-free: Fix the former by adding a
26627         backslash, and the latter by condensing the three lines of what-it-does
26628         to a single line, leaving one line of slack for the future.
26629
26630 2011-01-09  Bruno Haible  <bruno@clisp.org>
26631
26632         uniwidth/width: Fix width of U+1D173..U+1D17A.
26633         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26634         symbolic_width, output_width_property_test): New functions.
26635         (main): Invoke output_nonspacing_property, output_width_property_test.
26636         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26637         U+1D173..U+1D17A.
26638         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26639         1.
26640         * modules/uniwidth/*: Bump version number of expected libunistring
26641         version.
26642         * modules/unilbrk/*: Likewise.
26643
26644 2011-01-08  Bruno Haible  <bruno@clisp.org>
26645
26646         uninorm tests: Preserve copyright of Unicode data file.
26647         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26648         Mention modifications.
26649
26650 2011-01-08  Bruno Haible  <bruno@clisp.org>
26651
26652         gen-uni-tables: Prepare for Unicode 5.2.0.
26653         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26654         (debug_output_lbp, output_lbp): Update.
26655
26656 2011-01-08  Bruno Haible  <bruno@clisp.org>
26657
26658         unilbrk: Clarify gen-uni-tables.c code.
26659         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26660         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26661         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26662
26663 2011-01-07  Bruno Haible  <bruno@clisp.org>
26664
26665         strtod: Restore errno when successfully parsing Infinity or NaN.
26666         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26667         restore the original errno.
26668
26669 2011-01-07  Bruno Haible  <bruno@clisp.org>
26670
26671         remove test: Avoid failure on HP-UX 11.
26672         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26673
26674 2011-01-07  Bruno Haible  <bruno@clisp.org>
26675
26676         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26677         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26678         error code.
26679
26680 2011-01-07  Pádraig Brady <P@draigBrady.com>
26681
26682         ignore-value: fixup comments, and add Eric Blake
26683         as an author since he rewrote the macros.
26684         * lib/ignore-value.h (ignore_value):  State that
26685         we now support aggregates.  Also specify exactly
26686         when the GCC warn_unused_result feature was added.
26687
26688 2011-01-06  Eric Blake  <eblake@redhat.com>
26689
26690         ignore-value: support aggregate types
26691         * lib/ignore-value.h (ignore_value): Provide separate gcc
26692         definition.
26693         * modules/ignore-value-tests: New test module.
26694         * tests/test-ignore-value.c: New test.
26695
26696         maint.mk: improve sc_prohibit_strcmp regex
26697         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26698         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26699         definition of STRNEQ.
26700
26701         signal: work around Haiku issue with SIGBUS
26702         * lib/siglist.h: Add comment.
26703         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26704         strsignal's favoring of SIGSEGV.
26705         * tests/test-signal.c (main): Avoid test failure.
26706         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26707         Reported by Scott McCreary.
26708
26709         maint.mk: add pre-release check to ensure submodule commits are public
26710         * top/maint.mk (public-submodule-commit): New rule.
26711         (submodule-checks): New variable.
26712         (alpha beta stable): Depend on the variable.
26713
26714 2011-01-05  Pádraig Brady <P@draigBrady.com>
26715         and Jim Meyering  <meyering@redhat.com>
26716
26717         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26718         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26719         (ATTRIBUTE_DEPRECATED): Define.
26720         (_ignore_case): New function.
26721         (ignore_value): New macro, to replace the old function.
26722         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26723         * modules/ignore-value (Depends-on): Add stdint.
26724
26725 2011-01-04  Eric Blake  <eblake@redhat.com>
26726
26727         doc: regenerate INSTALL
26728         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26729         @firstparagraphindent support, now that autoconf dropped it.
26730         (INSTALL_PRELUDE): Reinstate old macro.
26731         * doc/install.texi: Resync from autoconf.
26732         * doc/INSTALL: Reflect recent autoconf update.
26733         * doc/INSTALL.ISO: Likewise.
26734         * doc/INSTALL.UTF-8: Likewise.
26735         Reported by Karl Berry.
26736
26737 2011-01-04  Bruce Korb  <address@hidden>
26738
26739         git-version-gen: avoid a sub-shell
26740         * build-aux/git-version-gen: Redirect stderr in `...` via
26741         "exec 2>...", rather than via an added sub-shell.
26742
26743 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26744
26745         git-version-gen: use (...) rather than sh -c '...'
26746         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26747         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26748
26749 2011-01-03  Jim Meyering  <meyering@redhat.com>
26750
26751         git-version-gen: convert leading TABs to spaces
26752         * build-aux/git-version-gen: Expand leading TABs.
26753
26754         git-version-gen: handle failed "git rev-list"
26755         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26756         from git and proceeding as if it had succeeded but printed no SHA1
26757         checksums, suppress the diagnostic and handle the failure.
26758         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26759
26760         git-version-gen: include command name in one more diagnostic
26761         * build-aux/git-version-gen: When the required .tarball-version file
26762         was missing or unreadable, you might see the diagnostic from "cat",
26763         but no trace of the name of the invoking script.  Now, you still see
26764         the diagnostic from cat, but also get one from "git-version-gen: ".
26765         Inspired by a patch from Bruce Korb.
26766
26767         update-copyright: adjust test to match changed code
26768         * tests/test-update-copyright.sh: Change test's expected output
26769         to match new actual output.
26770
26771 2011-01-02  Bruno Haible  <bruno@clisp.org>
26772
26773         getlogin_r: Avoid test failure on HP-UX 11.
26774         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26775         ERANGE when the second argument is zero.
26776         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26777         portability problem.
26778
26779 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26780
26781         * build-aux/update-copyright: doc Simon's changes
26782
26783 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26784
26785         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26786         environment variable.
26787
26788 2011-01-02  Bruno Haible  <bruno@clisp.org>
26789
26790         unigbrk: Avoid gcc warnings.
26791         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26792         unused variable.
26793         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26794         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26795         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26796         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26797         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26798         Change type of first argument to 'const char *'.
26799         (main): Remove unused variable.
26800         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26801         type of first argument to 'const char *'.
26802         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26803         Likewise.
26804         (main): Change type of variable 's'.
26805         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26806         to 'int'.
26807
26808 2011-01-02  Bruno Haible  <bruno@clisp.org>
26809
26810         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26811         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26812         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26813         bug.
26814         * lib/pwrite.c: Undo 2010-12-31 patch.
26815         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26816
26817 2011-01-02  Bruno Haible  <bruno@clisp.org>
26818
26819         pread: Fix test whether it works.
26820         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26821
26822 2011-01-02  Bruno Haible  <bruno@clisp.org>
26823
26824         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26825         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26826         ends in "6". Don't require a specific month name. Try also the locale
26827         names found on HP-UX 11 and Solaris 7.
26828
26829 2011-01-02  Bruno Haible  <bruno@clisp.org>
26830
26831         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26832         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26833         C linkage.
26834         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26835
26836 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26837
26838         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26839         for consistency, since the "cluster" term is not used elsewhere.
26840         * lib/unigbrk.in.h: Update name.
26841         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26842         * lib/unigbrk/u16-grapheme-next.c: Update name.
26843         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26844         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26845         * lib/unigbrk/u32-grapheme-next.c: Update name.
26846         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26847         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26848         * lib/unigbrk/u8-grapheme-next.c: Update name.
26849         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26850         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26851         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26852         Suggested by Bruno Haible.
26853
26854 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26855
26856         Remove module 'u8-grapheme-len' as too redundant with
26857         'u8-grapheme-next'.
26858         * modules/unigbrk/u8-grapheme-len: Delete file.
26859         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26860         * lib/unigbrk.in.h: Remove prototype for deleted function.
26861         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26862         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26863
26864         Remove module 'u16-grapheme-len' as too redundant with
26865         'u16-grapheme-next'.
26866         * modules/unigbrk/u16-grapheme-len: Delete file.
26867         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26868         * lib/unigbrk.in.h: Remove prototype for deleted function.
26869         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26870         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26871
26872         Remove module 'u32-grapheme-len' as too redundant with
26873         'u32-grapheme-next'.
26874         * modules/unigbrk/u32-grapheme-len: Delete file.
26875         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26876         * lib/unigbrk.in.h: Remove prototype for deleted function.
26877         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26878         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26879
26880         Suggested by Bruno Haible.
26881
26882 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26883
26884         * unigbrk.in.h: Fix typo: "ben" => "been".
26885         Reported by Bruno Haible.
26886
26887 2011-01-01  Jim Meyering  <meyering@redhat.com>
26888
26889         maint: update almost all copyright ranges to include 2011
26890         Run the new "make update-copyright" rule.
26891
26892 2011-01-01  Jim Meyering  <meyering@redhat.com>
26893
26894         maint: update-copyright: exempt doc/INSTALL*
26895         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26896         since they are generated.  Suggested by Bruno Haible.
26897
26898 2011-01-01  Jim Meyering  <meyering@redhat.com>
26899
26900         maint: refine the update-copyright rule
26901         * Makefile (update-copyright): Also exclude any file that includes
26902         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26903         code that merely generates the comment.
26904
26905 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26906
26907         New module 'u8-grapheme-len'.
26908         * modules/unigbrk/u8-grapheme-len: New file.
26909         * modules/unigbrk/u8-grapheme-len-tests: New file.
26910         * lib/unigbrk.in.h: Add prototype for new function.
26911         * lib/unigbrk/u8-grapheme-len.c: New file.
26912         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26913
26914         New module 'u16-grapheme-len'.
26915         * modules/unigbrk/u16-grapheme-len: New file.
26916         * modules/unigbrk/u16-grapheme-len-tests: New file.
26917         * lib/unigbrk.in.h: Add prototype for new function.
26918         * lib/unigbrk/u16-grapheme-len.c: New file.
26919         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26920
26921         New module 'u32-grapheme-len'.
26922         * modules/unigbrk/u32-grapheme-len: New file.
26923         * modules/unigbrk/u32-grapheme-len-tests: New file.
26924         * lib/unigbrk.in.h: Add prototype for new function.
26925         * lib/unigbrk/u32-grapheme-len.c: New file.
26926         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26927
26928         New module 'u8-grapheme-next'.
26929         * modules/unigbrk/u8-grapheme-next: New file.
26930         * modules/unigbrk/u8-grapheme-next-tests: New file.
26931         * lib/unigbrk.in.h: Add prototype for new function.
26932         * lib/unigbrk/u8-grapheme-next.c: New file.
26933         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26934
26935         New module 'u16-grapheme-next'.
26936         * modules/unigbrk/u16-grapheme-next: New file.
26937         * modules/unigbrk/u16-grapheme-next-tests: New file.
26938         * lib/unigbrk.in.h: Add prototype for new function.
26939         * lib/unigbrk/u16-grapheme-next.c: New file.
26940         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26941
26942         New module 'u32-grapheme-next'.
26943         * modules/unigbrk/u32-grapheme-next: New file.
26944         * modules/unigbrk/u32-grapheme-next-tests: New file.
26945         * lib/unigbrk.in.h: Add prototype for new function.
26946         * lib/unigbrk/u32-grapheme-next.c: New file.
26947         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26948
26949         New module 'u8-grapheme-prev'.
26950         * modules/unigbrk/u8-grapheme-prev: New file.
26951         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26952         * lib/unigbrk.in.h: Add prototype for new function.
26953         * lib/unigbrk/u8-grapheme-prev.c: New file.
26954         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26955
26956         New module 'u16-grapheme-prev'.
26957         * modules/unigbrk/u16-grapheme-prev: New file.
26958         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26959         * lib/unigbrk.in.h: Add prototype for new function.
26960         * lib/unigbrk/u16-grapheme-prev.c: New file.
26961         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26962
26963         New module 'u32-grapheme-prev'.
26964         * modules/unigbrk/u32-grapheme-prev: New file.
26965         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26966         * lib/unigbrk.in.h: Add prototype for new function.
26967         * lib/unigbrk/u32-grapheme-prev.c: New file.
26968         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26969
26970         New module 'u8-grapheme-breaks'.
26971         * modules/unigbrk/u8-grapheme-breaks: New file.
26972         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26973         * lib/unigbrk.in.h: Add prototype for new function.
26974         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26975         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26976
26977         New module 'u16-grapheme-breaks'.
26978         * modules/unigbrk/u16-grapheme-breaks: New file.
26979         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26980         * lib/unigbrk.in.h: Add prototype for new function.
26981         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26982         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26983
26984         New module 'u32-grapheme-breaks'.
26985         * modules/unigbrk/u32-grapheme-breaks: New file.
26986         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26987         * lib/unigbrk.in.h: Add prototype for new function.
26988         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26989         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26990
26991         New module 'ulc-grapheme-breaks'.
26992         * modules/unigbrk/ulc-grapheme-breaks: New file.
26993         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26994         * m4/locale-ar.m4: New file.
26995         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26996         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26997         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26998
26999 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
27000
27001         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
27002         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
27003         modified how this file was generated before I initially submitted
27004         the module, but failed to regenerate it.  This meant that several
27005         of the level2 entries were wrong.
27006         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
27007         Remove the division-by-2 that is folded into the table now that
27008         gbrkprop.h has been regenerated properly.  Now -1 entries are
27009         handled correctly.
27010
27011         New module 'unigbrk/uc-gbrk-prop-tests'.
27012         * modules/unigbrk/uc-gbrk-prop-tests: New file.
27013         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
27014         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
27015         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
27016
27017 2011-01-01  Bruno Haible  <bruno@clisp.org>
27018
27019         Avoid use of hexadecimal escapes.
27020         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
27021         instead of hexadecimal escapes.
27022
27023 2011-01-01  Jim Meyering  <meyering@redhat.com>
27024
27025         maint: new rule to update copyright year ranges
27026         * Makefile (update-copyright): New rule.
27027
27028         maint: indent with TABs in Makefile
27029         * Makefile: Expand leading sequences of spaces to TABs
27030
27031         version-etc: update the copyright year it reports
27032         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
27033
27034 2010-12-31  Bruno Haible  <bruno@clisp.org>
27035
27036         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
27037         * lib/isfinite.c (zerof, zerod, zerol): New variables.
27038         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
27039         zero.
27040
27041 2010-12-31  Bruno Haible  <bruno@clisp.org>
27042
27043         pwrite: Work around HP-UX 11.11 bug.
27044         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
27045         works and set REPLACE_PWRITE if not.
27046         * lib/pwrite.c (pwrite): Add an implementation that uses the system
27047         function.
27048         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
27049
27050 2010-12-31  Bruno Haible  <bruno@clisp.org>
27051
27052         pread: Work around HP-UX 11 bugs.
27053         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
27054         and set REPLACE_PREAD if not.
27055         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
27056
27057 2010-12-31  Eric Blake  <eblake@redhat.com>
27058
27059         nl_langinfo: fix YESEXPR on Irix 6.5
27060         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
27061         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
27062         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
27063         it.
27064
27065 2010-12-31  Bruno Haible  <bruno@clisp.org>
27066
27067         iconv: Document HP-UX 11 bug.
27068         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
27069
27070 2010-12-31  Bruno Haible  <bruno@clisp.org>
27071
27072         ldexpl: Fix link error on HP-UX 11.
27073         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
27074         LDEXPL_LIBM, using $ISNANL_LIBM.
27075
27076 2010-12-31  Eric Blake  <eblake@redhat.com>
27077
27078         ftello: avoid compilation failure with SunStudio c89
27079         * lib/ftello.c (ftello): Use lseek, not llseek.
27080
27081         tests: avoid failing coreutils tests on cygwin
27082         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
27083         (create_exe_shims_): Return 0 when skipping.
27084
27085 2010-12-31  Bruno Haible  <bruno@clisp.org>
27086
27087         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
27088         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
27089
27090 2010-12-31  Bruno Haible  <bruno@clisp.org>
27091
27092         waitpid: Fix link error in C++ mode.
27093         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
27094
27095 2010-12-31  Bruno Haible  <bruno@clisp.org>
27096
27097         isnan: Use GCC built-ins when possible.
27098         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
27099         __builtin_isnan.
27100         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
27101         (isnan): Define using GCC built-ins for GCC >= 4.0.
27102
27103 2010-12-31  Bruno Haible  <bruno@clisp.org>
27104
27105         isnand: Fix mistake.
27106         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
27107         __builtin_isnand.
27108
27109 2010-12-31  Bruno Haible  <bruno@clisp.org>
27110
27111         open: Avoid C++ error on HP-UX 11.
27112         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
27113
27114 2010-12-31  Bruno Haible  <bruno@clisp.org>
27115
27116         time_r: Add missing declarations on HP-UX 11.
27117         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
27118         instead of HAVE_LOCALTIME_R.
27119         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
27120         HAVE_LOCALTIME_R always.
27121         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
27122         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
27123         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
27124         HAVE_LOCALTIME_R.
27125         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
27126         * doc/posix-functions/localtime_r.texi: Likewise.
27127
27128 2010-12-29  Eric Blake  <eblake@redhat.com>
27129
27130         mountlist: tweak previous commit
27131         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
27132         Reported by Paul Eggert.
27133
27134         mountlist: fix local drive detection on cygwin
27135         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
27136         that works for cygwin.
27137
27138 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
27139
27140         ftoastr, snprintf: ftoastr + snprintf module
27141         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
27142         since the snprintf module now should be good enough here.
27143         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
27144         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
27145         and gl_MODULE_INDICATOR([snprintf]), but the former enables
27146         GNULIB_SNPRINTF only for the test directory, and the latter
27147         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
27148         seems to suffice by itself.
27149
27150 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
27151
27152         alloca: one step towards thread-safety
27153         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
27154         need for a static variable.  All callers changed.  This does not
27155         make the alloca replacement thread-safe, but it's one step.
27156
27157         tests: minor indenting change
27158         * tests/init.sh: Sync from coreutils housekeeping patch
27159         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
27160         to keep lines within 80 columns.
27161
27162 2010-12-28  Jim Meyering  <meyering@redhat.com>
27163
27164         regex: don't infloop on persistent failing calloc
27165         * lib/regexec.c (build_trtable): Return failure indication upon
27166         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
27167         In glibc, this was fixed for version 2.13:
27168         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
27169
27170 2010-12-28  Bruno Haible  <bruno@clisp.org>
27171             Paul Eggert <eggert@cs.ucla.edu>
27172
27173         linkat: Make implementation robust against system behaviour variations.
27174         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
27175         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
27176         way, and to -2 if it needs a generic runtime test.
27177         * lib/linkat.c (solaris_optimized_link_immediate,
27178         solaris_optimized_link_follow): New functions.
27179         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
27180         (check_same_link): Use it.
27181
27182 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
27183
27184         New module 'unigbrk/base'.
27185         * modules/unigbrk/base: New file.
27186         * lib/unigbrk.in.h: New file.
27187
27188         New module 'unigbrk/uc-gbrk-prop'.
27189         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
27190         * modules/unigbrk/uc-gbrk-prop: New file.
27191         * lib/unigbrk/gbrkprop.h: New file.
27192         * lib/unigbrk/uc-gbrk-prop.c: New file.
27193
27194         New module 'unigbrk/uc-is-grapheme-break'.
27195         * modules/unigbrk/uc-is-grapheme-break: New file.
27196         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
27197         * lib/unigbrk/uc-is-grapheme-break.c: New file.
27198         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
27199         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
27200         * tests/unigbrk/GraphemeBreakTest.txt: New file.
27201
27202         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
27203
27204 2010-12-27  Bruno Haible  <bruno@clisp.org>
27205
27206         linkat test: Avoid failure on Solaris 11 2010-11.
27207         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
27208
27209 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27210
27211         utimens: work around glibc rounding bug on more platforms
27212         * lib/utimens.c (fdutimens): Work around rounding bug even if
27213         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
27214         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
27215
27216 2010-12-27  Bruno Haible  <bruno@clisp.org>
27217
27218         select tests: Improve comments.
27219         * tests/test-select.c (do_select): Add comments.
27220
27221 2010-12-27  Bruno Haible  <bruno@clisp.org>
27222
27223         select tests: Safer way of handling timeout.
27224         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
27225         at every invocation.
27226
27227 2010-12-27  Bruno Haible  <bruno@clisp.org>
27228
27229         select tests: Use 'bool' where appropriate.
27230         * tests/test-select.c (connect_to_socket): Change argument type to
27231         'bool'.
27232
27233 2010-12-27  Bruno Haible  <bruno@clisp.org>
27234
27235         select tests: Use existing modules.
27236         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
27237         (configure.ac): Don't test for unistd.h.
27238         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
27239         declared in <unistd.h>.
27240
27241 2010-12-27  Bruno Haible  <bruno@clisp.org>
27242
27243         mbrtowc: Work around a Solaris 7 bug.
27244         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
27245         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
27246         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
27247         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
27248         MBRTOWC_NULL_ARG1_BUG.
27249         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
27250         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
27251         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
27252         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
27253
27254 2010-12-27  Jim Meyering  <meyering@redhat.com>
27255
27256         read-file.c: tweak syntax
27257         * lib/read-file.c (fread_file): Remove space after "*" in function
27258         definitions.
27259
27260 2010-12-27  Bruno Haible  <bruno@clisp.org>
27261
27262         times test: Avoid gcc warnings on OSF/1.
27263         * tests/test-times.c (main): Cast printf arguments from clock_t to
27264         'long int'.
27265
27266 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27267
27268         utimens: work around glibc rounding bug on older Linux kernels
27269         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
27270         on Linux with a glibc whose utimes might not work, then work
27271         around a longstanding glibc bug involving rounding rather than
27272         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
27273         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27274
27275 2010-12-26  Bruno Haible  <bruno@clisp.org>
27276
27277         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
27278         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
27279         _GL_CXXALIAS_SYS.
27280         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27281
27282 2010-12-26  Bruno Haible  <bruno@clisp.org>
27283
27284         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
27285         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
27286         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27287         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
27288         looking for the declaration.
27289         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
27290         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
27291         problem.
27292         * doc/posix-functions/inet_pton.texi: Likewise.
27293
27294 2010-12-26  Bruno Haible  <bruno@clisp.org>
27295
27296         arpa_inet: Use the common idioms with C++ support.
27297         * lib/arpa_inet.in.h: Include c++defs.h.
27298         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
27299         support.
27300         * modules/arpa_inet (Depends-on): Add c++defs.
27301         (Makefile.am): Substitute the contents of c++defs.h.
27302         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
27303         * modules/arpa_inet-c++-tests: New file.
27304         * tests/test-arpa_inet-c++.cc: New file.
27305
27306 2010-12-25  Bruno Haible  <bruno@clisp.org>
27307
27308         Fix more C++ link errors on Solaris 8.
27309         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
27310         $(LIB_EACCESS).
27311         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
27312         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
27313         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
27314         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
27315         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
27316
27317 2010-12-25  Bruno Haible  <bruno@clisp.org>
27318
27319         printf-posix: Fix link error when a non-GCC compiler is used.
27320         * lib/stdio.in.h (printf): When not using GCC, override printf
27321         correctly.
27322         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27323
27324 2010-12-25  Bruno Haible  <bruno@clisp.org>
27325
27326         strerror_r-posix: Update doc.
27327         * doc/posix-functions/strerror_r.texi: Update doc about the return
27328         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
27329
27330 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27331
27332         utimens: simplify the logic of the previous change
27333         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
27334         This should not affect whether the test succeeds or fails.
27335
27336         utimens: configure better on hosts with NFS clock skew
27337         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
27338         uses the clock of the local host.  It might use the clock of the
27339         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
27340         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27341
27342 2010-12-25  Bruno Haible  <bruno@clisp.org>
27343
27344         ptsname test: Avoid failure on Solaris.
27345         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
27346         open a pseudo-terminal; don't use BSD-style ptys.
27347         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
27348
27349 2010-12-25  Bruno Haible  <bruno@clisp.org>
27350
27351         ptsname: Avoid ERANGE failure on some systems.
27352         * lib/ptsname.c (buffer): Increase size.
27353
27354 2010-12-25  Bruno Haible  <bruno@clisp.org>
27355
27356         rename, renameat: Avoid test failures at NFS mounted locations.
27357         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
27358         so that subsequent mkdir calls succeed.
27359
27360 2010-12-25  Bruno Haible  <bruno@clisp.org>
27361
27362         iswblank: Fix C++ link error on Solaris 8.
27363         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
27364         _GL_FUNCDECL_SYS.
27365
27366 2010-12-25  Bruno Haible  <bruno@clisp.org>
27367
27368         unistd: Fix C++ link error on Solaris 8.
27369         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
27370
27371 2010-12-25  Bruno Haible  <bruno@clisp.org>
27372
27373         readlink doc: Mention an old glibc bug.
27374         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
27375
27376 2010-12-25  Bruno Haible  <bruno@clisp.org>
27377
27378         fcntl-h: Fix for use of C++ on glibc systems.
27379         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27380         also on glibc systems in C++ mode.
27381         Reported by Gary V. Vaughan <gary@gnu.org>.
27382
27383 2010-12-25  Bruno Haible  <bruno@clisp.org>
27384
27385         roundl-ieee: Make it work on OSF/1 5.1 with cc.
27386         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
27387
27388 2010-12-25  Bruno Haible  <bruno@clisp.org>
27389
27390         truncl-ieee: Make it work on OSF/1 5.1 with cc.
27391         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
27392         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
27393         test whether truncl works according to ISO C 99 with IEC 60559.
27394         * m4/truncl-ieee.m4: New file.
27395         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
27396         m4/signbit.m4.
27397         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
27398
27399 2010-12-25  Bruno Haible  <bruno@clisp.org>
27400
27401         ceill-ieee: Make it work on OSF/1 5.1 with cc.
27402         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
27403         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
27404         test whether ceill works according to ISO C 99 with IEC 60559.
27405         * m4/ceill-ieee.m4: New file.
27406         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
27407         m4/signbit.m4.
27408         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
27409
27410 2010-12-25  Bruno Haible  <bruno@clisp.org>
27411
27412         Ensure all prerequisites of <wchar.h> are included.
27413         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
27414         before <wchar.h>.
27415         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27416         gl_MBRLEN_NUL_RETVAL): Likewise.
27417         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27418         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
27419         AC_FUNC_MBRTOWC): Likewise.
27420         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27421         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27422         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27423         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27424         Likewise.
27425         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27426         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
27427         (gl_WCHAR_H): Improve comments.
27428         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
27429
27430 2010-12-25  Bruno Haible  <bruno@clisp.org>
27431
27432         strtok_r: Fix C syntax error in autoconf macro.
27433         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
27434         characters in test program.
27435
27436 2010-12-24  Bruno Haible  <bruno@clisp.org>
27437
27438         ceil, trunc, round: Fix gcc warnings.
27439         * lib/ceil.c (MIN): Undefine before redefining.
27440         * lib/trunc.c (MIN): Likewise.
27441         * lib/round.c (MIN): Likewise.
27442         Include <math.h> first.
27443
27444 2010-12-24  Bruno Haible  <bruno@clisp.org>
27445
27446         select tests: Avoid failures on OSF/1 5.1.
27447         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
27448         failure of closing the last socket; it may fail with ECONNRESET.
27449
27450 2010-12-24  Eric Blake  <eblake@redhat.com>
27451
27452         stdint: avoid HP-UX 10.20 preprocessor bug
27453         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
27454         than #if.
27455         * tests/test-floor2.c (main): Likewise.
27456         Reported by Peter O'Gorman.
27457
27458         pipe: make obsoletion transition easier
27459         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27460         * modules/pipe (Files): Include revived file.
27461         (Include): Drop reference, to mirror getdate's behavior.
27462
27463 2010-12-24  Bruno Haible  <bruno@clisp.org>
27464
27465         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27466         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27467         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27468         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27469
27470 2010-12-24  Bruno Haible  <bruno@clisp.org>
27471
27472         gethostname: Ensure declaration on NonStop Kernel.
27473         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27474         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27475
27476 2010-12-24  Bruno Haible  <bruno@clisp.org>
27477
27478         sys_select: Ensure all necessary types on NonStop Kernel.
27479         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27480         include <sys/time.h>.
27481         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27482         NonStop Kernel.
27483         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27484
27485 2010-12-24  Bruno Haible  <bruno@clisp.org>
27486
27487         sys_select: Remove unneeded include.
27488         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27489         have <sys/select.h>.
27490
27491 2010-12-24  Bruno Haible  <bruno@clisp.org>
27492
27493         gethostname: Provide a fallback for HOST_NAME_MAX.
27494         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27495         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27496         instead.
27497         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27498
27499 2010-12-24  Bruno Haible  <bruno@clisp.org>
27500
27501         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27502         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27503         (SA_RESTART): Likewise.
27504         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27505
27506 2010-12-24  Bruno Haible  <bruno@clisp.org>
27507
27508         signal: Define NSIG.
27509         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27510         * tests/test-signal.c (nsig): New variable.
27511         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27512
27513 2010-12-24  Bruno Haible  <bruno@clisp.org>
27514
27515         rename, renameat: Avoid test failures on OSF/1 5.1.
27516         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27517         alternative error codes.
27518         * tests/test-renameat.c (main): Likewise.
27519
27520 2010-12-24  Bruno Haible  <bruno@clisp.org>
27521
27522         *printf: Detect large precisions bug on Solaris 10/SPARC.
27523         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27524         by Paul Eggert.
27525         * tests/test-snprintf-posix.h (test_function): Add this test code here
27526         too.
27527         * tests/test-sprintf-posix.h (test_function): Likewise.
27528         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27529         * tests/test-vasprintf-posix.c (test_function): Likewise.
27530         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27531         around by gnulib.
27532         * doc/posix-functions/printf.texi: Likewise.
27533         * doc/posix-functions/snprintf.texi: Likewise.
27534         * doc/posix-functions/sprintf.texi: Likewise.
27535         * doc/posix-functions/vfprintf.texi: Likewise.
27536         * doc/posix-functions/vprintf.texi: Likewise.
27537         * doc/posix-functions/vsnprintf.texi: Likewise.
27538         * doc/posix-functions/vsprintf.texi: Likewise.
27539         * doc/posix-functions/dprintf.texi: Undo last commit.
27540         * doc/posix-functions/vdprintf.texi: Likewise.
27541
27542 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27543
27544         tests: port test-fdutimensat.c to Solaris 8
27545         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27546         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27547         On Solaris 8, it fails with errno == ENOSYS, because there is no
27548         futimens (so it can't use the fd), and there is no lutimens (so it
27549         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27550
27551         vsnprintf: make more consistent with snprintf; doc fixes
27552
27553         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27554         the byte count return problem was promoted from the snprintf-posix
27555         to the snprintf module.
27556         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27557         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27558         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27559         * tests/test-snprintf.c (main): Check the byte count returned.
27560         * tests/test-vsnprintf.c (main): Likewise.
27561
27562 2010-12-23  Eric Blake  <eblake@redhat.com>
27563
27564         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27565         * modules/sigpipe (License): Relax license.
27566
27567 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27568
27569         doc: document Solaris printf bug with large float precisions
27570         * doc/posix-functions/dprintf.texi (dprintf):
27571         * doc/posix-functions/fprintf.texi (fprintf):
27572         * doc/posix-functions/printf.texi (printf):
27573         * doc/posix-functions/snprintf.texi (snprintf):
27574         * doc/posix-functions/sprintf.texi (sprintf):
27575         * doc/posix-functions/vdprintf.texi (vdprintf):
27576         * doc/posix-functions/vfprintf.texi (vfprintf):
27577         * doc/posix-functions/vprintf.texi (vprintf):
27578         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27579         * doc/posix-functions/vsprintf.texi (vsprintf):
27580         Mention that these functions mishandle large floating point
27581         precisions on Solaris 10.  The same bug is also present in Solaris
27582         8, and I assume earlier.  This causes "cd gnulib-tests; make
27583         check" to fail on Solaris 8 (and I assume, later) when building
27584         the latest coreutils, in test-vasprintf-posix's call to
27585         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27586         the wide flavors (e.g., wprintf) so this patch just updates the
27587         documentation for the narrow ones.
27588
27589         test-posixtm.c: add two tests
27590         * tests/test-posixtm.c: Add two tests, to highlight the
27591         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27592         around this bug; this is merely to document it.
27593
27594 2010-12-22  Bruno Haible  <bruno@clisp.org>
27595
27596         getlogin_r: Work around portability problem on OSF/1.
27597         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27598         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27599         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27600         test for a truncated result.
27601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27602         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27603         * modules/getlogin_r (Depends-on): Add memchr.
27604         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27605
27606 2010-12-22  Bruno Haible  <bruno@clisp.org>
27607
27608         ptsname: Avoid test failure on OSF/1 5.1.
27609         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27610         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27611         (same_slave): New function.
27612         (main): Use it to compare ptsname's result with the expected file name.
27613
27614 2010-12-22  Bruno Haible  <bruno@clisp.org>
27615
27616         Port extended stdio modules to HP NonStop Kernel.
27617         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27618         macros.
27619         * lib/fbufmode.c: Update comments.
27620         * lib/fflush.c: Likewise.
27621         * lib/fpurge.c: Likewise.
27622         * lib/freadable.c: Likewise.
27623         * lib/freadahead.c: Likewise.
27624         * lib/freading.c: Likewise.
27625         * lib/freadptr.c: Likewise.
27626         * lib/freadseek.c: Likewise.
27627         * lib/fseeko.c: Likewise.
27628         * lib/fseterr.c: Likewise.
27629         * lib/fwritable.c: Likewise.
27630         * lib/fwriting.c: Likewise.
27631         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27632
27633 2010-12-22  Bruno Haible  <bruno@clisp.org>
27634
27635         ttyname_r: Work around bug on OSF/1 5.1.
27636         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27637         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27638         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27639         present.
27640         * lib/ttyname_r.c (ttyname_r): Update comments.
27641
27642 2010-12-22  Bruno Haible  <bruno@clisp.org>
27643
27644         round: Implement result sign according to IEEE 754.
27645         * lib/round.c (MIN, MINUS_ZERO): New macros.
27646         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27647         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27648         * tests/test-round-ieee.c (main): Likewise.
27649         * tests/test-roundl-ieee.c (main): Likewise.
27650
27651         trunc: Implement result sign according to IEEE 754.
27652         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27653         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27654         * tests/test-trunc2.c: Include minus-zero.h.
27655         (MINUS_ZERO): New macro.
27656         (trunc_reference): Keep in sync with lib/trunc.c.
27657         * tests/test-truncf2.c: Include minus-zero.h.
27658         (MINUS_ZERO): New macro.
27659         (truncf_reference): Keep in sync with lib/trunc.c.
27660         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27661         * tests/test-trunc-ieee.c (main): Likewise.
27662         * tests/test-truncl-ieee.c (main): Likewise.
27663
27664         ceil: Implement result sign according to IEEE 754.
27665         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27666         (FUNC): Return -0.0 for -1 < x < 0.
27667         * tests/test-ceil2.c: Include minus-zero.h.
27668         (MINUS_ZERO): New macro.
27669         (ceil_reference): Keep in sync with lib/ceil.c.
27670         * tests/test-ceilf2.c: Include minus-zero.h.
27671         (MINUS_ZERO): New macro.
27672         (ceilf_reference): Keep in sync with lib/ceil.c.
27673         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27674         * tests/test-ceil-ieee.c (main): Likewise.
27675         * tests/test-ceill-ieee.c (main): Likewise.
27676
27677         floor: Implement result sign according to IEEE 754.
27678         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27679         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27680         * tests/test-floorf2.c (floorf_reference): Likewise.
27681         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27682         * tests/test-floor-ieee.c (main): Likewise.
27683         * tests/test-floorl-ieee.c (main): Likewise.
27684
27685 2010-12-22  Bruno Haible  <bruno@clisp.org>
27686
27687         getaddrinfo: Update doc.
27688         * doc/posix-functions/gai_strerror.texi: Return type is also different
27689         on AIX and HP-UX.
27690
27691 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27692
27693         getaddrinfo, inet_ntop: Update doc for Solaris.
27694         * doc/posix-functions/gai_strerror.texi: Return type is also an
27695         issue on Solaris 9 and earlier.
27696         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27697         on Solaris 10 and earlier.
27698
27699 2010-12-21  Bruno Haible  <bruno@clisp.org>
27700
27701         New module 'roundl-ieee'.
27702         * modules/roundl-ieee: New file.
27703         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27704         test whether roundl works according to ISO C 99 with IEC 60559.
27705         * m4/roundl-ieee.m4: New file.
27706         * modules/roundl-ieee-tests: New file.
27707         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27708         * tests/test-roundl.c (main): Remove signbit tests.
27709         * modules/roundl-tests (Depends-on): Remove signbit.
27710         * doc/posix-functions/roundl.texi: Mention the new module.
27711
27712 2010-12-21  Bruno Haible  <bruno@clisp.org>
27713
27714         New module 'truncl-ieee'.
27715         * modules/truncl-ieee: New file.
27716         * modules/truncl-ieee-tests: New file.
27717         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27718         * tests/test-truncl.c (main): Remove signbit tests.
27719         * modules/truncl-tests (Depends-on): Remove signbit.
27720         * doc/posix-functions/truncl.texi: Mention the new module.
27721
27722 2010-12-21  Bruno Haible  <bruno@clisp.org>
27723
27724         New module 'ceill-ieee'.
27725         * modules/ceill-ieee: New file.
27726         * modules/ceill-ieee-tests: New file.
27727         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27728         * tests/test-ceill.c (main): Remove signbit tests.
27729         * modules/ceill-tests (Depends-on): Remove signbit.
27730         * doc/posix-functions/ceill.texi: Mention the new module.
27731
27732 2010-12-21  Bruno Haible  <bruno@clisp.org>
27733
27734         New module 'floorl-ieee'.
27735         * modules/floorl-ieee: New file.
27736         * modules/floorl-ieee-tests: New file.
27737         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27738         * tests/test-floorl.c (main): Remove signbit tests.
27739         * modules/floorl-tests (Depends-on): Remove signbit.
27740         * doc/posix-functions/floorl.texi: Mention the new module.
27741
27742 2010-12-21  Bruno Haible  <bruno@clisp.org>
27743
27744         New module 'round-ieee'.
27745         * modules/round-ieee: New file.
27746         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27747         whether round works according to ISO C 99 with IEC 60559.
27748         * m4/round-ieee.m4: New file.
27749         * modules/round-ieee-tests: New file.
27750         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27751         * tests/test-round1.c (main): Remove signbit tests.
27752         * modules/round-tests (Depends-on): Remove 'signbit'.
27753         * doc/posix-functions/round.texi: Mention the new module.
27754
27755 2010-12-21  Bruno Haible  <bruno@clisp.org>
27756
27757         New module 'trunc-ieee'.
27758         * modules/trunc-ieee: New file.
27759         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27760         whether trunc works according to ISO C 99 with IEC 60559.
27761         * m4/trunc-ieee.m4: New file.
27762         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27763         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27764         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27765         * modules/trunc-ieee-tests: New file.
27766         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27767         * tests/test-trunc1.c (main): Remove signbit tests.
27768         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27769         * doc/posix-functions/trunc.texi: Mention the new module.
27770
27771 2010-12-21  Bruno Haible  <bruno@clisp.org>
27772
27773         New module 'ceil-ieee'.
27774         * modules/ceil-ieee: New file.
27775         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27776         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27777         ISO C 99 with IEC 60559.
27778         * m4/ceil-ieee.m4: New file.
27779         * modules/ceil (Files): Add lib/ceil.c.
27780         (Depends-on): Add 'float'.
27781         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27782         * lib/math.in.h (ceil): New declaration.
27783         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27784         REPLACE_CEIL.
27785         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27786         * modules/ceil-ieee-tests: New file.
27787         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27788         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27789         * doc/posix-functions/ceil.texi: Mention the new module.
27790
27791 2010-12-21  Bruno Haible  <bruno@clisp.org>
27792
27793         New module 'floor-ieee'.
27794         * modules/floor-ieee: New file.
27795         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27796         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27797         ISO C 99 with IEC 60559.
27798         * m4/floor-ieee.m4: New file.
27799         * modules/floor (Files): Add lib/floor.c.
27800         (Depends-on): Add 'float'.
27801         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27802         * lib/math.in.h (floor): New declaration.
27803         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27804         REPLACE_FLOOR.
27805         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27806         * modules/floor-ieee-tests: New file.
27807         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27808         * tests/test-math-c++.cc: Check the signature of 'floor'.
27809         * doc/posix-functions/floor.texi: Mention the new module.
27810
27811 2010-12-21  Bruno Haible  <bruno@clisp.org>
27812
27813         New module 'roundf-ieee'.
27814         * modules/roundf-ieee: New file.
27815         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27816         test whether roundf works according to ISO C 99 with IEC 60559.
27817         * m4/roundf-ieee.m4: New file.
27818         * modules/roundf-ieee-tests: New file.
27819         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27820         * tests/test-roundf1.c (main): Remove signbit tests.
27821         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27822         * doc/posix-functions/roundf.texi: Mention the new module.
27823
27824 2010-12-21  Bruno Haible  <bruno@clisp.org>
27825
27826         New module 'truncf-ieee'.
27827         * modules/truncf-ieee: New file.
27828         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27829         test whether truncf works according to ISO C 99 with IEC 60559.
27830         * m4/truncf-ieee.m4: New file.
27831         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27833         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27834         * modules/truncf-ieee-tests: New file.
27835         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27836         * tests/test-truncf1.c (main): Remove signbit tests.
27837         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27838         * doc/posix-functions/truncf.texi: Mention the new module.
27839
27840 2010-12-21  Bruno Haible  <bruno@clisp.org>
27841
27842         New module 'ceilf-ieee'.
27843         * modules/ceilf-ieee: New file.
27844         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27845         test whether ceilf works according to ISO C 99 with IEC 60559.
27846         * m4/ceilf-ieee.m4: New file.
27847         * modules/ceilf-ieee-tests: New file.
27848         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27849         * tests/test-ceilf1.c (main): Remove signbit tests.
27850         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27851         * doc/posix-functions/ceilf.texi: Mention the new module.
27852
27853 2010-12-21  Bruno Haible  <bruno@clisp.org>
27854
27855         New module 'floorf-ieee'.
27856         * modules/floorf-ieee: New file.
27857         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27858         test whether floorf works according to ISO C 99 with IEC 60559.
27859         * m4/floorf-ieee.m4: New file.
27860         * modules/floorf-ieee-tests: New file.
27861         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27862         * tests/test-floorf1.c (main): Remove signbit tests.
27863         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27864         * doc/posix-functions/floorf.texi: Mention the new module.
27865
27866 2010-12-21  Bruno Haible  <bruno@clisp.org>
27867
27868         Support for minus zero in autoconf macros.
27869         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27870         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27871         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27872         * tests/minus-zero.h: Update comments.
27873
27874 2010-12-21  Bruno Haible  <bruno@clisp.org>
27875
27876         Tests for module 'ceil'.
27877         * modules/ceil-tests: New file.
27878         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27879         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27880
27881 2010-12-21  Bruno Haible  <bruno@clisp.org>
27882
27883         Tests for module 'floor'.
27884         * modules/floor-tests: New file.
27885         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27886         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27887
27888 2010-12-21  Bruno Haible  <bruno@clisp.org>
27889
27890         math: Fix indentation.
27891         * lib/math.in.h (floorf): Fix indentation.
27892
27893 2010-12-21  Bruno Haible  <bruno@clisp.org>
27894
27895         Fix cross-compilation guesses on Solaris.
27896         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27897         not match "solaris2.10".
27898         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27899         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27900         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27901
27902 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27903
27904         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27905         This fixes a problem observed with the latest coreutils snapshot
27906         that caused a test to fail on Solaris 8.  src/csplit.c's call
27907         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27908         earlier, instead of returning the number of bytes that would have
27909         been generated; this causes csplit to incorrectly report memory
27910         exhaustion.
27911         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27912         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27913         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27914         comments to match.
27915         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27916         Fix typo in matching older versions of Solaris: "solaris2.10"
27917         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27918         only for guessing while cross-compiling.
27919         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27920
27921 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27922
27923         ftoastr: fix comment again
27924         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27925         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27926         Also, simplify example a bit by using flags = 0.
27927
27928 2010-12-20  Bruno Haible  <bruno@clisp.org>
27929
27930         round*, trunc*: Update documentation regarding glibc.
27931         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27932         * doc/posix-functions/round.texi: Likewise.
27933         * doc/posix-functions/roundl.texi: Likewise.
27934         * doc/posix-functions/truncf.texi: Likewise.
27935         * doc/posix-functions/trunc.texi: Likewise.
27936         * doc/posix-functions/truncl.texi: Likewise.
27937
27938 2010-12-20  Bruno Haible  <bruno@clisp.org>
27939
27940         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27941         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27942         * doc/posix-functions/round.texi: Likewise.
27943         * doc/posix-functions/roundl.texi: Likewise.
27944
27945 2010-12-20  Bruno Haible  <bruno@clisp.org>
27946
27947         ttyname_r: Add missing declaration on HP-UX 11.
27948         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27949         HAVE_TTYNAME_R.
27950         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27951         declared. Set HAVE_TTYNAME_R always.
27952         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27953         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27954         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27955         HAVE_TTYNAME_R.
27956         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27957
27958 2010-12-20  Bruno Haible  <bruno@clisp.org>
27959
27960         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27961         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27962         * doc/posix-functions/getlogin_r.texi: Likewise.
27963         * tests/test-getlogin.c: Include <errno.h>.
27964         (main): Avoid test failure on HP-UX 11.11.
27965         * tests/test-getlogin_r.c (main): Likewise.
27966
27967 2010-12-20  Bruno Haible  <bruno@clisp.org>
27968
27969         getlogin_r: Add missing declaration on HP-UX 11.
27970         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27971         declared also when it exists as a function.
27972         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27973
27974 2010-12-20  Bruno Haible  <bruno@clisp.org>
27975
27976         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27977         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27978         through wcrtomb.
27979
27980 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27981
27982         ftoastr: fix comment
27983         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27984         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27985
27986 2010-12-19  Bruno Haible  <bruno@clisp.org>
27987
27988         isnan: Ensure it is a macro.
27989         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27990         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27991         Solaris.
27992
27993 2010-12-19  Bruno Haible  <bruno@clisp.org>
27994
27995         ldexpl test: Fix link error on OSF/1 5.1.
27996         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27997
27998 2010-12-19  Bruno Haible  <bruno@clisp.org>
27999
28000         wctype: Make it work in C++ mode on OSF/1 5.1.
28001         * lib/wctype.in.h (iswblank): Declare but not define here.
28002         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
28003         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
28004         * modules/wctype (Files): Add lib/iswblank.c.
28005
28006 2010-12-19  Bruno Haible  <bruno@clisp.org>
28007
28008         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
28009         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
28010         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
28011
28012 2010-12-19  Bruno Haible  <bruno@clisp.org>
28013
28014         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
28015         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
28016         _POSIX_PII_SOCKET.
28017         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
28018         * doc/posix-functions/recvfrom.texi: Likewise.
28019         * doc/posix-functions/send.texi: Likewise.
28020         * doc/posix-functions/sendto.texi: Likewise.
28021
28022 2010-12-19  Bruno Haible  <bruno@clisp.org>
28023
28024         tcgetsid: Add missing declaration on OSF/1 5.1.
28025         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
28026         HAVE_TCGETSID.
28027         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
28028         Don't set HAVE_TCGETSID.
28029         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
28030         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
28031         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
28032         HAVE_TCGETSID.
28033         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
28034
28035 2010-12-19  Bruno Haible  <bruno@clisp.org>
28036
28037         stdio: Fix problem with popen() declaration on OSF/1 5.1.
28038         * lib/stdio.in.h: During the include_next statement, let recursive
28039         includes of this file include only the system header file.
28040
28041 2010-12-19  Bruno Haible  <bruno@clisp.org>
28042
28043         iconv_open: Fix regression from 2010-12-04.
28044         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
28045         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
28046
28047 2010-12-19  Bruno Haible  <bruno@clisp.org>
28048
28049         stdbool test: Avoid a gcc warning.
28050         * tests/test-stdbool.c (main): Fail if e1 is false.
28051         Reported by Jim Meyering.
28052
28053 2010-12-19  Jim Meyering  <meyering@redhat.com>
28054
28055         setenv: restore to working order
28056         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
28057         mistakenly removed.
28058         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
28059         HAVE_SETENV.
28060         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
28061         HAVE_SETENV.
28062
28063 2010-12-19  Bruno Haible  <bruno@clisp.org>
28064
28065         Document some different function declarations on OSF/1 5.1.
28066         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
28067         * doc/posix-functions/inet_ntop.texi: Likewise.
28068         * doc/posix-functions/gethostname.texi: Likewise.
28069         * lib/unistd.in.h (gethostname): Update comment.
28070
28071 2010-12-19  Bruno Haible  <bruno@clisp.org>
28072
28073         doc: Mention vasprintf-posix module.
28074         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
28075         the 'vasprintf-posix' module.
28076         * doc/glibc-functions/vasprintf.texi: Likewise.
28077
28078 2010-12-19  Bruno Haible  <bruno@clisp.org>
28079
28080         unsetenv: Add missing declaration on OSF/1 5.1.
28081         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
28082         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
28083         Don't set HAVE_UNSETENV. In the test program, set _BSD.
28084         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
28085         not HAVE_UNSETENV.
28086         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
28087         HAVE_UNSETENV.
28088         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
28089
28090 2010-12-19  Bruno Haible  <bruno@clisp.org>
28091
28092         setenv: Add missing declaration on OSF/1 5.1.
28093         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
28094         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
28095         declared. Don't set HAVE_SETENV.
28096         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
28097         not HAVE_SETENV.
28098         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
28099         HAVE_SETENV.
28100         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
28101
28102 2010-12-19  Bruno Haible  <bruno@clisp.org>
28103
28104         nl_langinfo tests: Avoid gcc warning.
28105         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
28106
28107 2010-12-19  Bruno Haible  <bruno@clisp.org>
28108
28109         mknod: Avoid error in C++ mode on OSF/1 with GCC.
28110         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
28111         _GL_CXXALIAS_SYS.
28112
28113 2010-12-19  Bruno Haible  <bruno@clisp.org>
28114
28115         stdbool: Relax test.
28116         * tests/test-stdbool.c (e): Don't require that casts from a variable's
28117         address to 'bool' work in static initializer, for compilers other than
28118         GCC.
28119
28120 2010-12-19  Bruno Haible  <bruno@clisp.org>
28121
28122         ftello: Add missing declaration on OSF/1 5.1.
28123         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
28124         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
28125         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
28126         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
28127         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
28128
28129 2010-12-19  Bruno Haible  <bruno@clisp.org>
28130
28131         fseeko: Add missing declaration on OSF/1 5.1.
28132         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
28133         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
28134         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
28135         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
28136         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
28137
28138 2010-12-19  Bruno Haible  <bruno@clisp.org>
28139
28140         fchdir: Add missing declaration on OSF/1 5.1.
28141         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
28142         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
28143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
28144         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
28145         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
28146
28147 2010-12-19  Bruno Haible  <bruno@clisp.org>
28148
28149         relocatable-prog-wrapper: Separate from relocatable-prog.
28150         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
28151         uninstall-relocwrapper rule here.
28152         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
28153         Reported by Ian Beckwith <ianb@erislabs.net>.
28154
28155 2010-12-19  Bruno Haible  <bruno@clisp.org>
28156
28157         unistr/u8-mbsnlen: Add missing dependency.
28158         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
28159         Reported by Ian Beckwith <ianb@erislabs.net>.
28160
28161 2010-12-19  Bruno Haible  <bruno@clisp.org>
28162
28163         iconv: Make it possible again to use this module without 'iconv-h'.
28164         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
28165         if it is not defined.
28166         Reported by Ian Beckwith <ianb@erislabs.net>.
28167
28168 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28169
28170         acl: port to Solaris 8 when copying from tmpfs to ufs
28171         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
28172         error number.  Problem observed on Solaris 8 with latest
28173         coreutils, with "mv A B", where A is on a tmpfs file system and B
28174         is on a ufs file system.  This caused coreutils' mv/part-symlink
28175         test to fail.
28176
28177         tests: set fail=0 at start
28178         * tests/init.sh (setup_): Move fail=0 initialization here ...
28179         (mktempd_): ... from here, so that tests can rely on fail being
28180         set to 0 initially.  This fixes a problem in coreutils; see:
28181         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
28182
28183 2010-12-18  Bruno Haible  <bruno@clisp.org>
28184
28185         memmem-simple: Stylistic changes.
28186         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
28187         Fix preprocessor directive indentation.
28188
28189 2010-12-15  Pádraig Brady <P@draigBrady.com>
28190
28191         memmem, memmem-simple: reorganize and expand empty needle check
28192         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
28193         functional checks to memmem-simple so that one has a fully functional
28194         memmem by using just this module.
28195         Restrict the performance only check to the memmem module.
28196         Also expand the empty needle check to ensure the correct
28197         pointer is returned, not just a non NULL pointer.
28198         * doc/glibc-functions/memmem.texi: Rearrange the portability
28199         documentation to correlate with the rearranged checks.
28200         Clarify exactly how the memmem and memmem-simple modules
28201         relate to each other.
28202
28203 2010-12-15  Pádraig Brady <P@draigBrady.com>
28204             Bruno Haible  <bruno@clisp.org>
28205
28206         Improve cross-compilation guesses for uClibc.
28207         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
28208         that uClibc does not have the glibc bug.
28209         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
28210         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
28211
28212 2010-12-14  Eric Blake  <eblake@redhat.com>
28213
28214         configmake: provide fallbacks for oldest supported autotools
28215         * m4/configmake.m4: New file.
28216         * modules/configmake (Files): Ship it.
28217         (configure.ac): Use it to guarantee fallbacks.
28218
28219 2010-12-13  Pádraig Brady <P@draigBrady.com>
28220
28221         read-file: Improve handling of large files
28222         * lib/read-file.c (fread_file): Minimize realloc()s
28223         for regular files, and better manage sizes around SIZE_MAX.
28224
28225 2010-12-13  Eric Blake  <eblake@redhat.com>
28226
28227         cloexec, fcntl: relax license
28228         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
28229         consent from all contributors.
28230         * modules/fcntl (License): Likewise.
28231
28232 2010-12-10  Bruno Haible  <bruno@clisp.org>
28233
28234         Tests for module 'pipe-posix'.
28235         * modules/pipe-posix-tests: New file.
28236         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
28237
28238 2010-12-10  Bruno Haible  <bruno@clisp.org>
28239
28240         pipe-posix: Make it work in C++ mode.
28241         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
28242         (pipe): Use common idiom, not a macro definition.
28243         * lib/pipe.c: New file.
28244         * m4/pipe.m4: New file.
28245         * modules/pipe-posix (Description): Enhance.
28246         (Files): Add lib/pipe.c, m4/pipe.m4.
28247         (configure.ac): Invoke gl_FUNC_PIPE.
28248         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
28249         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
28250         * tests/test-unistd-c++.cc: Check the signature of pipe.
28251
28252 2010-12-10  Bruno Haible  <bruno@clisp.org>
28253
28254         Rename module 'pipe' to 'spawn-pipe'.
28255         * modules/spawn-pipe: New file, renamed from modules/pipe.
28256         (Files, configure.ac, Makefile.am): Update.
28257         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
28258         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
28259         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
28260         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
28261         "spawn-pipe.h" instead of "pipe.h".
28262         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
28263         to gl_SPAWN_PIPE.
28264         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
28265         (Files, Makefile.am): Update.
28266         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
28267         Update.
28268         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
28269         Include "spawn-pipe.h" instead of "pipe.h".
28270         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
28271         * lib/javacomp.c: Likewise.
28272         * lib/javaversion.c: Likewise.
28273         * lib/pipe-filter-gi.c: Likewise.
28274         * lib/pipe-filter-ii.c: Likewise.
28275         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
28276         * modules/javacomp (Depends-on): Likewise.
28277         * modules/javaversion (Depends-on): Likewise.
28278         * modules/pipe-filter-gi (Depends-on): Likewise.
28279         * modules/pipe-filter-ii (Depends-on): Likewise.
28280         * MODULES.html.sh (Executing programs): Update.
28281         * NEWS: Mention the change.
28282
28283 2010-12-10  Eric Blake  <eblake@redhat.com>
28284
28285         pipe-posix: new module
28286         * modules/pipe-posix: New file.
28287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
28288         (gl_UNISTD_H): Check for declaration.
28289         * modules/unistd (Makefile.am): Substitute it.
28290         * lib/unistd.in.h (pipe): Provide it for mingw.
28291         * doc/posix-functions/pipe.texi (pipe): Update documentation.
28292         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
28293
28294 2010-12-07  Bruno Haible  <bruno@clisp.org>
28295
28296         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
28297         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
28298         u8_strcmp_gnu.
28299         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
28300
28301 2010-12-06  Bruno Haible  <bruno@clisp.org>
28302
28303         Update internal documentation.
28304         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
28305
28306 2010-12-04  Bruno Haible  <bruno@clisp.org>
28307
28308         Put more information about failed tests into the test return codes.
28309         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
28310         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
28311         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
28312         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
28313         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
28314         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28315         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28316         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28317         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
28318         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28319         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
28320         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28321         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
28322         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28323         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
28324         returns a bit mask.
28325         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
28326         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
28327         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
28328         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
28329         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28330         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28331         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28332         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28333         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28334         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28335         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28336         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28337         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28338         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28339         * m4/link.m4 (gl_FUNC_LINK): Likewise.
28340         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28341         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
28342         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
28343         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28344         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
28345         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28346         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28347         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
28348         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
28349         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28350         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28351         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
28352         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28353         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28354         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
28355         gl_PRINTF_PRECISION): Likewise.
28356         * m4/regex.m4 (gl_REGEX): Likewise.
28357         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28358         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
28359         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
28360         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28361         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28362         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28363         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
28364         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
28365         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28366         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28367         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28368         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28369         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28370         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28371         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28372         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28373         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28374         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28375         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28376         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
28377         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
28378         enumerated value.
28379         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
28380
28381 2010-12-04  Bruno Haible  <bruno@clisp.org>
28382
28383         Update for Solaris 11 2010-11.
28384         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
28385         Express, released in November 2010.
28386
28387 2010-12-04  Bruno Haible  <bruno@clisp.org>
28388
28389         nproc: Relax license.
28390         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
28391         and Paul Eggert.
28392         Requested by Ludovic Courtès <ludo@gnu.org>.
28393
28394 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28395
28396         utimecmp: fine-grained src to nearby coarse-grained dest
28397
28398         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
28399         and the source is on a file system with higher-resolution time
28400         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
28401         not work, and the time stamps are close together, the algorithm to
28402         determine the exact resolution from the read-back mtime was buggy:
28403         it had a "!=" where it should have had an "==".  This bug has been
28404         in the code ever since it was introduced to gnulib.
28405         Problem reported by Dan Jacobson in
28406         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
28407
28408 2010-11-30  Bruno Haible  <bruno@clisp.org>
28409
28410         strerror_r-posix: Fix autoconf test.
28411         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
28412
28413 2010-11-28  Bruno Haible  <bruno@clisp.org>
28414             Paul Eggert  <eggert@cs.ucla.edu>
28415
28416         Tests for module 'getdomainname'.
28417         * modules/getdomainname-tests: New file.
28418         * tests/test-getdomainname.c: New file, based on
28419         tests/test-gethostname.c.
28420
28421 2010-11-28  Bruno Haible  <bruno@clisp.org>
28422             Paul Eggert  <eggert@cs.ucla.edu>
28423
28424         getdomainname: Use the system function when possible.
28425         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
28426         (getdomainname): Replace if needed. Provide the declaration if it is
28427         missing. Don't use _GL_CXXALIAS_SYS_CAST.
28428         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
28429         (getdomainname): When the system has getdomainname, call the system
28430         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
28431         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28432         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
28433         found in libnsl. Look for the declaration also in <netdb.h>. Replace
28434         the function if its second argument is of type 'int' or if it is found
28435         in libnsl.
28436         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
28437         <sys/systeminfo.h> and sysinfo().
28438         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
28439         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28440         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
28441         HAVE_GETDOMAINNAME.
28442         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
28443         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
28444         * doc/glibc-functions/getdomainname.texi: Document the problems with
28445         the getdomainname declaration.
28446
28447 2010-11-28  Bruno Haible  <bruno@clisp.org>
28448
28449         sys_socket: Ensure ss_family field on AIX.
28450         * lib/sys_socket.in.h (ss_family): New macro definition.
28451         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
28452         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
28453         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28454         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28455         * modules/sys_socket (Makefile.am): Substitute
28456         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28457         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28458
28459 2010-11-27  Bruno Haible  <bruno@clisp.org>
28460
28461         readline: Improve configure output.
28462         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28463         "checking for readline..." result understandable.
28464
28465 2010-11-27  Bruno Haible  <bruno@clisp.org>
28466
28467         *printf-posix: Detect a bug on Solaris 10/x86.
28468         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28469         for floating-point output.
28470         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28471         directive.
28472         * tests/test-snprintf-posix.h (test_function): Likewise.
28473         * tests/test-sprintf-posix.h (test_function): Likewise.
28474         * tests/test-vasprintf-posix.c (test_function): Likewise.
28475         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28476         * doc/posix-functions/printf.texi: Likewise.
28477         * doc/posix-functions/snprintf.texi: Likewise.
28478         * doc/posix-functions/sprintf.texi: Likewise.
28479         * doc/posix-functions/vfprintf.texi: Likewise.
28480         * doc/posix-functions/vprintf.texi: Likewise.
28481         * doc/posix-functions/vsnprintf.texi: Likewise.
28482         * doc/posix-functions/vsprintf.texi: Likewise.
28483         * doc/glibc-functions/obstack_printf.texi: Likewise.
28484         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28485
28486 2010-11-27  Bruno Haible  <bruno@clisp.org>
28487
28488         Fix link error when module libunistring-optional is in use.
28489         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28490         * modules/striconveha-tests (Makefile.am): Likewise.
28491
28492 2010-11-27  Bruno Haible  <bruno@clisp.org>
28493
28494         regex: Mention link dependencies.
28495         * modules/regex (Link): New section.
28496         * modules/rpmatch (Link): Likewise.
28497         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28498
28499 2010-11-27  Bruno Haible  <bruno@clisp.org>
28500
28501         ftoastr: Fix compilation error on Solaris.
28502         * lib/ftoastr.c: Include <config.h>.
28503
28504 2010-11-27  Bruno Haible  <bruno@clisp.org>
28505
28506         getloadavg: Update documentation.
28507         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28508
28509 2010-11-27  Bruno Haible  <bruno@clisp.org>
28510
28511         sys_socket: Fix test whether the functions are declared.
28512         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28513         not <sys/select.h>.
28514
28515 2010-11-27  Bruno Haible  <bruno@clisp.org>
28516
28517         getpass: Make sure to get system declaration on some platforms.
28518         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28519         gl_USE_SYSTEM_EXTENSIONS.
28520         * modules/getpass (Depends-on): Add extensions.
28521
28522 2010-11-26  Bruno Haible  <bruno@clisp.org>
28523
28524         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28525         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28526         'iconv' module is present.
28527         (ICONV_CONST): New macro.
28528         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28529         ICONV_CONST.
28530         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28531         set ICONV_CONST.
28532         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28533         here.
28534         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28535         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28536         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28537         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28538         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28539         present.
28540
28541 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28542
28543         ftoastr: comment fix
28544         * lib/ftoastr.c: "little" -> "little or no" in comment
28545
28546 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28547
28548         stdint: port to GCC 4.3 + OSX + Octave
28549         On this platform, stdint.h is buggy and defines int64_t to long
28550         long int.  The replacement defined it to long int, causing
28551         problems with C++ style name mangling.  Instead, trust the system
28552         definition if INT64_MAX is defined, and likewise for the unsigned
28553         variant.   Problem reported by Jarno Rajahalme in
28554         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28555         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28556         and don't mess with int64_t and INT64_MAX in this case.
28557         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28558
28559 2010-11-24  Bruno Haible  <bruno@clisp.org>
28560
28561         doc: Corrections regarding MacOS X 10.4 and 10.5.
28562         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28563         MacOS X.
28564         Reported by Simon Josefsson.
28565
28566 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28567
28568         Uninstall ".bin" files installed by relocwrapper.
28569         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28570         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28571         unless it is already there.
28572
28573 2010-11-21  Bruno Haible  <bruno@clisp.org>
28574
28575         Update for NetBSD 5.0.
28576         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28577         NetBSD; the test fails on NetBSD 5.0.
28578         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28579         about NetBSD.
28580
28581 2010-11-21  Bruno Haible  <bruno@clisp.org>
28582
28583         Update for HP-UX 11.23 and HP-UX 11.31.
28584         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28585         HP-UX.
28586
28587 2010-11-21  Bruno Haible  <bruno@clisp.org>
28588
28589         Update for MacOS X 10.5.
28590         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28591         MacOS X; the test fails on MacOS X 10.5.8.
28592         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28593         about MacOS X.
28594
28595 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28596
28597         bootstrap: add bootstrap_sync option.
28598         See discussion at
28599         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28600         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28601         * build-aux/bootstrap: Accept --bootstrap-sync to update
28602         bootstrap if it is not identical to the local gnulib's
28603         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28604         enable this by default.  Accept --no-bootstrap-sync to disable
28605         it.
28606
28607 2010-11-20  Bruno Haible  <bruno@clisp.org>
28608
28609         Ensure that <features.h> is included before __GLIBC__ is tested.
28610         * lib/printf-parse.h: Include <features.h>.
28611         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28612         Reported by Mike Frysinger <vapier@gentoo.org>.
28613
28614         Ensure that <features.h> is included before __GLIBC__ is tested.
28615         * lib/wchar.in.h: Include <features.h>.
28616         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28617         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28618         Reported by Mike Frysinger <vapier@gentoo.org>.
28619
28620         Ensure that <features.h> is included before __GLIBC__ is tested.
28621         * lib/arpa_inet.in.h: Include <features.h>.
28622         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28623         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28624         Reported by Mike Frysinger <vapier@gentoo.org>.
28625
28626         Ensure that <features.h> is included before __GLIBC__ is tested.
28627         * build-aux/link-warning.h: Include <features.h>.
28628         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28629         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28630         Reported by Mike Frysinger <vapier@gentoo.org>.
28631
28632         Ensure that <features.h> is included before __GLIBC__ is tested.
28633         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28634         Reported by Mike Frysinger <vapier@gentoo.org>.
28635
28636 2010-11-20  Bruno Haible  <bruno@clisp.org>
28637
28638         memmem: Fix autoconf test.
28639         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28640
28641 2010-11-20  Bruno Haible  <bruno@clisp.org>
28642
28643         Port to uClibc.
28644         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28645         * lib/fcntl.in.h: Likewise.
28646         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28647         * lib/mbrtowc.c (mbrtowc): Likewise.
28648         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28649         * lib/strerror_r.c: Likewise.
28650         * lib/unistr/u8-strnlen.c: Likewise.
28651         * lib/vasnprintf.c (decimal_point_char): Likewise.
28652         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28653         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28654         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28655         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28656         * tests/test-sigaction.c (handler, main): Likewise.
28657         * lib/freading.h: Treat uClibc like a non-glibc platform.
28658         * lib/freading.c: Likewise.
28659         * lib/gettext.h: Likewise.
28660         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28661         Likewise.
28662         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28663         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28664         * lib/propername.c (proper_name_utf8): Likewise.
28665         * lib/spawn.in.h: Likewise.
28666         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28667         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28668         mem_cd_iconveh_internal): Likewise.
28669         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28670         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28671         strstr, strcasestr): Likewise.
28672         * lib/unicodeio.c (unicode_to_mb): Likewise.
28673         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28674         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28675         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28676         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28677         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28678         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28679         * lib/unistr/u8-stpncpy.c: Likewise.
28680         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28681         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28682         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28683         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28684         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28685         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28686         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28687         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28688         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28689         Likewise.
28690         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28691         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28692         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28693         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28694         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28695         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28696         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28697         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28698         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28699         * tests/test-striconveha.c (main): Likewise.
28700         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28701         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28702         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28703         * doc/posix-functions/getline.texi: Likewise.
28704         Reported by Mike Frysinger <vapier@gentoo.org>.
28705
28706 2010-11-20  Bruno Haible  <bruno@clisp.org>
28707
28708         nproc: Fix condition.
28709         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28710         HAVE_PTHREAD_AFFINITY_NP.
28711
28712 2010-11-20  Bruno Haible  <bruno@clisp.org>
28713
28714         Fix a comment.
28715         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28716
28717 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28718
28719         ftoastr: don't assume snprintf
28720         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28721         Implement a subset of snprintf here, by using sprintf safely.
28722         * modules/ftoastr (Depends-on): Remove snprintf.
28723
28724 2010-11-19  Jim Meyering  <meyering@redhat.com>
28725
28726         test-rename.h: fix compilation failure
28727         * tests/test-rename.h (test_rename): Add omitted "}".
28728
28729 2010-11-17  Jim Meyering  <meyering@redhat.com>
28730
28731         maint.mk: add a URL discussing the no-@acronym policy
28732         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28733
28734 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28735
28736         ftoastr: depend on snprintf, improve comments
28737         * lib/ftoastr.c: Also mention Loitsch's draft.
28738         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28739         needed in the current implementation, but it might simplify
28740         speeding up the code later.
28741         * modules/ftoastr: Depend on snprintf; this improves portability.
28742         Suggested by Bruno Haible in the same email.
28743
28744         ftoastr: port to hosts lacking strtof and strtold
28745         Problem reported by Bruno Haible in
28746         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28747         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28748         environment and strtold (and presumably strtof) are not available.
28749         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28750         (configure.ac): Require gl_C99_STRTOLD.
28751
28752 2010-11-18  Bruno Haible  <bruno@clisp.org>
28753
28754         c-strtold: Avoid link error on AIX 7.
28755         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28756         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28757         (gl_C_STRTOLD): Test whether strtold_l exists.
28758         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28759
28760 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28761
28762         intprops: new macro INT_BITS_STRLEN_BOUND
28763         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28764         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28765         not exposed.  Also, it uses a slightly tighter bound than before;
28766         though this makes no practical difference, we might as well be as
28767         tight as we easily can.
28768
28769         ftoastr: new module, for lossless conversion of floats to short strings
28770         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28771         * modules/ftoastr: New files.
28772
28773 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28774
28775         bootstrap: port to Solaris sed
28776         * build-aux/bootstrap (get_version): Port to Solaris sed.
28777         See Ralf Wildenhues's note in
28778         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28779
28780 2010-11-14  Jim Meyering  <meyering@redhat.com>
28781
28782         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28783         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28784         and move definition closer to sole use.
28785
28786 2010-11-13  Jim Meyering  <meyering@redhat.com>
28787
28788         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28789         Now we require at least autoconf-2.59, which means the work-around
28790         is no longer needed.
28791         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28792         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28793         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28794         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28795         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28796
28797 2010-11-13  Bruno Haible  <bruno@clisp.org>
28798
28799         rename, renameat: Avoid test failures at NFS mounted locations.
28800         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28801         functions.
28802         (test_rename): Use assert_nonexistent.
28803         * tests/test-rename.c: Include <dirent.h>.
28804         * tests/test-renameat.c: Likewise.
28805         Reported by Gary V. Vaughan <gary@gnu.org>.
28806
28807         rename, renameat: Document Linux bug with NFS
28808         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28809         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28810         * doc/posix-functions/renameat.texi: Likewise.
28811         Suggested by Eric Blake.
28812
28813 2010-11-13  Bruno Haible  <bruno@clisp.org>
28814
28815         rename test: Add comments.
28816         * tests/test-rename.h (test_rename): Add structure and comments.
28817
28818 2010-11-13  Eric Blake  <eblake@redhat.com>
28819
28820         maintainer-makefile: cover a few more files
28821         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28822         scripts generated within C files, for libvirt.
28823
28824 2010-11-13  Bruno Haible  <bruno@clisp.org>
28825
28826         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28827         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28828         character, return the number of bytes that belong together, not always
28829         1.
28830         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28831         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28832         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28833         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28834         number of bytes of an invalid character.
28835         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28836         (main): Invoke it.
28837         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28838         results.
28839         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28840         malformed byte sequences.
28841         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28842         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28843         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28844         Reported by Ben Pfaff and Paolo Bonzini.
28845
28846 2010-11-13  Bruno Haible  <bruno@clisp.org>
28847
28848         openat: Work around glibc bug with fchownat() and empty file names.
28849         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28850         (gl_FUNC_FCHOWNAT): Invoke it.
28851         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28852         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28853         Reported by Gary V. Vaughan <gary@gnu.org>.
28854
28855 2010-11-13  Bruno Haible  <bruno@clisp.org>
28856
28857         openat: Ensure autoconf macro ordering.
28858         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28859         gl_USE_SYSTEM_EXTENSIONS.
28860         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28861
28862 2010-11-13  Bruno Haible  <bruno@clisp.org>
28863
28864         Update comments.
28865         * lib/unistr/u8-check.c: Update file name in comments.
28866         * lib/unistr/u8-mblen.c: Likewise.
28867         * lib/unistr/u8-prev.c: Likewise.
28868         * lib/unistr/u8-strmblen.c: Likewise.
28869         * lib/unistr/u8-strmbtouc.c: Likewise.
28870
28871 2010-11-13  Jim Meyering  <meyering@redhat.com>
28872
28873         tests: avoid test failure on Solaris 10 due to lack of PATH export
28874         * tests/test-update-copyright.sh: Don't forget to export PATH.
28875
28876         init.sh: ensure that IFS is defined, just in case...
28877         * tests/init.sh (setup_): Ensure that IFS is defined,
28878         so that saving and restoring it works as expected.  This
28879         appears to be useful at least for an old version of dash
28880         from a long time ago (RH 6).  See here for details:
28881         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28882
28883         maint.mk: tighten "test a == b" check
28884         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28885         test to files that contain something like #!/bin/sh.
28886         Without this, coreutils would get two false positives in
28887         the comments of C source files.
28888
28889 2010-11-12  Eric Blake  <eblake@redhat.com>
28890
28891         bootstrap: fix typo in previous attempt
28892         * build-aux/bootstrap (buildreq): Correct the grouping.
28893         Reported by Paul Eggert.
28894
28895         maintainer-makefile: prohibit test x == x
28896         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28897         Based on a report by Matthias Bolte.
28898
28899         bootstrap: allow FreeBSD gzip
28900         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28901         which has no '.' and goes to stderr.
28902         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28903         Reported by Matthias Bolte.
28904
28905         maintainer-makefile: check for i18n setup
28906         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28907         will likely work.
28908
28909 2010-11-12  Bruno Haible  <bruno@clisp.org>
28910
28911         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28912         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28913         * lib/nanosleep.c (nanosleep): Likewise.
28914
28915 2010-11-11  Bruno Haible  <bruno@clisp.org>
28916
28917         fcntl-h: Fix for use of C++ on glibc systems.
28918         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28919         also on glibc systems in C++ mode.
28920         Reported by Gary V. Vaughan <gary@gnu.org>.
28921
28922 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28923
28924         mknod: avoid false failure with dash
28925         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28926
28927 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28928
28929         unlink: Fix "is it should" typo in diagnostic.
28930         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28931         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28932
28933 2010-11-11  Bruno Haible  <bruno@clisp.org>
28934
28935         Tests for module 'strerror_r-posix'.
28936         * modules/strerror_r-posix-tests: New file.
28937         * tests/test-strerror_r.c: New file.
28938         * tests/test-string-c++.cc: Check the signature of strerror_r.
28939
28940         New module 'strerror_r-posix'.
28941         * lib/string.in.h (strerror_r): New declaration.
28942         * lib/strerror_r.c: New file.
28943         * m4/strerror_r.m4: New file.
28944         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28945         of strerror_r.
28946         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28947         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28948         * modules/strerror_r-posix: New file.
28949         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28950         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28951         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28952         portability problems.
28953
28954 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28955
28956         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28957         line is also considered for output. Quoted function name in shell
28958         command, so temporary files for functions like MyClass::operator()
28959         are removed correctly without errors.
28960
28961 2010-11-09  Bruno Haible  <bruno@clisp.org>
28962
28963         * doc/posix-functions/strerror.texi: List more failing platforms.
28964
28965         * doc/posix-functions/strerror.texi: Add a comment.
28966
28967 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28968
28969         fdopendir: fix bug on MacOS X when low on file descriptors
28970
28971         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28972         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28973         All callers changed.
28974         (fdopendir): Invoke save_cwd at the top level, not after using
28975         multiple dup() calls to use up file descriptors.  Then retry
28976         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28977         less than the maximum number of open file descriptors, because
28978         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28979         on Mac OS X 10.6.4 for tar 1.24
28980         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28981         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28982         and for tar 1.25
28983         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28984
28985 2010-11-07  Bruno Haible  <bruno@clisp.org>
28986
28987         vasnprintf: Support I flag on glibc systems.
28988         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28989         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28990         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28991         snprintf function.
28992         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28993         glibc systems.
28994         * tests/test-vasnprintf-posix3.c: New file.
28995         * modules/vasnprintf-posix-tests (Files): Add it.
28996         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28997
28998 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28999
29000         [html] Fix copy/paste bug: Use unique name for compiler warnings.
29001         * MODULES.html.sh: For compiler warnings, use name
29002         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
29003
29004 2010-11-05  Eric Blake  <eblake@redhat.com>
29005
29006         ceil, floor: avoid spurious failure with icc
29007         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
29008         [denormals-as-zero] when optimizing without -mieee-fp option.
29009         * tests/test-floorf2.c (floorf_reference): Likewise.
29010         * tests/test-ceilf1.c (dummy): New function.
29011         (main): Use it to outsmart icc's optimization.
29012         * tests/test-floorf1.c (dummy, main): Likewise.
29013
29014         tests: require working signbit
29015         * modules/ceilf-tests (Depends-on): Add signbit.
29016         * modules/ceill-tests (Depends-on): Likewise.
29017         * modules/floorf-tests (Depends-on): Likewise.
29018         * modules/floorl-tests (Depends-on): Likewise.
29019         * modules/round-tests (Depends-on): Likewise.
29020         * modules/roundf-tests (Depends-on): Likewise.
29021         * modules/roundl-tests (Depends-on): Likewise.
29022         * modules/trunc-tests (Depends-on): Likewise.
29023         * modules/truncf-tests (Depends-on): Likewise.
29024         * modules/truncl-tests (Depends-on): Likewise.
29025
29026         strtod: work around icc bug
29027         * lib/strtod.c (minus_zero): Define to working value.
29028         (strtod): Use it to avoid icc bug.
29029
29030         copysign: enhance tests
29031         * modules/copysign-tests (Files): Add minus-zero.h.
29032         * tests/test-copysign.c (main): Also test zeros.
29033
29034 2010-11-04  Eric Blake  <eblake@redhat.com>
29035
29036         ceil, floor, round, trunc: enhance tests of -0
29037         * tests/test-ceilf1.c (main): Ensure correct sign of result.
29038         * tests/test-ceill.c (main): Likewise.
29039         * tests/test-floorf1.c (main): Likewise.
29040         * tests/test-floorl.c (main): Likewise.
29041         * tests/test-round1.c (main): Likewise.
29042         * tests/test-roundf1.c (main): Likewise.
29043         * tests/test-roundl.c (main): Likewise.
29044         * tests/test-trunc1.c (main): Likewise.
29045         * tests/test-truncf1.c (main): Likewise.
29046         * tests/test-truncl.c (main): Likewise.
29047
29048 2010-11-04  Eric Blake  <eblake@redhat.com>
29049
29050         frexp, tests: work around ICC bug with -zero
29051         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
29052         works with more compilers.
29053         * tests/minus-zero.h: New file.
29054         * modules/ceilf-tests (Files): Include it.
29055         * modules/ceill-tests (Files): Likewise.
29056         * modules/floorf-tests (Files): Likewise.
29057         * modules/floorl-tests (Files): Likewise.
29058         * modules/frexp-nolibm-tests (Files): Likewise.
29059         * modules/frexp-tests (Files): Likewise.
29060         * modules/frexpl-nolibm-tests (Files): Likewise.
29061         * modules/frexpl-tests (Files): Likewise.
29062         * modules/isnan-tests (Files): Likewise.
29063         * modules/isnand-nolibm-tests (Files): Likewise.
29064         * modules/isnand-tests (Files): Likewise.
29065         * modules/isnanf-nolibm-tests (Files): Likewise.
29066         * modules/isnanf-tests (Files): Likewise.
29067         * modules/isnanl-nolibm-tests (Files): Likewise.
29068         * modules/isnanl-tests (Files): Likewise.
29069         * modules/round-tests (Files): Likewise.
29070         * modules/roundf-tests (Files): Likewise.
29071         * modules/roundl-tests (Files): Likewise.
29072         * modules/ldexpl-tests (Files): Likewise.
29073         * modules/signbit-tests (Files): Likewise.
29074         * modules/snprintf-posix-tests (Files): Likewise.
29075         * modules/sprintf-posix-tests (Files): Likewise.
29076         * modules/strtod-tests (Files): Likewise.
29077         * modules/trunc-tests (Files): Likewise.
29078         * modules/truncf-tests (Files): Likewise.
29079         * modules/truncl-tests (Files): Likewise.
29080         * modules/vsnprintf-posix-tests (Files): Likewise.
29081         * modules/vsprintf-posix-tests (Files): Likewise.
29082         * modules/vasnprintf-posix-tests (Files): Likewise.
29083         * modules/vasprintf-posix-tests (Files): Likewise.
29084         * tests/test-ceilf1.c (main): Use it.
29085         * tests/test-ceill.c (main): Likewise.
29086         * tests/test-floorf1.c (main): Likewise.
29087         * tests/test-floorl.c (main): Likewise.
29088         * tests/test-frexp.c (main): Likewise.
29089         * tests/test-frexpl.c (main): Likewise.
29090         * tests/test-isnan.c (main): Likewise.
29091         * tests/test-isnand.h (main): Likewise.
29092         * tests/test-isnanf.h (main): Likewise.
29093         * tests/test-isnanl.h (main): Likewise.
29094         * tests/test-ldexpl.c (main): Likewise.
29095         * tests/test-round.c (main): Likewise.
29096         * tests/test-roundf.c (main): Likewise.
29097         * tests/test-roundl.c (main): Likewise.
29098         * tests/test-signbit.c (test_signbitf, test_signbitd)
29099         (test_signbitl): Likewise.
29100         * tests/test-snprintf-posix.h (test_function): Likewise.
29101         * tests/test-sprintf-posix.h (test_function): Likewise.
29102         * tests/test-strtod.c (main): Likewise.
29103         * tests/test-trunc1.c (main): Likewise.
29104         * tests/test-truncf1.c (main): Likewise.
29105         * tests/test-truncl.c (main): Likewise.
29106
29107         isnanl: work around icc bug
29108         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
29109
29110 2010-11-03  Eric Blake  <eblake@redhat.com>
29111
29112         tests: fix compiler warnings
29113         * tests/test-getopt.h (test_getopt): Fix condition.
29114         * tests/test-getopt_long.h (test_getopt_long): Likewise.
29115         * tests/test-pipe2.c (main): Likewise.
29116         * tests/test-quotearg-simple.c (main): Avoid icc warning.
29117
29118         utimens: fix broken m4 test
29119         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
29120
29121 2010-10-28  Bruno Haible  <bruno@clisp.org>
29122
29123         posix_spawn*, getdtablesize: Relax license.
29124         * modules/posix_spawn (License): Change to LGPLv2+.
29125         * modules/posix_spawnp (License): Likewise.
29126         * modules/posix_spawn-internal (License): Likewise.
29127         * modules/posix_spawnattr_init (License): Likewise.
29128         * modules/posix_spawnattr_getflags (License): Likewise.
29129         * modules/posix_spawnattr_setflags (License): Likewise.
29130         * modules/posix_spawnattr_getpgroup (License): Likewise.
29131         * modules/posix_spawnattr_setpgroup (License): Likewise.
29132         * modules/posix_spawnattr_getschedparam (License): Likewise.
29133         * modules/posix_spawnattr_setschedparam (License): Likewise.
29134         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
29135         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
29136         * modules/posix_spawnattr_getsigdefault (License): Likewise.
29137         * modules/posix_spawnattr_setsigdefault (License): Likewise.
29138         * modules/posix_spawnattr_getsigmask (License): Likewise.
29139         * modules/posix_spawnattr_setsigmask (License): Likewise.
29140         * modules/posix_spawnattr_destroy (License): Likewise.
29141         * modules/posix_spawn_file_actions_init (License): Likewise.
29142         * modules/posix_spawn_file_actions_addclose (License): Likewise.
29143         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
29144         * modules/posix_spawn_file_actions_addopen (License): Likewise.
29145         * modules/posix_spawn_file_actions_destroy (License): Likewise.
29146         * modules/getdtablesize (License): Likewise.
29147         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
29148
29149 2010-10-26  Bruno Haible  <bruno@clisp.org>
29150
29151         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
29152         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
29153         Cygwin and mingw.
29154         Suggested by Eric Blake.
29155
29156 2010-10-26  Bruno Haible  <bruno@clisp.org>
29157
29158         stdio: Work around compilation error due to renameat() on Solaris 10.
29159         * lib/stdio.in.h: Include <unistd.h> on Solaris.
29160         * lib/renameat.c: Don't include <unistd.h> here.
29161         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
29162         Reported by Paul Eggert and Eric Blake.
29163
29164 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
29165
29166         renameat: port to Solaris 10, which declares renameat in unistd.h
29167
29168         * lib/renameat.c: Include unistd.h before stdio.h, because
29169         Solaris 10 declares renameat in unistd.h.  Problem encountered
29170         when building GNU tar 1.24 on Solaris 10.
29171
29172 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29173
29174         fdopendir: fix C89 compilation
29175         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
29176         compilers.
29177
29178 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
29179
29180         inttostr: simplify by removing unnecessary redundancy
29181         * lib/anytostr.c: Don't include verify.h.
29182         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
29183         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
29184         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
29185         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
29186         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
29187         Likewise.
29188         * modules/inttostr (Depends-on): Remove 'verify'.
29189
29190 2010-10-23  Bruno Haible  <bruno@clisp.org>
29191
29192         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
29193         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
29194         Reported by Eric Blake.
29195
29196 2010-10-23  Bruno Haible  <bruno@clisp.org>
29197
29198         Tests: Fix LOCALE_JA on MirBSD 10.
29199         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
29200         to an UTF-8 locale.
29201         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
29202         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
29203         Reported by Eric Blake.
29204
29205 2010-10-21  Bruno Haible  <bruno@clisp.org>
29206
29207         nl_langinfo test: Avoid test failure on NetBSD 5.
29208         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
29209         Reported by Eric Blake.
29210
29211 2010-10-21  Eric Blake  <eblake@redhat.com>
29212
29213         c-stack: work around libsigsegv 2.8 bug
29214         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
29215         overflow on at least PowerPC64.
29216
29217 2010-10-17  Bruno Haible  <bruno@clisp.org>
29218
29219         userspec: Drop redundant file.
29220         * modules/userspec (Files): Remove lib/inttostr.h.
29221
29222 2010-10-17  Bruno Haible  <bruno@clisp.org>
29223
29224         nl_langinfo tests: Silence some warnings.
29225         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
29226         Reported by Jim Meyering.
29227
29228 2010-10-17  Bruno Haible  <bruno@clisp.org>
29229
29230         Make use of GCC's attribute __alloc_size__.
29231         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
29232         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
29233         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
29234         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
29235         __alloc_size__.
29236         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
29237         Suggested by Jim Meyering.
29238
29239 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
29240
29241         bootstrap: anchor .gitignore entries.
29242         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
29243         with...
29244         (insert_vc_ignore): ... this new function, which prepends `/' to
29245         all .gitignore entries before passing them to
29246         insert_sorted_if_absent.
29247
29248 2010-10-16  Bruno Haible  <bruno@clisp.org>
29249
29250         nextafter: Fix configure check.
29251         * modules/nextafter (configure.ac): Correct expected prototype.
29252
29253 2010-10-16  Bruno Haible  <bruno@clisp.org>
29254
29255         termios: Update documentation.
29256         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
29257
29258 2010-10-16  Bruno Haible  <bruno@clisp.org>
29259
29260         tests: Make them compile with TinyCC.
29261         * tests/test-strstr.c (main): Remove parentheses around array
29262         initializer.
29263
29264 2010-10-15  Eric Blake  <eblake@redhat.com>
29265
29266         ignore-value: make header idempotent
29267         * lib/ignore-value.h: Add double-inclusion guards.
29268         Reported by Stefan Berger.
29269
29270 2010-10-15  Jim Meyering  <meyering@redhat.com>
29271
29272         GNUmakefile: handle "stable" target, not "major"
29273         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
29274         lists in maint.mk and announce-gen.  Without this, "make stable"
29275         would fail to ensure that $(VERSION) is up to date.
29276
29277 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
29278
29279         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
29280         & co.
29281
29282 2010-10-14  Bruno Haible  <bruno@clisp.org>
29283
29284         vasnprintf: Don't set errno to 0.
29285         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
29286         block that sets it to 0.
29287         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
29288
29289 2010-10-14  Bruno Haible  <bruno@clisp.org>
29290
29291         socketlib: Fix.
29292         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
29293         gl_PREREQ_SYS_H_WINSOCK2.
29294         Reported by Ian Beckwith <ianb@erislabs.net>.
29295
29296 2010-10-13  Jim Meyering  <meyering@redhat.com>
29297
29298         test-select-stdin.c: avoid warn_unused_result warnings
29299         * tests/test-select-stdin.c: Include "macros.h".
29300         ASSERT that read and fflush succeed.
29301
29302 2010-10-13  Jim Meyering  <meyering@redhat.com>
29303
29304         git-version-gen: do require git-VC'd files in cwd
29305         * build-aux/git-version-gen: Reject a git version string
29306         if there are no commits associated with the current directory.
29307         This avoids an unlikely false-positive (unrelated dir whose parent
29308         repository also contains a tag matching v*), as pointed out
29309         by Giuseppe Scrivano in
29310         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
29311
29312 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29313
29314         argv-iter: omit nonconforming declaration
29315         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
29316         enum arg_iter_err declaration, which doesn't conform to C99.
29317         Solaris 10 cc warns about this.
29318
29319 2010-10-13  Eric Blake  <eblake@redhat.com>
29320
29321         termios: fix compilation on mingw
29322         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
29323         (gl_TERMIOS_H): Adjust it on mingw.
29324         * modules/termios (Makefile.am): Substitute new key.
29325         * lib/termios.in.h (includes): Make include_next conditional.
29326         * doc/posix-headers/termios.texi (termios.h): Update
29327         documentation.
29328         Reported by Daniel P. Berrange.
29329
29330 2010-10-13  Jim Meyering  <meyering@redhat.com>
29331
29332         git-version-gen: don't require that .git/ be in the current dir
29333         * build-aux/git-version-gen: Adjust this script so that it works
29334         when run from any working directory beneath the top-level .git/-
29335         containing directory.  Inspired by a patch from Giuseppe Scrivano,
29336         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
29337
29338         test-select: avoid warn_unused_result warnings
29339         * tests/test-select.c: Include "macros.h".
29340         ASSERT that each call to read, write, and pipe succeeds.
29341         While not technically required, also check each "close".
29342         * modules/select-tests (Files): Add tests/macros.h.
29343
29344         test-symlinkat: remove declaration of unused local
29345         * tests/test-symlinkat.c (main): Remove unused local, "buf".
29346
29347         test-inttostr: avoid shadowing warnings
29348         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
29349         and use malloc rather than the stack for the same reason as
29350         mentioned in the comment justifying the other allocation.
29351
29352 2010-10-11  Bruno Haible  <bruno@clisp.org>
29353
29354         stdlib: Allow multiple gnulib generated replacements to coexist.
29355         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
29356         Reported by Sam Steingold <sds@gnu.org>.
29357
29358 2010-10-11  Jim Meyering  <meyering@redhat.com>
29359
29360         fix a documentation typo
29361         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
29362
29363 2010-10-11  Eric Blake  <eblake@redhat.com>
29364
29365         futimens: work around Solaris 11 bug
29366         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
29367         * tests/test-futimens.h (test_futimens): Enhance, rather than
29368         weaken test.
29369         * doc/posix-functions/futimens.texi (futimens): Document the bug.
29370
29371 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29372
29373         Indentation.
29374         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
29375         higher-level operators more to the left.
29376
29377 2010-10-11  Jim Meyering  <meyering@redhat.com>
29378
29379         test-futimens: avoid unwarranted test failure on Solaris 5.11
29380         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
29381         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
29382         because it tries to dereference the NULL name argument.
29383
29384 2010-10-11  Bruno Haible  <bruno@clisp.org>
29385
29386         Indentation.
29387         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
29388         indentation.
29389
29390 2010-10-11  Jim Meyering  <meyering@redhat.com>
29391
29392         spawn.in.h: make indentation consistent with parentheses
29393         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
29394         Make indentation consistent with parentheses.
29395
29396 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
29397
29398         Fix mismatched parens in previous commit
29399         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
29400         parens.
29401
29402 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29403
29404         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
29405
29406         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
29407         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
29408         * lib/malloca.c: Include "verify.h".
29409         (verify1): Remove, replacing with a verify call.
29410         * lib/relocwrapper.c (verify1): Likewise.
29411         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
29412         Likewise.
29413         * modules/malloca (Depends-on): Add 'verify'.
29414         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
29415         * modules/vasnprintf (Depends-on): Add 'verify'.
29416         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29417         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29418         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29419         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29420         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29421         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29422         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29423
29424         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
29425
29426         Formerly the style was sometimes 2*X - 1, because the C standard
29427         was wrongly thought to disallow ?: in integral constant expressions.
29428         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
29429         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
29430         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
29431         * lib/stdint.in.h (_verify_intmax_size): Likewise.
29432         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
29433         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
29434         verify that time_t cannot be floating.
29435
29436 2010-10-08  Eric Blake  <eblake@redhat.com>
29437
29438         time: enforce recent POSIX ruling that time_t is integral
29439         * lib/time.in.h (__time_t_must_be_integral): Detect any
29440         problematic systems, allowing the rest of gnulib to assume POSIX.
29441
29442 2010-10-08  Jim Meyering  <meyering@redhat.com>
29443
29444         fdopendir: fix a bug on systems lacking openat and /proc support
29445         OpenBSD 4.7 is one such system.  The most noticeable effect was
29446         failure of any application making nontrivial use of fts: rm, du,
29447         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
29448           ./rm: traversal failed: `a': Bad file descriptor
29449         Debugging that, you see that even though FD 6 was closed just
29450         prior to the opendir call in fd_clone_opendir, its resulting
29451         dir->dd_fd was 8, rather than the expected value of 6:
29452
29453         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
29454         93                close (fd);
29455         (gdb) n
29456         94                dir = fd_clone_opendir (dupfd);
29457         (gdb) n
29458         95                saved_errno = errno;
29459         (gdb) p dir->dd_fd
29460         $11 = 8
29461
29462         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29463         The problem is that on OpenBSD, fd_clone_opendir has to resort
29464         to using the old-style save/restore CWD mechanism, due to its
29465         lack of openat/proc support, and *that* would steal the FD (6)
29466         that opendir was supposed to use.
29467
29468         The fix is to squirrel away the desired FD so that save_cwd uses a
29469         different one, and then free the dest FD right before calling opendir.
29470         That guarantees opendir will use the required file descriptor.
29471
29472         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29473
29474 2010-10-08  Bruno Haible  <bruno@clisp.org>
29475
29476         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29477         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29478
29479 2010-10-08  Bruno Haible  <bruno@clisp.org>
29480
29481         nanosleep: Make replacement POSIX compliant.
29482         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29483         is out of range.
29484         Reported by Jim Meyering.
29485
29486 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29487
29488         bootstrap: add hook for altering gnulib.mk, for Bison
29489         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29490         the Bison bootstrapping process can rewrite file names and variables
29491         in this file before later parts of 'bootstrap' use the file.
29492         Bison wants to include lib/gnulib.mk from the top-level makefile,
29493         so it needs the file names in this file to be relative to the top
29494         level, not relative to lib; plus it needs variable names to be
29495         rewritten.
29496         (slurp): Use the new function.
29497
29498         bootstrap: reformat for readability
29499         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29500
29501 2010-10-08  Eric Blake  <eblake@redhat.com>
29502
29503         docs: update cygwin progress
29504         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29505         1.7.7.
29506         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29507         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29508         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29509         * doc/posix-functions/carg.texi (carg): Likewise.
29510         * doc/posix-functions/cargf.texi (cargf): Likewise.
29511         * doc/posix-functions/casin.texi (casin): Likewise.
29512         * doc/posix-functions/casinf.texi (casinf): Likewise.
29513         * doc/posix-functions/casinh.texi (casinh): Likewise.
29514         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29515         * doc/posix-functions/catan.texi (catan): Likewise.
29516         * doc/posix-functions/catanf.texi (catanf): Likewise.
29517         * doc/posix-functions/catanh.texi (catanh): Likewise.
29518         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29519         * doc/posix-functions/ccos.texi (ccos): Likewise.
29520         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29521         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29522         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29523         * doc/posix-functions/cexp.texi (cexp): Likewise.
29524         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29525         * doc/posix-functions/cimag.texi (cimag): Likewise.
29526         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29527         * doc/posix-functions/clog.texi (clog): Likewise.
29528         * doc/posix-functions/clogf.texi (clogf): Likewise.
29529         * doc/posix-functions/conj.texi (conj): Likewise.
29530         * doc/posix-functions/conjf.texi (conjf): Likewise.
29531         * doc/posix-functions/cpow.texi (cpow): Likewise.
29532         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29533         * doc/posix-functions/cproj.texi (cproj): Likewise.
29534         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29535         * doc/posix-functions/creal.texi (creal): Likewise.
29536         * doc/posix-functions/crealf.texi (crealf): Likewise.
29537         * doc/posix-functions/csin.texi (csin): Likewise.
29538         * doc/posix-functions/csinf.texi (csinf): Likewise.
29539         * doc/posix-functions/csinh.texi (csinh): Likewise.
29540         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29541         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29542         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29543         * doc/posix-functions/ctan.texi (ctan): Likewise.
29544         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29545         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29546         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29547         * doc/posix-headers/complex.texi (complex.h): Likewise.
29548
29549 2010-10-07  Jim Meyering  <meyering@redhat.com>
29550
29551         parse-datetime: avoid compilation failure on OpenBSD 4.7
29552         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29553         This works around a compilation failure on OpenBSD 4.7:
29554         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29555
29556 2010-10-07  Eric Blake  <eblake@redhat.com>
29557
29558         docs: update cygwin progress
29559         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29560         1.7.6.
29561         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29562         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29563         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29564         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29565         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29566         Likewise.
29567         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29568         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29569         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29570         Likewise.
29571         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29572         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29573         Likewise.
29574         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29575         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29576         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29577         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29578         Likewise.
29579         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29580         Likewise.
29581         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29582
29583         docs: update parse-datetime history
29584         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29585         documentation of this function's history and alternatives.
29586
29587         cygwin: use more robust version check
29588         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29589         exclude an eventual cygwin 1.9.1.
29590         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29591         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29592         (gl_FUNC_STRCASESTR): Likewise.
29593         Reported by Bruno Haible.
29594
29595 2010-10-06  Bruno Haible  <bruno@clisp.org>
29596
29597         string, sys_select: Avoid #including large headers unless necessary.
29598         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29599         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29600         OSF/1, BeOS, Haiku.
29601         Reported by Jim Meyering.
29602
29603 2010-10-05  Eric Blake  <eblake@redhat.com>
29604
29605         memmem, strstr, strcasestr: fix bug with long periodic needle
29606         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29607         periodic needle having false positive.
29608         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29609         and cygwin 1.7.7.
29610         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29611         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29612         (gl_FUNC_STRCASESTR): Likewise.
29613         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29614         * tests/test-memmem.c (main): Expose the bug.
29615         * tests/test-strcasestr.c (main): Likewise.
29616         * tests/test-strstr.c (main): Likewise.
29617         * tests/test-c-strcasestr.c (main): Likewise.
29618         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29619         * doc/posix-functions/strstr.texi (strstr): Likewise.
29620         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29621         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29622
29623 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29624
29625         parse-datetime: do some more renaming
29626         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29627         parse_datetime, not get_date.  Mention the renaming.
29628         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29629         in comments.
29630         * m4/bison.m4: Likewise.
29631
29632 2010-10-05  Eric Blake  <eblake@redhat.com>
29633
29634         parse-datetime: better name than get_date
29635         * NEWS: Reword the deprecation notice.
29636         * modules/get_date: Rename to modules/parse-datetime.
29637         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29638         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29639         * lib/get_date.y: Rename to lib/parse-datetime.y.
29640         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29641         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29642         * doc/getdate.texi: Provide fallback wrapper.
29643         * lib/getdate.h: Move guts, and wrap...
29644         * lib/parse-datetime.h: ...new file.
29645         * lib/parse-datetime.y (get_date): Rename...
29646         (parse_datetime): ...to this.
29647         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29648         (gl_PARSE_DATETIME): ...to this.
29649         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29650         documentation.
29651         * modules/getdate (Files): Provide fallback docs and header.
29652         (Notice, Depends-on): Update references.
29653         * tests/test-parse-datetime.c: Likewise.
29654         * DEPENDENCIES: Likewise.
29655         * MODULES.html.sh (Date and time <time.h>): Likewise.
29656         * doc/parse-datetime.texi (Date input formats)
29657         (Authors of parse_datetime): Likewise.
29658         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29659         (Include): Likewise.
29660         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29661         * gnulib-tool: Likewise.
29662         * m4/bison.m4 (gl_BISON): Likewise.
29663         Suggested by Bruno Haible.
29664
29665 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29666
29667         more ports to Solaris tr, which needs [] around ranges
29668         * gnulib-tool: Solaris tr needs [] around ranges.
29669         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29670         * tests/test-pipe-filter-gi1.c (main): Likewise.
29671         * tests/test-pipe-filter-ii1.c (main): Likewise.
29672
29673 2010-10-05  Eric Blake  <eblake@redhat.com>
29674
29675         bootstrap: fix Solaris regression
29676         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29677         around ranges.
29678         Reported by Pádraig Brady.
29679
29680         bootstrap: work with pkg-config
29681         * build-aux/bootstrap (check_versions): Also transliterate - in
29682         prerequisite name.
29683         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29684         prerequisites that were already found, to avoid confusion.
29685         Reported by Justin Clift.
29686
29687         faccessat: remove unused wrappers
29688         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29689         presence of these wrappers dragged in -lgen on Solaris.
29690         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29691
29692 2010-10-05  Jim Meyering  <meyering@redhat.com>
29693
29694         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29695         * Makefile (sc_pragma_columns): New syntax-check rule.
29696
29697 2010-10-04  Bruno Haible  <bruno@clisp.org>
29698
29699         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29700         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29701         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29702         Reported by Bruce Korb and Eric Blake.
29703
29704 2010-10-04  Bruno Haible  <bruno@clisp.org>
29705
29706         threadlib: Make option --with-libpth-prefix work.
29707         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29708         use $LIBPTH, not just -lpth.
29709
29710 2010-10-04  Bruno Haible  <bruno@clisp.org>
29711
29712         Avoid line length limitation from HP NonStop system header files.
29713         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29714         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29715         * lib/ctype.in.h: Likewise.
29716         * lib/dirent.in.h: Likewise.
29717         * lib/errno.in.h: Likewise.
29718         * lib/fcntl.in.h: Likewise.
29719         * lib/float.in.h: Likewise.
29720         * lib/getopt.in.h: Likewise.
29721         * lib/iconv.in.h: Likewise.
29722         * lib/inttypes.in.h: Likewise.
29723         * lib/langinfo.in.h: Likewise.
29724         * lib/locale.in.h: Likewise.
29725         * lib/math.in.h: Likewise.
29726         * lib/netdb.in.h: Likewise.
29727         * lib/netinet_in.in.h: Likewise.
29728         * lib/poll.in.h: Likewise.
29729         * lib/pthread.in.h: Likewise.
29730         * lib/pty.in.h: Likewise.
29731         * lib/sched.in.h: Likewise.
29732         * lib/se-selinux.in.h: Likewise.
29733         * lib/search.in.h: Likewise.
29734         * lib/signal.in.h: Likewise.
29735         * lib/spawn.in.h: Likewise.
29736         * lib/stdarg.in.h: Likewise.
29737         * lib/stddef.in.h: Likewise.
29738         * lib/stdint.in.h: Likewise.
29739         * lib/stdio.in.h: Likewise.
29740         * lib/stdlib.in.h: Likewise.
29741         * lib/string.in.h: Likewise.
29742         * lib/strings.in.h: Likewise.
29743         * lib/sys_file.in.h: Likewise.
29744         * lib/sys_ioctl.in.h: Likewise.
29745         * lib/sys_select.in.h: Likewise.
29746         * lib/sys_socket.in.h: Likewise.
29747         * lib/sys_stat.in.h: Likewise.
29748         * lib/sys_time.in.h: Likewise.
29749         * lib/sys_times.in.h: Likewise.
29750         * lib/sys_utsname.in.h: Likewise.
29751         * lib/sys_wait.in.h: Likewise.
29752         * lib/sysexits.in.h: Likewise.
29753         * lib/termios.in.h: Likewise.
29754         * lib/time.in.h: Likewise.
29755         * lib/unistd.in.h: Likewise.
29756         * lib/wchar.in.h: Likewise.
29757         * lib/wctype.in.h: Likewise.
29758         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29759         * modules/ctype (Makefile.am): Likewise.
29760         * modules/dirent (Makefile.am): Likewise.
29761         * modules/errno (Makefile.am): Likewise.
29762         * modules/fcntl-h (Makefile.am): Likewise.
29763         * modules/float (Makefile.am): Likewise.
29764         * modules/getopt-posix (Makefile.am): Likewise.
29765         * modules/iconv-h (Makefile.am): Likewise.
29766         * modules/inttypes (Makefile.am): Likewise.
29767         * modules/langinfo (Makefile.am): Likewise.
29768         * modules/locale (Makefile.am): Likewise.
29769         * modules/math (Makefile.am): Likewise.
29770         * modules/netdb (Makefile.am): Likewise.
29771         * modules/netinet_in (Makefile.am): Likewise.
29772         * modules/poll-h (Makefile.am): Likewise.
29773         * modules/pthread (Makefile.am): Likewise.
29774         * modules/pty (Makefile.am): Likewise.
29775         * modules/sched (Makefile.am): Likewise.
29776         * modules/search (Makefile.am): Likewise.
29777         * modules/selinux-h (Makefile.am): Likewise.
29778         * modules/signal (Makefile.am): Likewise.
29779         * modules/spawn (Makefile.am): Likewise.
29780         * modules/stdarg (Makefile.am): Likewise.
29781         * modules/stddef (Makefile.am): Likewise.
29782         * modules/stdint (Makefile.am): Likewise.
29783         * modules/stdio (Makefile.am): Likewise.
29784         * modules/stdlib (Makefile.am): Likewise.
29785         * modules/string (Makefile.am): Likewise.
29786         * modules/strings (Makefile.am): Likewise.
29787         * modules/sys_file (Makefile.am): Likewise.
29788         * modules/sys_ioctl (Makefile.am): Likewise.
29789         * modules/sys_select (Makefile.am): Likewise.
29790         * modules/sys_socket (Makefile.am): Likewise.
29791         * modules/sys_stat (Makefile.am): Likewise.
29792         * modules/sys_time (Makefile.am): Likewise.
29793         * modules/sys_times (Makefile.am): Likewise.
29794         * modules/sys_utsname (Makefile.am): Likewise.
29795         * modules/sys_wait (Makefile.am): Likewise.
29796         * modules/sysexits (Makefile.am): Likewise.
29797         * modules/termios (Makefile.am): Likewise.
29798         * modules/time (Makefile.am): Likewise.
29799         * modules/unistd (Makefile.am): Likewise.
29800         * modules/wchar (Makefile.am): Likewise.
29801         * modules/wctype (Makefile.am): Likewise.
29802
29803 2010-10-04  Bruno Haible  <bruno@clisp.org>
29804
29805         read-file tests: Avoid a test failure on NonStop Kernel.
29806         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29807         a regular file.
29808         Reported by Joachim Schmitz <schmitz@hp.com>.
29809
29810 2010-10-03  Bruno Haible  <bruno@clisp.org>
29811
29812         gnulib-tool: Fixes for --create-testdir with --libtool.
29813         * gnulib-tool (func_get_automake_snippet): Don't augment
29814         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29815         an executable.
29816         (func_create_testdir): Handle module 'alloca' like func_import.
29817         Reported by Bruce Korb <bruce.korb@gmail.com>.
29818
29819 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29820
29821         Avoid some lines longer than 80 characters.
29822         * lib/stdint.in.h: Break long comment lines.
29823         * lib/math.in.h: Likewise.
29824         (_GL_NUM_UINT_WORDS): New macro, for readability.
29825         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29826         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29827         * lib/stdlib.in.h: Likewise.
29828         * lib/spawn.in.h: Likewise.
29829         * lib/sys_socket.in.h: Update an URL.
29830         * lib/sys_stat.in.h: Break long line.
29831
29832 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29833
29834         Improve pmccabe2html.
29835         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29836         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29837         when the sources change. Remove the line in the HTML about "Used
29838         ranges" (which implied that there might be other unused ranges),
29839         rename "Resume" to "Summary" (easier to understand for more users).
29840         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29841         styles, and some unnecessary blank lines.
29842
29843 2010-10-03  Bruno Haible  <bruno@clisp.org>
29844             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29845
29846         acl: Add support for ACLs on NonStop Kernel.
29847         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29848         Check whether the function aclsort() exists.
29849         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29850         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29851         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29852         (acl_nontrivial [HAVE_ACLSORT]: New function.
29853         (file_has_acl): Implement for NonStop Kernel.
29854         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29855         (qset_acl): Implement for NonStop Kernel.
29856         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29857         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29858         (main): Implement for NonStop Kernel.
29859         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29860         Kernel. Handle this flavor.
29861         * tests/test-set-mode-acl.sh: Likewise.
29862         * tests/test-copy-acl.sh: Likewise.
29863         * tests/test-copy-file.sh: Likewise.
29864
29865 2010-10-03  Bruno Haible  <bruno@clisp.org>
29866
29867         Info about ACLs on NonStop Kernel.
29868         * doc/acl-resources.txt: Add info about NonStop Kernel.
29869         References by Joachim Schmitz <schmitz@hp.com>.
29870
29871 2010-10-02  Bruno Haible  <bruno@clisp.org>
29872
29873         Define missing EDQUOT on NonStop Kernel.
29874         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29875         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29876         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29877         missing.
29878         * doc/posix-headers/errno.texi: Mention the NSK bug.
29879         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29880         Reported by Joachim Schmitz <schmitz@hp.com>.
29881
29882 2010-10-02  Bruno Haible  <bruno@clisp.org>
29883
29884         Update doc for POSIX:2008.
29885         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29886         Update URL of POSIX specification.
29887
29888 2010-10-02  Bruno Haible  <bruno@clisp.org>
29889
29890         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29891         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29892         from gnulib, not from Automake.
29893
29894 2010-10-02  Bruno Haible  <bruno@clisp.org>
29895
29896         New module 'system-posix'.
29897         * modules/system-posix: New file.
29898         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29899         module is present.
29900         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29901         GNULIB_SYSTEM_POSIX.
29902         * modules/stdlib (Depends-on): Remove sys_wait.
29903         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29904         * doc/posix-functions/system.texi: Mention the new module.
29905         * doc/posix-headers/stdlib.texi: Likewise.
29906         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29907         define test_sys_wait_macros to a no-op.
29908         Reported by Sam Steingold <sds@gnu.org>.
29909
29910 2010-09-30  Bruno Haible  <bruno@clisp.org>
29911
29912         More renaming from 'getdate' to 'get_date'.
29913         * doc/get_date.texi: Renamed from doc/getdate.texi.
29914         * modules/get_date (Files): Update.
29915         * MODULES.html.sh (Date and time <time.h>): Update.
29916         * DEPENDENCIES: Update.
29917         * gnulib-tool: Update comment.
29918         * m4/bison.m4 (gl_BISON): Likewise.
29919         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29920
29921 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29922
29923         bootstrap: support ACLOCAL_FLAGS during aclocal
29924         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29925         can add additional -I dir for third-party .m4 files.
29926
29927 2010-09-30  Eric Blake  <eblake@redhat.com>
29928
29929         bootstrap: use glibtoolize on MacOS
29930         * build-aux/bootstrap (check_versions): Convert libtool into
29931         libtoolize.
29932         (tool search): Move libtool check earlier, and look for
29933         glibtoolize for MacOS.
29934         (gnulib_tool_options): Auto-add --libtool when appropriate.
29935         Reported by Justin Clift.
29936
29937         poll: fix typo that broke test on MacOS
29938         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29939         Reported by Justin Clift.
29940
29941         getdate: rename to get_date
29942         Note: getdate.h is not renamed, to minimize client impact.
29943         * modules/getdate: Mark obsolete.  Move old contents...
29944         * modules/get_date: ...to new module name.
29945         * modules/getdate-tests: Move...
29946         * modules/get_date-tests: ...here.
29947         * m4/getdate.m4: Move...
29948         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29949         * lib/getdate.y: Move...
29950         * lib/get_date.y: ...here.
29951         * tests/test-getdate.c: Move...
29952         * tests/test-get_date.c: ...here.
29953         * doc/posix-functions/getdate.texi (getdate): Update name.
29954         * NEWS: Mention the change.
29955
29956 2010-09-29  Bruno Haible  <bruno@clisp.org>
29957
29958         Separate the module 'waitpid' from the module 'sys_wait'.
29959         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29960         present.
29961         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29962         gl_MODULE_INDICATOR_FOR_TESTS.
29963         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29964         * modules/sys_wait (Depends-on): Remove waitpid.
29965         (Makefile.am): Substitute GNULIB_WAITPID.
29966         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29967         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29968         signature only if the 'waitpid' module is present.
29969         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29970         * NEWS: Mention the change.
29971         * modules/grantpt (Depends-on): Add waitpid.
29972         * modules/wait-process (Depends-on): Likewise.
29973
29974 2010-09-29  Bruno Haible  <bruno@clisp.org>
29975
29976         More tests for module 'sys_wait'.
29977         * modules/sys_wait-c++-tests: New file.
29978         * tests/test-sys_wait-c++.cc: New file.
29979         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29980         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29981
29982 2010-09-29  Bruno Haible  <bruno@clisp.org>
29983
29984         New module 'waitpid'.
29985         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29986         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29987         Don't include <process.h>.
29988         (waitpid): Declare only, using modern idiom.
29989         * m4/waitpid.m4: New file.
29990         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29991         * modules/waitpid: New file.
29992         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29993         (Makefile.am): Update.
29994         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29995
29996 2010-09-28  Bruno Haible  <bruno@clisp.org>
29997
29998         poll: Assume ANSI C.
29999         * lib/poll.c (poll): Use an ANSI C declaration.
30000
30001 2010-09-28  Bruno Haible  <bruno@clisp.org>
30002
30003         poll-h: Create poll.h on all platforms.
30004         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
30005         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
30006         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
30007         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
30008         (gl_REPLACE_POLL_H): Don't set POLL_H.
30009         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
30010         * modules/poll-h (Depends-on): Add include_next.
30011         (Makefile.am): Create poll.h unconditionally. Substitute also
30012         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
30013
30014 2010-09-28  Bruno Haible  <bruno@clisp.org>
30015
30016         Tests for module 'poll-h'.
30017         * modules/poll-h-c++-tests: New file.
30018         * tests/test-poll-h-c++.cc: New file.
30019
30020         Tests for module 'poll-h'.
30021         * modules/poll-h-tests: New file.
30022         * tests/test-poll-h.c: New file.
30023
30024 2010-09-28  Bruno Haible  <bruno@clisp.org>
30025
30026         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
30027         * modules/poll-h (Depends-on): Add 'extensions'.
30028
30029 2010-09-28  Bruno Haible  <bruno@clisp.org>
30030
30031         New module 'poll-h'.
30032         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
30033         (poll): Use modern idiom.
30034         * modules/poll-h: New file.
30035         * modules/poll (Files): Remove lib/poll.in.h.
30036         (Depends-on): Add poll-h.
30037         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
30038         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
30039         * m4/poll_h.m4: New file.
30040         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
30041         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
30042         and invoke gl_REPLACE_POLL_H.
30043         * lib/poll.c: Use common idiom.
30044         * tests/test-poll.c: Likewise.
30045         * doc/posix-headers/poll.texi: Mention the poll-h module.
30046         Suggested by Eric Blake.
30047
30048 2010-09-26  Bruno Haible  <bruno@clisp.org>
30049
30050         sys_wait: Implement WSTOPSIG.
30051         * lib/sys_wait.in.h (WSTOPSIG): New macro.
30052         Reported by Simon Josefsson.
30053
30054 2010-09-26  Simon Josefsson  <simon@josefsson.org>
30055
30056         stdlib, sys_wait: Avoid compilation error on mingw.
30057         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
30058
30059 2010-09-26  Bruno Haible  <bruno@clisp.org>
30060
30061         stdlib tests: Avoid code duplication.
30062         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
30063         * modules/sys_wait-tests (Files): Likewise.
30064         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
30065         * tests/test-stdlib.c: Include test-sys_wait.h.
30066         (main): Invoke test_sys_wait_macros.
30067         * tests/test-sys_wait.c: Include test-sys_wait.h.
30068         (main): Invoke test_sys_wait_macros.
30069
30070 2010-09-25  Simon Josefsson  <simon@josefsson.org>
30071
30072         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
30073         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
30074         sure Windows sockets are working before calling getaddrinfo.
30075         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
30076         * doc/gnulib.texi (Windows sockets): Fix typo.
30077
30078 2010-09-25  Bruno Haible  <bruno@clisp.org>
30079
30080         Tests for module 'regex-quote'.
30081         * modules/regex-quote-tests: New file.
30082         * tests/test-regex-quote.c: New file.
30083
30084         New module 'regex-quote'.
30085         * lib/regex-quote.h: New file.
30086         * lib/regex-quote.c: New file.
30087         * modules/regex-quote: New file.
30088         Suggested by Reuben Thomas <rrt@sc3d.org>.
30089
30090 2010-09-24  Bruno Haible  <bruno@clisp.org>
30091
30092         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
30093         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
30094
30095 2010-09-23  Bruno Haible  <bruno@clisp.org>
30096
30097         setenv: Relax license.
30098         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
30099         Blake.
30100         Requested by Eric Blake.
30101
30102 2010-09-22  Bruno Haible  <bruno@clisp.org>
30103
30104         termios: Relax license.
30105         * modules/termios (License): Change to LGPLv2+.
30106         Requested by Eric Blake.
30107
30108 2010-09-22  Bruno Haible  <bruno@clisp.org>
30109
30110         threadlib: Allow the package to change the default to 'no'.
30111         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
30112         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
30113         Reported by Paul Eggert.
30114
30115 2010-09-22  Pádraig Brady  <P@draigbrady.com>
30116             Bruno Haible  <bruno@clisp.org>
30117
30118         Fix endless loop in mbmemcasecoll.
30119         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
30120         byte.
30121         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
30122
30123 2010-09-22  Bruno Haible  <bruno@clisp.org>
30124
30125         Tests for module 'memcoll'.
30126         * modules/memcoll-tests: New file.
30127         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
30128
30129         memcoll, xmemcoll: Clarify size vs. length.
30130         * modules/memcoll.c (memcoll0): Clarify specification.
30131         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
30132         passed to collate_error.
30133
30134 2010-09-22  Bruno Haible  <bruno@clisp.org>
30135
30136         Tests for module 'memcasecmp'.
30137         * modules/memcasecmp-tests: New file.
30138         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
30139
30140 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30141
30142         * lib/pthread.in.h: Add split double-inclusion guard, and include
30143         system <pthread.h> if there is one.  Use @@-style as in other
30144         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
30145         pthread.h doesn't.
30146         (pthread_mutexattr_destroy, pthread_mutexattr_init):
30147         (pthread_mutexattr_settype, pthread_mutex_trylock):
30148         New static inline functions, if there's no system <pthread.h>.
30149         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
30150         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
30151         Approximate with mutexes if the system lacks spinlocks, as in
30152         MacOS.
30153         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
30154         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
30155         @@-style.  Check for spinlocks separately.
30156         (gl_PTHREAD_DEFAULTS): New macro.
30157         * modules/pthread: Redo to use a more typical style for in.h files.
30158
30159 2010-09-21  Eric Blake  <eblake@redhat.com>
30160
30161         net_if: enhance tests
30162         * tests/test-net_if.c (main): Move signature checks earlier.
30163         Print failures to stderr.
30164         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
30165         Document the bug that we do not yet fix.
30166
30167 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30168
30169         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
30170         about gnulib, not GSS.
30171
30172 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30173
30174         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
30175         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
30176         for Emacs.
30177         * build-aux/pmccabe2html: Make Makefile.am example code more
30178         cut-and-paste friendly.
30179
30180 2010-09-21  Simon Josefsson  <simon@josefsson.org>
30181
30182         * tests/test-net_if.c: New file.
30183         * modules/net_if-tests: New file.
30184
30185 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
30186
30187         pthread: add pthread_spin_destroy
30188         * lib/pthread.in.h (pthread_spin_destroy): New function.
30189
30190 2010-09-19  Bruno Haible  <bruno@clisp.org>
30191
30192         gnulib-tool: Fix --help output.
30193         * gnulib-tool (func_usage): Fix help message.
30194         Reported by Reuben Thomas <rrt@sc3d.org>.
30195
30196 2010-09-18  Jim Meyering  <meyering@redhat.com>
30197
30198         maint.mk: avoid unexpanded \n in two diagnostics
30199         * top/maint.mk (sc_prohibit_always_true_header_tests):
30200         Don't use a literal \n in a halt=... assignment.  It would not be
30201         expanded, and the two \n bytes would appear in the diagnostic output
30202         rather than the desired newline.  Use halt=$$(printf ... instead.
30203         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30204
30205 2010-09-18  Bruno Haible  <bruno@clisp.org>
30206
30207         netinet_in: Doc tweak.
30208         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
30209         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30210
30211 2010-09-18  Jim Meyering  <meyering@redhat.com>
30212
30213         init.sh: correct an outdated comment
30214         * tests/init.sh (create_exe_shims_):  s/function/alias/
30215
30216         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
30217         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
30218         a file named "*.exe" is removed between the glob expansion and the
30219         processing of that oddly named file.
30220
30221 2010-09-17  Eric Blake  <eblake@redhat.com>
30222
30223         mirbsd: add some more support
30224         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
30225         in BSD family.
30226         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
30227         devices as OpenBSD.
30228         * m4/host-os.m4 (mirbsd): Add MirBSD.
30229
30230         tests: fix unportable assumption on sys/wait.h
30231         * tests/test-sys_wait.c (main): Relax test.
30232         * tests/test-stdlib.c (main): Likewise.
30233
30234         init.sh: accommodate directory with no .exes
30235         * tests/init.sh: Accomodate directory containing only scripts.
30236
30237         tests: avoid compiler warning
30238         * tests/test-stdlib.c (main): Use the variable.
30239
30240         fdutimens, fdutimensat: update signature, again
30241         * lib/utimens.h (gl_futimens): Delete, and move signature...
30242         (fdutimens): ...here.
30243         (fdutimensat): Rearrange signature.
30244         (lutimensat): Rename variable for clarity.
30245         * lib/fdutimensat.c (fdutimensat): Update signature.
30246         * lib/utimens.c (fdutimens): Likewise.
30247         (gl_futimens): Delete.
30248         (utimens, lutimens): Update callers.
30249         * lib/futimens.c (futimens): Likewise.
30250         * tests/test-fdutimensat.c: Likewise.
30251         * tests/test-utimens.c: Likewise.
30252         * tests/test-futimens.h: Update comment.
30253         * NEWS: Mention this.
30254         Suggested by Paul Eggert.
30255
30256 2010-09-17  Bruno Haible  <bruno@clisp.org>
30257
30258         Take over the maintenance of some older macros from Autoconf.
30259         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
30260         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
30261         GNU Autoconf.
30262         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
30263         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
30264
30265 2010-09-17  Eric Blake  <eblake@redhat.com>
30266
30267         fdutimensat: drop atflag validation
30268         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
30269         with valid fd, to close a race scenario where futimens is
30270         unsupported and FILE was replaced by a symlink.
30271         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
30272         accordingly.
30273         Suggested by Paul Eggert.
30274
30275 2010-09-16  Bruno Haible  <bruno@clisp.org>
30276
30277         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
30278         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
30279
30280 2010-09-16  Bruno Haible  <bruno@clisp.org>
30281
30282         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
30283         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
30284         login_tty exists.
30285         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30286
30287 2010-09-16  Bruno Haible  <bruno@clisp.org>
30288
30289         login_tty: Make the replacement code work on BSD systems.
30290         * lib/login_tty.c: Include <sys/ioctl.h>.
30291         (login_tty): Use ioctl TIOCSCTTY when available.
30292         * modules/login_tty (Depends-on): Add sys_ioctl.
30293         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30294
30295 2010-09-16  Bruno Haible  <bruno@clisp.org>
30296
30297         login_tty: Stricter unit test.
30298         * modules/login_tty-tests (Depends-on): Add tcgetsid.
30299         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
30300         and tcgetsid() after login_tty.
30301         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30302
30303 2010-09-16  Bruno Haible  <bruno@clisp.org>
30304
30305         New module 'tcgetsid'.
30306         * lib/tcgetsid.c: New file.
30307         * m4/tcgetsid.m4: New file.
30308         * modules/tcgetsid: New file.
30309         * modules/termios (Depends-on): Add c++defs, warn-on-use.
30310         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
30311         GNULIB_TCGETSID, HAVE_TCGETSID.
30312         * lib/termios.in.h: Include <sys/types.h>.
30313         (tcgetsid): New declaration.
30314         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
30315         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
30316         * doc/posix-functions/tcgetsid.texi: Mention the new module.
30317         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
30318
30319 2010-09-16  Bruno Haible  <bruno@clisp.org>
30320
30321         Tests for module 'termios'.
30322         * modules/termios-c++-tests: New file.
30323         * modules/termios-tests: New file.
30324         * tests/test-termios-c++.cc: New file.
30325         * tests/test-termios.c: New file.
30326
30327         New module 'termios'.
30328         * modules/termios: New file.
30329         * lib/termios.in.h: New file.
30330         * m4/termios_h.m4: New file.
30331         * doc/posix-headers/termios.texi: Mention the new module.
30332
30333 2010-09-16  Eric Blake  <eblake@redhat.com>
30334
30335         fdutimensat: add an atflag parameter
30336         * lib/fdutimensat.c (fdutimensat): Add new parameter.
30337         * lib/utimens.h (fdutimensat): Update prototype.
30338         * tests/test-fdutimensat.c: Adjust test to match.
30339         * NEWS: Document the change.
30340         Suggested by Paul Eggert.
30341
30342 2010-09-16  Bruno Haible  <bruno@clisp.org>
30343
30344         Fix typos in comments.
30345         * lib/striconveh.h: Fix typo in comment.
30346         * lib/login_tty.c (login_tty): Likewise.
30347
30348 2010-09-15  Bruno Haible  <bruno@clisp.org>
30349
30350         stdlib: clarify MirBSD WEXITSTATUS bug
30351         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
30352         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30353
30354 2010-09-15  Eric Blake  <eblake@redhat.com>
30355
30356         stdlib: work around MirBSD WEXITSTATUS bug
30357         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
30358         * modules/stdlib (Depends-on): Add sys_wait.
30359         * tests/test-sys_wait.c (main): Enhance test.
30360         * tests/test-stdlib.c (main): Likewise.
30361         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
30362
30363         docs: mention MacOS issue with WEXITSTATUS(constant)
30364         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
30365         issue.
30366         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30367
30368         strnlen: add tests
30369         * modules/strnlen-tests: New file.
30370         * tests/test-strnlen.c: Likewise.
30371
30372 2010-09-14  Bruno Haible  <bruno@clisp.org>
30373
30374         unistr/base: Avoid link errors when module 'libunistring' is also used.
30375         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
30376         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
30377         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
30378         Declare also when HAVE_LIBUNISTRING is set.
30379         Reported by Pádraig Brady <P@draigbrady.com>.
30380
30381 2010-09-14  Eric Blake  <eblake@redhat.com>
30382
30383         test-rawmemchr: make more robust
30384         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
30385         (Depends-on, configure.ac): Add needed prerequisites to use it.
30386         * modules/memchr-tests (Files, Depends-on, configure.ac):
30387         Likewise, to avoid implicit reliance on memchr module prereqs.
30388         * tests/test-memchr.c (main): Ensure proper masking.
30389         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
30390         reads.
30391
30392         memchr: detect glibc Alpha bug
30393         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
30394         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
30395         Alpha.
30396         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
30397         * tests/test-memchr.c (main): Enhance test.
30398         Reported by Nelson H. F. Beebe.
30399
30400 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30401
30402         fts, getcwd, glob: audit for dirfd returning -1
30403         * lib/fts.c (opendir): Remove #define; no longer used.
30404         (opendirat): New arg PDIR_FD.  All callers changed.
30405         (fts_build, _opendir2): Use new opendirat to avoid the need for
30406         dirfd, or for checking whether dirfd returns a negative value.
30407         Don't use opendir; always use openat followed by fdopendir.
30408         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
30409         it.
30410         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
30411         returns -1 here.
30412         * modules/fts (Depends-on): Remove dirfd.
30413         * modules/getcwd (Depends-on): Likewise.
30414
30415 2010-09-13  Eric Blake  <eblake@redhat.com>
30416
30417         float: fix broken MirBSD header
30418         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
30419         * doc/posix-headers/float.texi (float.h): Document it.
30420
30421 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30422
30423         fts: use O_NOFOLLOW to avoid race condition when opening a directory
30424         * lib/fts.c (opendirat): New arg extra_flags.
30425         (__opendir2): Use it to avoid following symlinks when opening
30426         a directory, if symlinks are not supposed to be followed.  See
30427         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
30428
30429         fdopendir: preserve argument fd before returning
30430         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
30431         (fdopendir_with_dup, fd_clone_opendir): New static functions.
30432         (fdopendir): Use them, arranging for FD to be open to the same
30433         directory that it was when it started.  (It might be temporarily
30434         closed while fdopendir is running, so this not thread- or
30435         signal-safe.)  Be careful to do the right thing even when file
30436         descriptors are scarce and dup fails with errno == EMFILE.  See
30437         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
30438
30439 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
30440
30441         regex: Pass the system regex if its only problem is 32-bit regoff_t.
30442         * NEWS: Document change.
30443         * m4/regex.m4: Disable test for regoff_t size.
30444
30445 2010-09-13  Jim Meyering  <meyering@redhat.com>
30446
30447         fts: don't operate on an invalid file descriptor after failed dup
30448         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
30449         negative file descriptor.
30450
30451 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
30452
30453         savedir: add streamsavedir, deprecate fdsavedir
30454         * NEWS: Mention deprecation of fdsavedir.
30455         * lib/savedir.c (streamsavedir): New extern function, whose name
30456         ends in "savedir" to be consistent with the others.  This differs
30457         from savedirstream in that it doesn't close its argument.  The
30458         next version of GNU tar will use this instead of fdsavedir, to
30459         avoid some race conditions and conserve file descriptors.
30460         (savedirstream): Reimplement as a wrapper around streamsavedir.
30461         (fdsavedir): Add a comment deprecating this function.  As far as
30462         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30463         * lib/savedir.h (streamsavedir): New decl.
30464         (fdsavedir): Add a comment deprecating this.
30465
30466 2010-09-10  Bruno Haible  <bruno@clisp.org>
30467
30468         langinfo: Fix last commit.
30469         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30470         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30471         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30472
30473 2010-09-10  Bruno Haible  <bruno@clisp.org>
30474
30475         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30476         * lib/progreloc.c (O_EXEC): Define fallback.
30477
30478 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30479
30480         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30481         * NEWS: Document recent changes to fcntl-h.
30482         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30483         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30484         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30485         Similarly for O_SEARCH; this last was already true, but not documented.
30486         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30487         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30488         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30489         Likewise.
30490         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30491         is zero, not whether it is defined.
30492         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30493         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30494         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30495
30496 2010-09-10  Bruno Haible  <bruno@clisp.org>
30497
30498         langinfo, nl_langinfo: Fix for IRIX 5.3.
30499         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30500         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30501         HAVE_LANGINFO_YESEXPR.
30502         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30503         HAVE_LANGINFO_YESEXPR.
30504         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30505         HAVE_LANGINFO_T_FMT_AMPM is 0.
30506         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30507         HAVE_LANGINFO_YESEXPR is 0.
30508         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30509         NOEXPR.
30510         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30511         * doc/posix-functions/nl_langinfo.texi: Likewise.
30512         Reported by Eric Blake.
30513
30514 2010-09-10  Bruno Haible  <bruno@clisp.org>
30515
30516         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30517         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30518         on FreeBSD 8.0 and OpenBSD 4.6.
30519         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30520         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30521         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30522         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30523         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30524         ac_includes_default.
30525         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30526
30527 2010-09-09  Eric Blake  <eblake@redhat.com>
30528
30529         strsignal: work around NetBSD bug
30530         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30531         * lib/string.in.h (includes): Likewise.
30532         * doc/posix-functions/strsignal.texi (strsignal): Document the
30533         bug.
30534         Reported by Nelson H. F. Beebe.
30535
30536         gnulib-tool: work with NetBSD /bin/sh
30537         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30538         (func_get_description, func_get_comment, func_get_status)
30539         (func_get_notice, func_get_applicability, func_get_filelist)
30540         (func_get_dependencies, func_get_autoconf_early_snippet)
30541         (func_get_autoconf_snippet, func_get_automake_snippet)
30542         (func_get_include_directive, func_get_link_directive)
30543         (func_get_license, func_get_maintainer, func_import): Avoid
30544         shell syntax errors from parsing syntax extensions.
30545
30546 2010-09-09  Bruno Haible  <bruno@clisp.org>
30547
30548         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30549         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30550         a reliable way to determine whether the 'alias' command works.
30551
30552 2010-09-08  Jim Meyering  <meyering@redhat.com>
30553
30554         init.sh: penalize a set-x-impaired shell; don't disqualify it
30555         * tests/init.sh: Too many shells corrupt application stderr when
30556         you set -x, so we can't afford to disqualify them, since at least
30557         on Irix-6.5, that would disqualify all bourne shells.
30558         Instead, use a two-pass approach.
30559         On the first pass, try to find a shell that meets the stricter
30560         condition that set -x does not corrupt stderr.
30561         If no shell meets the stricter condition, retest each candidate
30562         shell, but without that extra condition.  Finally, when
30563         VERBOSE=yes is requested and set -x might cause trouble, simply
30564         issue a warning and refrain from enabling debug output.
30565
30566 2010-09-08  Eric Blake  <eblake@redhat.com>
30567
30568         unsetenv: fix OpenBSD bug
30569         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30570         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30571         documentation.
30572         Reported by Jim Meyering.
30573
30574         strtod: work around IRIX 6.5 bug
30575         * lib/strtod.c (strtod): Reparse number on shorter string if
30576         exponent parse was invalid.
30577         * tests/test-strtod.c (main): Add check for "0x1p 2".
30578         Reported by Tom G. Christensen.
30579
30580         getopt: optimize previous patch
30581         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30582         empty variable.  Speed up awk script.
30583         Reported by Paolo Bonzini.
30584
30585 2010-09-08  Jim Meyering  <meyering@redhat.com>
30586
30587         test.sh: disqualify shells for which set -x corrupts stderr
30588         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30589         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30590         appear in stderr output.  For example, this command:
30591             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30592         prints "P=1" on those two systems:
30593
30594 2010-09-08  Bruno Haible  <bruno@clisp.org>
30595
30596         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30597         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30598         commands, because some shells ignore redirections when there is an
30599         error in the command lookup.
30600         Reported by Eric Blake.
30601
30602 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30603
30604         * lib/regex.h: Fix a mention of `regex_compile' (should be
30605         `re_compile_pattern').
30606         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30607         (re_set_registers): Correct name of parameter in comment.
30608
30609         * doc/regex.texi: Add documentation for missing syntax flags.
30610         Remove commented-out documentation of defunct syntax option
30611         RE_NO_EMPTY_ALTS.
30612         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30613         Add documentation of re_set_registers.
30614         Document trick to re-use a pattern buffer by setting fastmap manually.
30615         Update documentation of struct re_pattern_buffer per public members.
30616         Uncomment documentation of equivalence class operators and
30617         collating symbol operators, since they are now implemented,
30618         Explain leftmost-longest matching in relation to alternatives.
30619         Tidy documentation of substring matching.
30620         Remove POSIX documentation, which is done better in
30621         glibc, and refer the reader there. Keep BSD API documentation, as
30622         that is not readily available elsewhere.
30623
30624 2010-09-07  Eric Blake  <eblake@redhat.com>
30625
30626         getopt: handle POSIXLY_CORRECT set but not exported
30627         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30628         export state of POSIXLY_CORRECT, due to bash set -o posix.
30629         Reported by Dustin J. Mitchell.
30630
30631 2010-09-05  Bruno Haible  <bruno@clisp.org>
30632
30633         gnulib-tool: Highlight the changed options.
30634         * gnulib-tool (func_usage): Display the --import, --add-import,
30635         --remove-import explanations in bold font.
30636
30637 2010-09-06  Karl Berry  <karl@gnu.org>
30638
30639         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30640
30641 2010-09-05  Bruno Haible  <bruno@clisp.org>
30642
30643         uniwidth/width: Update comment.
30644         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30645         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30646
30647 2010-09-05  Bruno Haible  <bruno@clisp.org>
30648
30649         isinf, isnan: Relax license.
30650         * modules/isinf (License): Change from GPL to LGPL, with consent from
30651         Ben Pfaff.
30652         * modules/isnan (License): Likewise.
30653         Requested by Ludovic Courtès.
30654
30655 2010-09-04  Bruno Haible  <bruno@clisp.org>
30656
30657         gnulib-tool: Help migration from --import to --add-import or --update.
30658         * gnulib-tool: Emit a verbose error message when --import is used
30659         without any module name.
30660
30661 2010-09-04  Bruno Haible  <bruno@clisp.org>
30662
30663         Update doc about gnulib-tool.
30664         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30665         'gnulib-tool --update' in more detail.
30666         Reported by Eric Blake.
30667
30668 2010-09-04  Bruno Haible  <bruno@clisp.org>
30669
30670         gnulib-tool: Change --import. New options --add/remove-import.
30671         * gnulib-tool: New options --add-import, --remove-import.
30672         (func_usage): Document them.
30673         (have_associative): Define always.
30674         (func_import): In import mode, don't merge the specified settings with
30675         the cached settings. Implement remove-import mode.
30676         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30677         Explain when to use them versus --import.
30678         (Simple update): Use --add-import instead of --import.
30679         * NEWS: Mention the change.
30680
30681 2010-09-04  Bruno Haible  <bruno@clisp.org>
30682
30683         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30684         separate gnulib.mk.
30685
30686 2010-09-04  Bruno Haible  <bruno@clisp.org>
30687
30688         gnulib-tool: Don't talk about CVS any more.
30689         * gnulib-tool (func_usage, func_import): Write "version control"
30690         instead of CVS.
30691
30692 2010-09-04  Jim Meyering  <meyering@redhat.com>
30693
30694         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30695         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30696         false positives (whose names may be ill-chosen) when searching
30697         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30698         would cause a false-positive.
30699
30700         avoid coreutils "make distcheck" failure
30701         Coreutils tests with an absolute build directory name that contains
30702         a space.  Not quoting this directory name caused a failure.
30703         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30704         * tests/test-vc-list-files-cvs.sh: Likewise.
30705
30706 2010-09-04  Bruno Haible  <bruno@clisp.org>
30707
30708         gnulib-tool: Avoid error when run in a package without Makefile.am.
30709         * gnulib-tool: When collecting the m4dirs in a package that does not
30710         have a Makefile.am, eliminate those directories that contain no
30711         gnulib-cache.m4. Fix expression that counts these directories.
30712
30713 2010-09-04  Bruno Haible  <bruno@clisp.org>
30714
30715         update-copyright test: Improve output when perl is missing or too old.
30716         * tests/test-update-copyright.sh: Move test of Perl version down after
30717         the test whether Perl exists. Provide an explanation relating Perl's
30718         error message to Automake's SKIP: message.
30719
30720 2010-09-04  Bruno Haible  <bruno@clisp.org>
30721
30722         Don't augment PATH in TESTS_ENVIRONMENT.
30723         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30724         set abs_aux_dir instead of augmenting PATH.
30725         * modules/vc-list-files-tests (Makefile.am): Likewise.
30726         * tests/test-update-copyright.sh: Augment PATH here.
30727         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30728         path_prepend_.
30729         * tests/test-vc-list-files-git.sh: Likewise.
30730
30731 2010-09-04  Jim Meyering  <meyering@redhat.com>
30732
30733         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30734         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30735
30736 2010-09-04  Bruno Haible  <bruno@clisp.org>
30737
30738         strdup: Fix compilation error in C++ mode.
30739         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30740         the macro.
30741
30742 2010-09-04  Bruno Haible  <bruno@clisp.org>
30743
30744         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30745         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30746         macro into a function.
30747         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30748
30749 2010-09-04  Bruno Haible  <bruno@clisp.org>
30750
30751         Set PATH_SEPARATOR the same way autoconf does.
30752         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30753         the value of PATH_SEPARATOR the same way autoconf-generated configure
30754         scripts do.
30755         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30756         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30757
30758 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30759
30760         Set PATH_SEPARATOR the same way autoconf does.
30761         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30762         the same way autoconf-generated configure scripts do.
30763         * posix-modules: Likewise.
30764
30765 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30766
30767         hash: fix safe_hasher const typo
30768         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30769         const; otherwise, there is a type error later.
30770
30771 2010-09-02  Jim Meyering  <meyering@redhat.com>
30772
30773         test-update-copyright.sh: require perl 5.8.0
30774         * tests/test-update-copyright.sh: Require 5.8.0,
30775         which Tom G. Christensen has confirmed is adequate,
30776         while 5.6.1 is not.
30777
30778 2010-09-02  Eric Blake  <eblake@redhat.com>
30779
30780         tests: init.sh improvements for re-exec'ing with zsh
30781         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30782         -vx through shell re-exec.
30783         Reported by Tom G. Christensen.
30784
30785         wctype: fix typo in previous commit
30786         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30787         Reported by Ludovic Courtès.
30788
30789 2010-09-02  Jim Meyering  <meyering@redhat.com>
30790
30791         test-update-copyright.sh: skip test if Perl is too old
30792         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30793         Reported by Tom G. Christensen.
30794
30795 2010-09-02  Bruno Haible  <bruno@clisp.org>
30796
30797         wctype: Avoid compilation error on IRIX 6.5.30.
30798         * lib/wctype.in.h (iswblank): Declare with a replacement if
30799         REPLACE_ISWBLANK is set.
30800         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30801         declared. Set REPLACE_ISWBLANK.
30802         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30803         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30804         * doc/posix-headers/wctype.texi: Likewise.
30805         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30806
30807 2010-09-01  Bruno Haible  <bruno@clisp.org>
30808
30809         New module 'socketlib'.
30810         * modules/socketlib: New file.
30811         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30812         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30813         * modules/sockets (Depends-on): Add socketlib.
30814         Suggested by Sam Steingold <sds@gnu.org>.
30815
30816 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30817
30818         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30819
30820         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30821         when one needs search access to a directory but not read access.
30822         On systems where it is available, it works in some cases where
30823         O_RDONLY does not, namely on directories that are searchable but
30824         not readable, and which need only to be searchable.  If O_SEARCH
30825         is not available, fall back to the traditional method of using
30826         O_RDONLY.
30827
30828         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30829         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30830         when opening a directory that needs only to be searchable.
30831         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30832         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30833         * lib/openat-proc.c (openat_proc_name): Likewise.
30834         * lib/openat.c (openat_needs_fchdir): Likewise.
30835         * lib/save-cwd.c (save_cwd): Likewise.
30836         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30837
30838 2010-08-28  Bruno Haible  <bruno@clisp.org>
30839
30840         New module 'host-cpu-c-abi'.
30841         * modules/host-cpu-c-abi: New file.
30842         * m4/host-cpu-c-abi.m4: New file, based on part of
30843         clisp/src/m4/general.m4.
30844         Requested by Sam Steingold <sds@gnu.org>.
30845
30846 2010-08-31  Eric Blake  <eblake@redhat.com>
30847         and Jim Meyering  <meyering@redhat.com>
30848
30849         hash: factor, and guard against misbehaving hasher function
30850         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30851         of table->hasher's return value.  Also protect against a hash value
30852         so large that adding it to table->bucket results in a NULL pointer.
30853         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30854         Use it in place of open-coded check-and-abort.
30855
30856 2010-08-30  Bruno Haible  <bruno@clisp.org>
30857
30858         hash: silence spurious clang warning
30859         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30860         Reported by Eric Blake.
30861
30862 2010-08-30  Eric Blake  <eblake@redhat.com>
30863
30864         strstr, memmem, strcasestr: avoid leaked shell message
30865         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30866         FreeBSD.
30867         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30868         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30869
30870         tests: silence clang warning
30871         * tests/test-malloca.c (do_allocation): Avoid dead store.
30872
30873 2010-08-29  Bruno Haible  <bruno@clisp.org>
30874
30875         gettext: Fix recent mistake.
30876         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30877
30878 2010-08-29  Bruno Haible  <bruno@clisp.org>
30879
30880         selinux-h: Offer a --without-selinux option.
30881         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30882         --without-selinux was specified, skip all tests and define
30883         HAVE_SELINUX_SELINUX_H to 0.
30884         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30885         set LIB_SELINUX to empty.
30886         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30887         gl_LIBSELINUX. If --without-selinux was specified, replace
30888         selinux/context.h.
30889         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30890
30891 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30892             Bruno Haible  <bruno@clisp.org>
30893
30894         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30895         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30896         of HAVE_REALLOC.
30897         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30898         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30899         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30900         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30901
30902 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30903             Bruno Haible  <bruno@clisp.org>
30904
30905         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30906         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30907         HAVE_CALLOC.
30908         * lib/xmalloc.c: Update accordingly.
30909         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30910         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30911         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30912
30913 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30914             Bruno Haible  <bruno@clisp.org>
30915
30916         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30917         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30918         HAVE_MALLOC.
30919         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30920         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30921         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30922
30923 2010-08-29  Bruno Haible  <bruno@clisp.org>
30924
30925         Update modules list.
30926         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30927         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30928         (String handling <string.h>): Add astrxfrm.
30929         (File system functions): Add readlinkat.
30930
30931 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30932
30933         Tests for module 'realloc-gnu'.
30934         * modules/realloc-gnu-tests: New file.
30935         * tests/test-realloc-gnu.c: New file.
30936
30937         Tests for module 'calloc-gnu'.
30938         * modules/calloc-gnu-tests: New file.
30939         * tests/test-calloc-gnu.c: New file.
30940
30941         Tests for module 'malloc-gnu'.
30942         * modules/malloc-gnu-tests: New file.
30943         * tests/test-malloc-gnu.c: New file.
30944
30945 2010-08-28  Bruno Haible  <bruno@clisp.org>
30946
30947         Rename module 'realloc' -> 'realloc-gnu'.
30948         * modules/realloc-gnu: New file, copied from modules/realloc.
30949         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30950         obsolete.
30951         * modules/mgetgroups (Depends-on): Update.
30952         * doc/posix-functions/realloc.texi: Update.
30953         * NEWS: Mention the change.
30954
30955         Rename module 'calloc' -> 'calloc-gnu'.
30956         * modules/calloc-gnu: New file, copied from modules/calloc.
30957         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30958         obsolete.
30959         * doc/posix-functions/calloc.texi: Update.
30960         * NEWS: Mention the change.
30961
30962         Rename module 'malloc' -> 'malloc-gnu'.
30963         * modules/malloc-gnu: New file, copied from modules/malloc.
30964         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30965         obsolete.
30966         * modules/argp (Depends-on): Update.
30967         * modules/regex (Depends-on): Update.
30968         * doc/posix-functions/malloc.texi: Update.
30969         * NEWS: Mention the change.
30970
30971 2010-08-28  Eric Blake  <eblake@redhat.com>
30972
30973         pread, pwrite: add missing dependency
30974         * modules/pread (Depends-on): Add extensions.
30975         * modules/pwrite (Depends-on): Likewise.
30976
30977 2010-08-28  Bruno Haible  <bruno@clisp.org>
30978
30979         unistr/u*-strchr: Fix tests dependencies.
30980         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30981         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30982         Reported by Ian Beckwith <ianb@erislabs.net>.
30983
30984 2010-08-28  Bruno Haible  <bruno@clisp.org>
30985
30986         read-file: Don't occupy too much unused memory.
30987         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30988
30989 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30990             Eric Blake  <eblake@redhat.com>
30991             Bruno Haible  <bruno@clisp.org>
30992
30993         read-file: Avoid memory reallocations with regular files.
30994         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30995         (fread_file): With regular files, use the remaining length as the
30996         initial buffer size.  Check against overflow.
30997         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30998         sys_stat.
30999
31000 2010-08-28  Bruno Haible  <bruno@clisp.org>
31001
31002         ftello: Relax license.
31003         * modules/ftello (License): Relax to LGPLv2+.
31004         Reported by Eric Blake.
31005
31006 2010-08-28  Bruno Haible  <bruno@clisp.org>
31007
31008         Avoid relocwrapper link errors due to gnulib replacement functions.
31009         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
31010         function.
31011         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31012
31013 2010-08-28  Bruno Haible  <bruno@clisp.org>
31014
31015         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
31016         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
31017         defined.
31018         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
31019         Suggested by Eric Blake.
31020
31021 2010-08-28  Bruno Haible  <bruno@clisp.org>
31022
31023         sys_socket, netdb: Ensure socklen_t gets defined.
31024         * modules/sys_socket (Depends-on): Add socklen.
31025         * modules/netdb (Depends-on): Likewise.
31026         * modules/getaddrinfo (Depends-on): Remove socklen.
31027         * modules/getsockopt (Depends-on): Likewise.
31028         * modules/setsockopt (Depends-on): Likewise.
31029         * tests/test-sys_socket.c: Check that socklen_t is defined.
31030         * tests/test-netdb.c: Likewise.
31031         * m4/socklen.m4: Update comments.
31032         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31033
31034 2010-08-27  Eric Blake  <eblake@redhat.com>
31035
31036         login_tty: add missing dependency
31037         * modules/login_tty (Depends-on): Add pty.
31038
31039 2010-08-26  Eric Blake  <eblake@redhat.com>
31040
31041         lib-symbol-versions: fix m4 quoting
31042         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
31043         format for AC_LINK_IFELSE.
31044
31045         glob: fix compile test
31046         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
31047
31048         btowc: fix missing file
31049         * modules/btowc (Files): Also ship locale-fr.m4.
31050
31051         lseek: fix link test
31052         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
31053         AC_LINK_IFELSE.
31054
31055         include_next: silence autoconf 2.68 warning
31056         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
31057         AC_COMPILE_IFELSE as special.
31058         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
31059         autoconf < 2.68.
31060
31061         acl: fix compilation test
31062         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
31063         AC_COMPILE_IFELSE.
31064
31065 2010-08-26  Bruno Haible  <bruno@clisp.org>
31066
31067         Modernize AC_TRY_RUN invocations.
31068         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
31069         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
31070         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
31071         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
31072         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
31073         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31074         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
31075         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
31076         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31077         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
31078         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
31079         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
31080         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
31081         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31082         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
31083         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
31084         gl_MBRLEN_NUL_RETVAL): Likewise.
31085         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
31086         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
31087         Likewise.
31088         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
31089         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
31090         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
31091         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
31092         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
31093         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
31094         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
31095         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
31096         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
31097         Likewise.
31098         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31099         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
31100         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31101         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31102         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31103         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
31104         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
31105         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
31106         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31107         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31108
31109 2010-08-26  Bruno Haible  <bruno@clisp.org>
31110
31111         Modernize AC_TRY_LINK invocations.
31112         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
31113         AC_TRY_LINK.
31114         * m4/argp.m4 (gl_ARGP): Likewise.
31115         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
31116         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31117         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
31118         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31119         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31120         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
31121         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
31122         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
31123         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31124         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31125         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31126         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
31127         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
31128         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31129         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31130         * m4/hostent.m4 (gl_HOSTENT): Likewise.
31131         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
31132         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
31133         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31134         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
31135         Likewise.
31136         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
31137         Likewise.
31138         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
31139         Likewise.
31140         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31141         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
31142         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
31143         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
31144         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
31145         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31146         * m4/servent.m4 (gl_SERVENT): Likewise.
31147         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
31148         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
31149         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
31150         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
31151         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31152         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
31153         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31154         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31155         * modules/tsearch-tests (configure.ac): Likewise.
31156
31157 2010-08-26  Bruno Haible  <bruno@clisp.org>
31158
31159         Modernize AC_TRY_COMPILE invocations.
31160         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
31161         AC_TRY_COMPILE.
31162         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
31163         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
31164         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31165         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
31166         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31167         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31168         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31169         * m4/lock.m4 (gl_LOCK): Likewise.
31170         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
31171         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31172         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
31173         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31174         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31175         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
31176         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31177         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
31178         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31179         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31180         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31181         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31182         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
31183         extraneous semicolon.
31184
31185 2010-08-26  Jim Meyering  <meyering@redhat.com>
31186
31187         stat-time: relax license LGPL
31188         * modules/stat-time (License): Change from GPL to LGPL,
31189         with consent from all contributors, for use in libguile.
31190         Requested by Ludovic Courtès.
31191
31192 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
31193
31194         poll: return immediately on POLLHUP.
31195         * lib/poll.c (poll): Always set timeout before wait_timeout is
31196         computed.
31197
31198 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31199
31200         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
31201         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
31202         rmdir ("dir/.//"), unlinkat.
31203
31204 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31205
31206         stdbool: avoid spurious failure with modern xlc
31207         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31208
31209 2010-08-24  Bruno Haible  <bruno@clisp.org>
31210
31211         getloadavg: simplify code
31212         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
31213         gl_have_func. Update comments.
31214
31215 2010-08-24  Eric Blake  <eblake@redhat.com>
31216
31217         getloadavg: don't define SVR4 on cygwin
31218         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
31219         only define SVR4 when -lkvm is required.
31220         Reported by Yaakov Selkowitz.
31221
31222 2010-08-24  Bruno Haible  <bruno@clisp.org>
31223
31224         priv-set: fix comment
31225         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
31226
31227 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
31228
31229         priv-set: fix comments
31230         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
31231         to match code, as suggested by David Bartley in:
31232         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
31233
31234 2010-08-23  Eric Blake  <eblake@redhat.com>
31235
31236         stdbool: avoid rejecting clang
31237         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31238         * tests/test-stdbool.c: Enable more tests if using the system
31239         <stdbool.h> instead of the gnulib replacement.
31240         (main): Move xlc bug test to a runtime test for all compilers.
31241         Reported by Anders Kaseorg.
31242
31243         argz: fix shell quoting issue
31244         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
31245         Reported by Charles Wilson.
31246
31247 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
31248             Erik Faye-Lund <kusmabite@gmail.com>
31249
31250         poll, select: handle ERROR_BROKEN_PIPE.
31251         * lib/poll.c (win32_compute_revents): Return POLLHUP when
31252         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31253         * lib/select.c (win32_compute_revents): Do not mark a pipe
31254         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31255
31256 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
31257
31258         fts: allow compilation with C++
31259         * lib/fts_.h: Specify extern "C" linkage with C++.
31260
31261 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31262
31263         Fix gnulib-tool sed script de-commentation for AIX sed.
31264         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
31265         sed.
31266
31267 2010-08-17  Eric Blake  <eblake@redhat.com>
31268
31269         test-stddef: test for (some) offsetof bugs
31270         * tests/test-stddef.c: Enhance test to ensure correct type of
31271         offsetof.
31272         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
31273         that we are not fixing at this time.
31274
31275 2010-08-15  Bruno Haible  <bruno@clisp.org>
31276
31277         stpncpy: Allow stpncpy to be defined as a macro.
31278         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
31279         if it's already correctly declared.
31280         * lib/string.in.h (stpncpy): Undefine before redefining.
31281         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
31282
31283 2010-08-14  Bruno Haible  <bruno@clisp.org>
31284
31285         Rename module 'memxfrm' to 'amemxfrm'.
31286         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
31287         (amemxfrm): Renamed from memxfrm.
31288         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
31289         (amemxfrm): Renamed from memxfrm.
31290         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
31291         * NEWS: Mention the change.
31292         * MODULES.html.sh (String handling <string.h>): Update.
31293         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
31294         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
31295         * lib/unicase/u16-casexfrm.c: Likewise.
31296         * lib/unicase/u32-casexfrm.c: Likewise.
31297         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
31298         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
31299         * lib/uninorm/u16-normxfrm.c: Likewise.
31300         * lib/uninorm/u32-normxfrm.c: Likewise.
31301         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
31302         memxfrm.
31303         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
31304         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
31305         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
31306         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
31307         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
31308         Suggested by Paul Eggert.
31309
31310 2010-08-14  Bruno Haible  <bruno@clisp.org>
31311
31312         Tests for module 'astrxfrm'.
31313         * modules/astrxfrm-tests: New file.
31314         * tests/test-astrxfrm.c: New file.
31315
31316         New module 'astrxfrm'.
31317         * lib/astrxfrm.h: New file.
31318         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
31319         * modules/astrxfrm: New file.
31320
31321 2010-08-14  Reuben Thomas <rrt@sc3d.org>
31322
31323         regex: Tweak doc.
31324         * doc/regex.texi (Overview): Don't mention regex.c.
31325         (GNU Regular Expression Compiling): Likewise.
31326         (Match-end-of-line Operator): Mention 'not_eol'.
31327
31328 2010-08-14  Brian Gough  <bjg@gnu.org>
31329             Bruno Haible  <bruno@clisp.org>
31330
31331         git-merge-changelog: add doc relating to use with bzr and hg.
31332         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
31333
31334 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
31335
31336         pthread: fix pthread.h creation for srcdir != builddir
31337         * modules/pthread (Makefile.am): Fix the rule to work also in a
31338         non-srcdir build.
31339
31340 2010-08-13  Karl Berry  <karl@gnu.org>
31341
31342         * doc/regex.texi (Predefined Syntaxes): @smallexample.
31343         * doc/posix-*/*: force line break before @url of POSIX
31344         specifications.
31345         Suggested by Werner Lemberg.
31346
31347 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
31348
31349         strtod: fix const diagnostic
31350         * lib/strtod.c (strtod): Don't assign const char * to char *,
31351         as this elicits a warning from GCC when warnings are enabled.
31352
31353 2010-08-10  Pádraig Brady <P@draigbrady.com>
31354         and Eric Blake  <eblake@redhat.com>
31355
31356         copy-acl: ignore ENOTSUP on HP-UX
31357         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
31358         so that it is available for HP-UX.
31359         * lib/copy-acl.c (qcopy_acl): Use it.
31360         Reported by Patrick M. Callahan.
31361
31362 2010-08-10  Eric Blake  <eblake@redhat.com>
31363
31364         open, chown: relax license
31365         * modules/open (License): Change to LGPLv2+, with consent by all
31366         authors, for use in augeas.
31367         * modules/chown (License): Likewise.
31368         * modules/lchown (Likewise): Likewise.
31369         Requested by Adam Stokes.
31370
31371 2010-08-09  Karl Berry  <karl@gnu.org>
31372
31373         * build-aux/ar-lib: new file, import from Automake.
31374         * config/srclist.txt: autocheck for updates.
31375
31376 2010-08-09  Eric Blake  <eblake@redhat.com>
31377
31378         readlinkat: adjust client modules
31379         * modules/areadlinkat (Depends-on): Use readlinkat, not
31380         symlinkat.
31381         * modules/areadlinkat-with-size (Depends-on): Likewise.
31382
31383         mknod: be more vocal about danger of running tests as root
31384         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
31385         root, since that is just asking for problems.
31386         Suggested by Bruno Haible, based on a report by Rainer Tammer.
31387
31388         readlinkat: split into its own module
31389         * modules/symlinkat: Split readlinkat...
31390         * modules/readlinkat: ...into separate module.
31391         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
31392         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
31393         * lib/symlinkat.c (readlinkat): Move...
31394         * lib/readlinkat.c: ...into new file.
31395         * modules/symlinkat-tests: Split readlinkat test...
31396         * modules/readlinkat-tests: ...into separate module.
31397         * tests/test-symlinkat.c: Split...
31398         * tests/test-readlinkat.c: ...into new file.
31399         * NEWS: Document the split.
31400         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31401         * lib/unistd.in.h (readlinkat): Likewise.
31402         Suggested by Bruno Haible.
31403
31404 2010-08-08  Bruno Haible  <bruno@clisp.org>
31405
31406         memxfrm: Speed up.
31407         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
31408         that usually only one call to strxfrm is necessary for each string
31409         part.
31410         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31411
31412 2010-08-07  Karl Berry  <karl@gnu.org>
31413
31414         * doc/posix-headers/limits.texi,
31415         * doc/posix-functions/malloc.texi,
31416         * doc/posix-functions/strsignal.texi: missing @item.
31417         * doc/ld-version-script.texi: spurious leading i.
31418         * doc/regex.texi (Interval Operators): no commas inside @var.
31419
31420 2010-08-01  Bruno Haible  <bruno@clisp.org>
31421
31422         Integrate the regex documentation.
31423         * doc/gnulib.texi: Define 'cn' index.
31424         (Regular expressions): New a chapter that includes regex.texi and
31425         regexprops-generic.texi.
31426         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
31427         syntax.
31428
31429         Whitespace cleanup.
31430         * doc/regex.texi: Remove trailing spaces.
31431
31432         Add regex documentation.
31433         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
31434         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
31435         Written by Kathy A. Hargreaves and Karl Berry.
31436
31437 2010-08-01  Bruno Haible  <bruno@clisp.org>
31438
31439         link: Update documentation.
31440         * doc/posix-functions/link.texi: Update regarding Solaris.
31441
31442 2010-07-31  Bruno Haible  <bruno@clisp.org>
31443
31444         Update modules list.
31445         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
31446         (String handling <string.h>): Add memcmp2, memxfrm.
31447         (Container data structures): Add xlist, xsublist, xoset.
31448         (Core language properties): Add alignof, unused-parameter.
31449         (Process control, Numeric conversion functions <stdlib.h>): Renamed
31450         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
31451         (Unibyte characters <ctype.h>): New section.
31452         (String handling <string.h>): New section.
31453         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
31454         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
31455         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31456         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31457         tan, tanh, tanl, y0, y1, yn.
31458         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31459         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31460         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31461         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31462         unlockpt, vdprintf, vdprintf-posix.
31463         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31464         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31465         xconcat-filename.
31466         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31467         getdtablesize, pipe2, pipe2-safer.
31468         (Security): New section.
31469         (Networking functions): Add accept4.
31470         (Signal handling): Add sigpipe.
31471         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31472         mbmemcasecoll.
31473         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31474         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31475         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31476         pipe-filter-ii.
31477         (Misc): Add argp-version-etc, login_tty, parse-duration.
31478
31479 2010-07-31  Bruno Haible  <bruno@clisp.org>
31480
31481         Improve doc in MODULES.html.
31482         * modules/linkat (Description): Add the word "function".
31483         * modules/mkfifo (Description): Likewise.
31484         * modules/mknod (Description): Likewise.
31485         * modules/remove (Description): Likewise.
31486         * modules/renameat (Description): Likewise.
31487         * modules/stat (Description): Likewise.
31488         * modules/symlink (Description): Likewise.
31489         * modules/unlink (Description): Likewise.
31490
31491 2010-07-31  Bruno Haible  <bruno@clisp.org>
31492
31493         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31494         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31495         option --enable/disable-c++ instead of --enable/disable-cxx.
31496         * NEWS: Mention the change.
31497
31498 2010-07-31  Bruno Haible  <bruno@clisp.org>
31499
31500         readlink, areadlink: Relax test a bit.
31501         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31502         alternative to ENOTDIR.
31503         * tests/test-areadlink.h (test_areadlink): Likewise.
31504         Reported by Rainer Tammer.
31505
31506 2010-07-31  Bruno Haible  <bruno@clisp.org>
31507
31508         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31509         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31510         character, perform the search using U_STRCHR.
31511         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31512         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31513         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31514         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31515         Suggested by Paolo Bonzini.
31516
31517 2010-07-31  Bruno Haible  <bruno@clisp.org>
31518
31519         unistr/u*-strstr: Fix dependencies.
31520         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31521         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31522         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31523
31524 2010-07-31  Bruno Haible  <bruno@clisp.org>
31525
31526         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31527         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31528         the beginning of the loop.
31529         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31530         cases in 'switch' statement.
31531
31532         unistr/u8-strchr: Fix several bugs.
31533         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31534         the string. When not found, return NULL, not a pointer near the end.
31535
31536         More tests for unistr/u8-strchr.
31537         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31538         that the function does not read past the first occurrence of the byte
31539         being searched.
31540         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31541         * tests/unistr/test-u16-strchr.c (main): New function.
31542         * tests/unistr/test-u32-strchr.c (main): New function.
31543
31544 2010-07-31  Bruno Haible  <bruno@clisp.org>
31545
31546         posix-modules: Ignore backup files of documentation files.
31547         * posix-modules: grep only through files named *.texi.
31548
31549 2010-07-31  Bruno Haible  <bruno@clisp.org>
31550
31551         symlinkat: Fix documentation.
31552         * doc/posix-functions/readlinkat.texi: Fix module name.
31553
31554 2010-07-31  Bruno Haible  <bruno@clisp.org>
31555
31556         fchownat: Replace also when chown has the trailing slash bug.
31557         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31558         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31559         introduced on 2010-04-10.
31560         Reported by Rainer Tammer.
31561
31562 2010-07-31  Bruno Haible  <bruno@clisp.org>
31563
31564         linkat: Work around AIX 7.1 bug.
31565         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31566         whether linkat handles trailing slash correctly. If not, replace linkat
31567         and define LINKAT_TRAILING_SLASH_BUG.
31568         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31569         check whether (fd1,file1) points to a directory if file1 or file2 ends
31570         in a slash. Code taken from lib/link.c.
31571         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31572         Reported by Rainer Tammer.
31573
31574 2010-07-31  Bruno Haible  <bruno@clisp.org>
31575
31576         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31577         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31578         This disables an xlc optimization that was causing wrong test results.
31579         Reported by Rainer Tammer.
31580
31581 2010-07-31  Bruno Haible  <bruno@clisp.org>
31582
31583         iconv: Work around AIX 6.1..7.1 bug.
31584         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31585         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31586         cross-compiling, guess no on all versions of AIX.
31587         Reported by Rainer Tammer.
31588
31589 2010-07-31  Bruno Haible  <bruno@clisp.org>
31590
31591         readlink: Relax test a bit.
31592         * tests/test-readlink.h (test_readlink): Allow different errno value
31593         when readlink is called with a file name that ends in / and refers to
31594         a file.
31595         Suggested by Eric Blake.
31596         Reported by Rainer Tammer.
31597
31598 2010-07-31  Bruno Haible  <bruno@clisp.org>
31599
31600         copysign: Does not require -lm on glibc systems.
31601         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31602         gl_COMMON_DOUBLE_MATHFUNC.
31603         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31604
31605 2010-07-31  Bruno Haible  <bruno@clisp.org>
31606
31607         duplocale: Work around AIX 7.1 bug.
31608         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31609         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31610         * lib/duplocale.c (rpl_duplocale): Update comment.
31611         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31612         Reported by Rainer Tammer.
31613
31614 2010-07-30  Bruno Haible  <bruno@clisp.org>
31615
31616         dirfd: Avoid link error on AIX 7.1.
31617         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31618         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31619         exist, set REPLACE_DIRFD.
31620         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31621         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31622         * doc/posix-functions/dirfd.texi: Update.
31623         Reported by Rainer Tammer.
31624
31625 2010-07-30  Eric Blake  <eblake@redhat.com>
31626
31627         strtod: next round of AIX fixes
31628         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31629         exponent.
31630         * tests/test-strtod.c (main): Enhance tests.
31631         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31632         Reported by Rainer Tammer.
31633
31634         futimens: fix configure check
31635         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31636         Reported by Bruno Haible.
31637
31638 2010-07-30  Bruno Haible  <bruno@clisp.org>
31639
31640         getline: Update regarding AIX.
31641         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31642         Reported by Rainer Tammer.
31643
31644 2010-07-30  Bruno Haible  <bruno@clisp.org>
31645
31646         wcwidth: Drop replacement on AIX 7.
31647         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31648         AIX 7.
31649         Reported by Rainer Tammer.
31650
31651 2010-07-30  Bruno Haible  <bruno@clisp.org>
31652
31653         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31654         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31655         a 'char *'.
31656         Reported by Rainer Tammer.
31657
31658 2010-07-30  Bruno Haible  <bruno@clisp.org>
31659
31660         unlink: Update regarding AIX.
31661         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31662         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31663         Reported by Rainer Tammer.
31664
31665 2010-07-30  Bruno Haible  <bruno@clisp.org>
31666
31667         symlink: Update regarding AIX.
31668         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31669         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31670         Reported by Rainer Tammer.
31671
31672 2010-07-30  Bruno Haible  <bruno@clisp.org>
31673
31674         strndup: Update regarding AIX.
31675         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31676         AIX 7.
31677         Reported by Rainer Tammer.
31678
31679 2010-07-30  Bruno Haible  <bruno@clisp.org>
31680
31681         stat: Update regarding AIX.
31682         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31683         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31684         Reported by Rainer Tammer.
31685
31686 2010-07-30  Bruno Haible  <bruno@clisp.org>
31687
31688         truncl: Fix autoconf test.
31689         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31690         whether truncl works.
31691         Reported by Rainer Tammer.
31692
31693 2010-07-30  Bruno Haible  <bruno@clisp.org>
31694
31695         round: Update regarding AIX.
31696         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31697         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31698         Reported by Rainer Tammer.
31699
31700 2010-07-30  Bruno Haible  <bruno@clisp.org>
31701
31702         rename: Update regarding AIX.
31703         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31704         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31705         Reported by Rainer Tammer.
31706
31707 2010-07-30  Bruno Haible  <bruno@clisp.org>
31708
31709         printf.m4: Update regarding AIX.
31710         * m4/printf.m4: Update comments regarding AIX.
31711         Reported by Rainer Tammer.
31712
31713 2010-07-30  Bruno Haible  <bruno@clisp.org>
31714
31715         iconv: Update regarding AIX.
31716         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31717         AIX 7.
31718         Reported by Rainer Tammer.
31719
31720 2010-07-30  Bruno Haible  <bruno@clisp.org>
31721
31722         getopt: Update regarding AIX.
31723         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31724         no on AIX.
31725         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31726         Reported by Rainer Tammer.
31727
31728 2010-07-30  Bruno Haible  <bruno@clisp.org>
31729
31730         ldexpl; Update regarding AIX.
31731         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31732         on AIX 7.
31733         Reported by Rainer Tammer.
31734
31735 2010-07-30  Bruno Haible  <bruno@clisp.org>
31736
31737         frexpl: Update regarding AIX.
31738         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31739         on AIX 7.
31740         Reported by Rainer Tammer.
31741
31742 2010-07-30  Bruno Haible  <bruno@clisp.org>
31743
31744         open, fopen: Update regarding AIX.
31745         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31746         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31747         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31748         * doc/posix-functions/fopen.texi: Likewise.
31749         Reported by Rainer Tammer.
31750
31751 2010-07-30  Bruno Haible  <bruno@clisp.org>
31752
31753         chown: Update doc regarding AIX.
31754         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31755         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31756         Reported by Rainer Tammer.
31757
31758 2010-07-30  Eric Blake  <eblake@redhat.com>
31759
31760         strtod: fix bug in replacement function on AIX
31761         * lib/strtod.c (strtod): Special case broken "0x" parse in
31762         underlying strtod.
31763         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31764         * doc/posix-functions/strtod.texi (strtod): Likewise.
31765         Reported by Rainer Tammer.
31766
31767 2010-07-30  Bruno Haible  <bruno@clisp.org>
31768
31769         mbrlen: Fix cross-compilation guess for AIX.
31770         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31771         guess. Leftover from 2008-12-22.
31772
31773 2010-07-30  Bruno Haible  <bruno@clisp.org>
31774
31775         mbrtowc: Fix cross-compilation guess for AIX.
31776         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31777         guess. Leftover from 2008-12-21.
31778
31779 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31780
31781         init.sh: work around trap limitation of some shells
31782         * tests/init.sh (setup_): Move exit trap outside of shell function.
31783
31784 2010-07-29  Eric Blake  <eblake@redhat.com>
31785
31786         strtod: aid debugging
31787         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31788         understanding why strtod is rejected.
31789
31790 2010-07-28  Bruno Haible  <bruno@clisp.org>
31791
31792         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31793         * lib/unistr/u8-chr.c: Include <string.h>.
31794         * tests/unistr/test-u8-chr.c: Likewise.
31795         * tests/unistr/test-u16-chr.c: Likewise.
31796         * tests/unistr/test-u32-chr.c: Likewise.
31797         * tests/unistr/test-u8-strchr.c: Likewise.
31798         * tests/unistr/test-u16-strchr.c: Likewise.
31799         * tests/unistr/test-u32-strchr.c: Likewise.
31800         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31801         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31802         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31803         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31804
31805 2010-07-28  Bruno Haible  <bruno@clisp.org>
31806
31807         Use spaces for indentation, not tabs.
31808         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31809
31810 2010-07-27  Bruno Haible  <bruno@clisp.org>
31811
31812         mbspcasecmp: Fix function specification.
31813         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31814         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31815         Reported by Eric Blake <eblake@redhat.com>.
31816
31817 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31818
31819         timespec: use cast and not conditional, as truncation isn't possible
31820         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31821         instead of a conditional.  Comment about the situation in more detail.
31822         This undoes most of the 2009-10-29 patch.
31823
31824 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31825
31826         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31827         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31828         * lib/unistr/u8-strchr.c: Likewise.
31829         * modules/unistr/u8-chr: Depend on memchr.
31830
31831         unistr/u*-strchr: add tests
31832         * modules/unistr/u8-strchr-tests: New file.
31833         * modules/unistr/u16-strchr-tests: New file.
31834         * modules/unistr/u32-strchr-tests: New file.
31835         * tests/unistr/test-strchr.h: New file.
31836         * tests/unistr/test-u8-strchr.c: New file.
31837         * tests/unistr/test-u16-strchr.c: New file.
31838         * tests/unistr/test-u32-strchr.c: New file.
31839
31840         unistr/u*-chr: test multibyte sequences more
31841         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31842         test vector.
31843         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31844         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31845         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31846
31847         unistr/u*-chr: test multibyte sequences
31848         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31849
31850         unistr/u*-chr: prepare for multibyte tests
31851         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31852         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31853         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31854         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31855         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31856         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31857
31858 2010-07-18  Bruno Haible  <bruno@clisp.org>
31859
31860         unistr/u8-strchr: Optimize non-ASCII argument case.
31861         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31862         because the first byte often matches anyway.
31863         Reported by Pádraig Brady <P@draigbrady.com>.
31864
31865 2010-07-15  Karl Berry  <karl@gnu.org>
31866
31867         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31868
31869 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31870
31871         getcwd: on Solaris, work better if ancestors are inaccessible
31872         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31873         buffer and size, try again with a large buffer.  This works better
31874         on Solaris, since its getcwd succeeds even if the path to the root
31875         is inaccessible, and this is helpful in common cases such as .zfs
31876         hidden directories.  Problem reported by J Chapman Flack in
31877         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31878         Use system getcwd if it's declared, not merely if it's partly
31879         working; use the partly-working test only to avoid needless effort
31880         if the system getcwd fails.
31881         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31882         comment that was already obsolete and is now even more obsolete.
31883         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31884         now might call strdup.
31885
31886 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31887
31888         pthread: Add enough so that coreutils/src/sort.c compiles.
31889         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31890         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31891         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31892         Include <sys/types.h>, in case it defines pthread_t.
31893         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31894         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31895         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31896         (pthread_rwlockattr_t, pthread_spinlock_t):
31897         New typedefs, if HAVE_PTHREAD_T is not defined.
31898         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31899         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31900         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31901         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31902         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31903         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31904         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31905         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31906         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31907         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31908         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31909         New macros.
31910         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31911         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31912         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31913         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31914         (pthread_spin_unlock): New dummy functions.
31915         (pthread_create): Return EAGAIN; don't set errno.
31916         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31917         require AC_C_INLINE.
31918         * modules/pthread (Depends-on): Add sched, time.
31919         (pthread.h): Use AM_V_GEN.
31920
31921 2010-07-13  Bruno Haible  <bruno@clisp.org>
31922
31923         striconveh: Don't malloc memory if the result buffer is sufficient.
31924         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31925         buffer if its size is sufficient.
31926         Reported by Ludovic Courtès <ludo@gnu.org>.
31927
31928 2010-07-13  Bruno Haible  <bruno@clisp.org>
31929
31930         strtod: Add safety check.
31931         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31932
31933 2010-07-12  Bruno Haible  <bruno@clisp.org>
31934
31935         Unify tests that set gl_cv_func_ldexpl_no_libm.
31936         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31937         gl_FUNC_LDEXPL.
31938         (gl_FUNC_LDEXPL): Invoke it.
31939         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31940
31941 2010-07-12  Bruno Haible  <bruno@clisp.org>
31942
31943         Unify tests that set gl_cv_func_ldexp_no_libm.
31944         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31945         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31946         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31947         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31948         * modules/strtod (Files): Add m4/ldexp.m4.
31949
31950 2010-07-12  Bruno Haible  <bruno@clisp.org>
31951
31952         Unify tests that set gl_cv_func_frexpl_no_libm.
31953         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31954         gl_FUNC_FREXPL_NO_LIBM.
31955         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31956         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31957
31958 2010-07-12  Bruno Haible  <bruno@clisp.org>
31959
31960         Unify tests that set gl_cv_func_frexp_no_libm.
31961         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31962         gl_FUNC_FREXP_NO_LIBM.
31963         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31964         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31965
31966 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31967
31968         memcoll: clarify sizes versus lengths, document better, and tweak perf
31969         * lib/memcoll.c (strcoll_loop, memcoll0):
31970         Improve quality of descriptive comments.  Name variables
31971         consistently as to whether they are lengths (which do not include
31972         terminating null) versus sizes (which do).
31973         * lib/xmemcoll.c (xmemcoll0): Likewise.
31974         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31975         returned when s1size == 0; this is easier to compile and saves
31976         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31977
31978 2010-07-12  Bruno Haible  <bruno@clisp.org>
31979
31980         Tests for module '_Exit'.
31981         * modules/_Exit-tests: New file.
31982         * tests/test-_Exit.sh: New file.
31983         * tests/test-_Exit.c: New file.
31984
31985         New module '_Exit'.
31986         * lib/stdlib.in.h (__attribute__): New macro.
31987         (_Exit): New declaration.
31988         * lib/_Exit.c: New file.
31989         * m4/_Exit.m4: New file.
31990         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31991         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31992         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31993         * modules/_Exit: New file.
31994         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31995         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31996
31997 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31998
31999         strtod: make it more-accurate typically, and don't require libm
32000         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
32001         Include limits.h.  Don't include string.h.
32002         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
32003         (locale_isspace): New function, so that no casts are needed to
32004         check whether *s is a space.
32005         (ldexp): Provide an unused dummy if not available.
32006         (scale_radix_exp, parse_number, underlying_strtod): New functions.
32007         (strtod): Use them.  This implementation prefers to use the
32008         underlying strtod if available, falling back on our own code
32009         only to fix known bugs.  This is more likely to produce an
32010         accurate result.  Also, it avoids the use of libm functions.
32011         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
32012         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
32013         was absent, but it caused a test failure with coreutils.
32014         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
32015         with libm.
32016         * modules/strtod (Makefile.am, Link): libm is no longer needed.
32017         * modules/strtod-tests (Makefile.am): Likewise.
32018
32019 2010-07-11  Pádraig Brady  <P@draigBrady.com>
32020             Bruno Haible  <bruno@clisp.org>
32021
32022         unistr/u8-strchr: Optimize ASCII argument case.
32023         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
32024
32025 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
32026
32027         (x)memcoll: minor tweaks
32028         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
32029         is after the type that it qualifies.
32030         (memcoll0): Likewise.
32031         * lib/memcoll.h (memcoll0): Likewise.
32032         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
32033         * lib/xmemcoll.h (xmemcoll0): Likewise.
32034         * lib/memcoll.c (memcoll0): Correct the comment.  This function
32035         differs from memcoll in that the NUL byte is part of the argument.
32036         Omit the abort-checks, as performance is a real issue here.  Plus,
32037         the checks were wrong anyway (an off-by-one error).  Omit local
32038         variable 'diff', as it's a bit clearer that way.
32039         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
32040         no longer needed.
32041
32042 2010-07-08  Chen Guo <chenguo4@yahoo.com>
32043
32044         (x)memcoll: speedup when input is known to be NUL delimited
32045         * lib/memcoll.c: Include stdlib.
32046         (memcoll0): New function.
32047         (strcoll_loop): New function, refactored for use in both memcoll
32048         and memcoll0.
32049         * lib/memcoll.h (memcoll0): Add prototype.
32050         * lib/xmemcoll.c (xmemcoll0): New function.
32051         (collate_error): New function, refactored for use in both xmemcoll
32052         and xmemcoll0.
32053         * lib/xmemcoll.h (xmemcoll0): Add prototype.
32054         * m4/memcoll.m4: add inline invocation.
32055
32056 2010-07-06  Pádraig Brady  <P@draigBrady.com>
32057
32058         * build-aux/bootstrap: Remove any local translations
32059         from the translation project synchronization directory,
32060         so that local only translations are not distributed.
32061
32062 2010-07-04  Bruno Haible  <bruno@clisp.org>
32063
32064         fsusage: Clarify which code applies to which platforms.
32065         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
32066         platform.
32067         * lib/fsusage.c (get_fs_usage): Likewise.
32068
32069 2010-07-04  Bruno Haible  <bruno@clisp.org>
32070
32071         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
32072         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
32073         Reported by Martin Lambers <marlam@marlam.de>.
32074
32075 2010-07-04  Jim Meyering  <meyering@redhat.com>
32076
32077         hash: once again explicitly disallow insertion of NULL
32078         * lib/hash.c (hash_insert0): Reinstate just-removed test:
32079         inserting a NULL pointer cannot work with these functions.
32080         Add a comment with details.
32081         This reverts part of the 2010-07-01 commit, 5bef1a35
32082         "hash: extend module to deal with non-pointer keys".
32083
32084 2010-07-01  Bruno Haible  <bruno@clisp.org>
32085
32086         stdbool: Update doc.
32087         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
32088         Info from Christian Weisgerber <naddy@mips.inka.de>.
32089
32090 2010-07-01  Jim Meyering  <meyering@redhat.com>
32091
32092         hash: extend module to deal with non-pointer keys
32093         * lib/hash.c (hash_insert0): New interface, much like hash_insert
32094         but that allows insertion of non-pointer entries.
32095         Do not disallow an ENTRY value of NULL.
32096         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
32097         * lib/hash.h (hash_insert0): Declare.
32098
32099 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
32100
32101         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
32102         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
32103         not present (i.e. with autoconf 2.59 and when using gettextize, not
32104         gnulib), require AC_GNU_SOURCE instead.
32105
32106 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
32107
32108         idpriv-drop: Fix tests.
32109         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
32110         not to the test-idpriv-droptemp program.
32111
32112 2010-06-29  Bruno Haible  <bruno@clisp.org>
32113
32114         string: Fix syntax error with g++ 2.96.
32115         * lib/string.in.h (__pure__): Remove definition.
32116         (_GL_ATTRIBUTE_PURE): New macro.
32117         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
32118         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
32119         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32120
32121 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
32122
32123         unitypes: Fix bug introduced on 2010-05-18.
32124         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
32125
32126 2010-06-22  Eric Blake  <eblake@redhat.com>
32127
32128         memmem: slight optimization
32129         * lib/str-two-way.h (critical_factorization): Update comments.
32130         Reduce work during factorization phase.
32131         Reported by Carlos Bueno <carlos@bueno.org>.
32132
32133 2010-06-21  Bruno Haible  <bruno@clisp.org>
32134
32135         Fix HAVE_CALLOC_POSIX misnomer.
32136         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
32137         !HAVE_CALLOC_POSIX.
32138         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
32139         HAVE_CALLOC_POSIX.
32140         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
32141         instead of HAVE_CALLOC_POSIX.
32142         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
32143         HAVE_CALLOC_POSIX.
32144
32145         Use modern idiom for calloc() replacement.
32146         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
32147         AC_FUNC_CALLOC.
32148         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
32149         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
32150         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32151         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
32152         (gl_REPLACE_CALLOC): New macro.
32153
32154 2010-06-21  Bruno Haible  <bruno@clisp.org>
32155
32156         Fix HAVE_REALLOC_POSIX misnomer.
32157         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
32158         !HAVE_REALLOC_POSIX.
32159         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
32160         HAVE_REALLOC_POSIX.
32161         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
32162         instead of HAVE_REALLOC_POSIX.
32163         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
32164         HAVE_REALLOC_POSIX.
32165
32166         Use modern idiom for realloc() replacement.
32167         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
32168         AC_FUNC_REALLOC.
32169         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
32170         Autoconf's AC_FUNC_REALLOC.
32171         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32172         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
32173         (gl_REPLACE_REALLOC): New macro.
32174         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32175
32176 2010-06-21  Bruno Haible  <bruno@clisp.org>
32177
32178         Fix HAVE_MALLOC_POSIX misnomer.
32179         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
32180         !HAVE_MALLOC_POSIX.
32181         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
32182         HAVE_MALLOC_POSIX.
32183         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
32184         instead of HAVE_MALLOC_POSIX.
32185         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
32186         HAVE_MALLOC_POSIX.
32187
32188         Use modern idiom for malloc() replacement.
32189         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
32190         AC_FUNC_MALLOC.
32191         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
32192         Autoconf's AC_FUNC_MALLOC.
32193         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32194         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
32195         (gl_REPLACE_MALLOC): New macro.
32196         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32197
32198 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
32199
32200         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
32201         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
32202         This macro takes 3 arguments, not 4.
32203
32204 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
32205
32206         ipv6: fix detection under mingw
32207         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
32208         in6_addr.
32209
32210 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
32211
32212         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
32213         that strtod() works when cross-compiling to a glibc version known
32214         to work.
32215
32216 2010-06-15  Bruno Haible  <bruno@clisp.org>
32217
32218         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
32219
32220 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
32221
32222         select: Correct timeout.
32223         * lib/select.c (rpl_select): Compute wait_timeout correctly.
32224
32225 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32226
32227         git-version-gen: init shell var to avoid env var influence
32228         * build-aux/git-version-gen (v): Init shell var to empty.
32229
32230 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32231
32232         priv-set: Don't assume that priv.h exists merely because getppriv does.
32233         See Jan Andersen's bug report about AIX 5L in
32234         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
32235         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
32236         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
32237         * lib/priv-set.h: Likewise.
32238         * tests/test-priv-set.c: Likewise.
32239
32240 2010-06-13  Bruno Haible  <bruno@clisp.org>
32241
32242         relocatable: Make it easier to test whether to install wrappers.
32243         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
32244         RELOCATABLE_VIA_WRAPPER.
32245
32246 2010-06-13  Bruno Haible  <bruno@clisp.org>
32247
32248         gnulib-tool: Display specified modules and dependencies differently.
32249         * gnulib-tool (func_show_module_list): New function.
32250         (func_import, func_create_testdir): Invoke it.
32251         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32252
32253 2010-06-13  Bruno Haible  <bruno@clisp.org>
32254
32255         gnulib-tool: Align code of func_import and func_create_testdir.
32256         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
32257         specified_modules.
32258
32259 2010-06-12  Jim Meyering  <meyering@redhat.com>
32260
32261         test-inttostr: avoid spurious failure on Solaris 9
32262         * tests/test-inttostr.c (main): Skip the test when snprintf fails
32263         to accept "%ju".  Reported by Bruno Haible.
32264
32265 2010-06-11  Jim Meyering  <meyering@redhat.com>
32266
32267         test-sys_socket: mark variables as used more readably
32268         * tests/test-sys_socket.c (main): Mark otherwise unused variables
32269         as "used" explicitly via (void) statement casts.  This is more
32270         readable than using them in an artificial return expression.
32271         Suggestion from Bruno Haible.
32272
32273 2010-06-11  Bruno Haible  <bruno@clisp.org>
32274
32275         Avoid some more warnings from "gcc -Wwrite-strings".
32276         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
32277         to 'const char *'.
32278         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
32279         * tests/test-c-strcasestr.c (main): Likewise.
32280         * tests/test-mbscasestr1.c (main): Likewise.
32281         * tests/test-mbscasestr2.c (main): Likewise.
32282         * tests/test-memmem.c (main): Likewise.
32283         * tests/test-strstr.c (main): Likewise.
32284         * tests/test-strcasestr.c (main): Likewise.
32285
32286 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32287
32288         init.sh: change framework_failure_ to fail with status 99, not 1
32289         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
32290         automake's parallel-tests rule that this is an unexpected failure,
32291         even if the test is listed in XFAIL_TESTS.
32292
32293 2010-06-11  Jim Meyering  <meyering@redhat.com>
32294
32295         test-inttostr: avoid warnings about 4-6KB literal strings
32296         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
32297         Include "macros.h", for its definition of ASSERT.
32298         (CK): s/assert/ASSERT/
32299         * modules/inttostr-tests (Files): Add macros.h.
32300
32301         init.sh: don't use $ME_ or skip_ before they are defined
32302         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
32303         their first uses.  Also hoist their companions: warn_, fail_,
32304         framework_failure_, $stderr_fileno.  Prompted by a patch from
32305         Stefano Lattarini.
32306
32307         test-sys_socket: avoid set-but-not-used warnings from gcc
32308         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
32309         avoid warning about set-but-not-used variables.
32310
32311         test-xvasprintf: avoid 'const' discard warnings
32312         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
32313         "const" when assigning from literal strings.
32314         (test_xasprintf): Add "void" in function argument list to placate
32315         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
32316
32317         tests: avoid compilation warnings in argmatch and exclude tests...
32318         in packages that define ARGMATCH_DIE_DECL, like coreutils.
32319         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
32320         Since it always exits, declare with the "noreturn" attribute.
32321         * tests/test-argmatch.c: Likewise.
32322
32323         tests: avoid 'const' discard warnings in mbsstr tests
32324         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
32325         * tests/test-mbsstr2.c (main): Likewise.
32326
32327         test-verify: avoid warning from gcc's -Wmissing-declarations
32328         * tests/test-verify.c (function): Declare to be static.
32329
32330         test-inttostr.c: include <string.h> for use of strcmp
32331         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
32332
32333         test-linkat: avoid failed assertion on "other" architectures
32334         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
32335         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
32336         sparc: https://bugs.launchpad.net/bugs/591968
32337
32338 2010-06-11  Jim Meyering  <meyering@redhat.com>
32339
32340         printf.m4: avoid autoconf's "Expanded Before Required" warning
32341         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
32342         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
32343         autoconf warning.
32344
32345 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
32346
32347         Replacement header templates are now named with ".in", not "_".
32348         * doc/gnulib-intro.texi: Correct.
32349
32350 2010-06-10  Jim Meyering  <meyering@redhat.com>
32351
32352         inttostr-tests: depend on snprintf, not snprintf-posix
32353         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
32354         snprintf-posix, to avoid this aclocal failure:
32355           missing file gnulib-tests/vasnprintf.c
32356           configure.ac:45: error: expected source file, required through \
32357           AC_LIBSOURCES, not found
32358
32359 2010-06-10  Jim Meyering  <meyering@redhat.com>
32360
32361         inttostr: add a new function, inttostr, and tests
32362         The namesake function was not available.  The existence of the
32363         template file, inttostr.c makes its addition nontrivial.
32364         * lib/anytostr.c: Rename from inttostr.c.
32365         (anytostr): Rename from inttostr.
32366         * lib/inttostr.c: New file.
32367         * modules/inttostr (Files): Add anytostr.c.
32368         (Makefile.am): Set lib_SOURCES instead of ...
32369         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
32370         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
32371         * lib/offtostr.c: Likewise.
32372         * lib/uinttostr.c: Likewise.
32373         * lib/umaxtostr.c: Likewise.
32374         * modules/inttostr-tests: New file.
32375         * tests/test-inttostr.c: New file.  Test these functions.
32376
32377 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
32378             Bruno Haible  <bruno@clisp.org>
32379
32380         Add "Extending Gnulib" chapter to manual.
32381         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
32382         chapter.
32383         (Extending Gnulib): New chapter.
32384         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
32385         chapter.
32386
32387 2010-06-09  Bruno Haible  <bruno@clisp.org>
32388
32389         Avoid relocwrapper link errors due to gnulib replacement functions.
32390         * lib/areadlink.c: Use the system's malloc, realloc functions.
32391         (areadlink): Set errno to ENOMEM explicitly.
32392         * modules/areadlink (Depends-on): Remove malloc-posix.
32393         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32394
32395 2010-06-09  Bruno Haible  <bruno@clisp.org>
32396
32397         Avoid relocwrapper link errors due to gnulib replacement functions.
32398         * lib/canonicalize-lgpl.c: Use the system's malloc function.
32399         * lib/malloca.c: Likewise.
32400         * lib/relocatable.c: Likewise.
32401         * lib/progreloc.c: Use the system's malloc, sprintf functions.
32402         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
32403         * lib/setenv.c: Use the system's malloc, realloc functions.
32404         * lib/strerror.c: Use the system's sprintf function.
32405         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32406
32407 2010-06-04  Bruno Haible  <bruno@clisp.org>
32408
32409         Prefer documented low-level autoconf macro names.
32410         * m4/lib-link.m4: Use m4_translit instead of translit.
32411         * m4/environ.m4: Likewise.
32412         * m4/mathfunc.m4: Likewise.
32413         * m4/onceonly.m4: Likewise.
32414         * m4/stdint.m4: Likewise.
32415         Suggested by Eric Blake.
32416
32417 2010-06-04  Martin Lambers  <marlam@marlam.de>
32418             Bruno Haible  <bruno@clisp.org>
32419
32420         havelib: Allow library names with '+' characters.
32421         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32422         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
32423
32424 2010-06-09  Bruno Haible  <bruno@clisp.org>
32425
32426         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
32427         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
32428         realloc failed.
32429
32430 2010-06-08  Peter Simons  <simons@cryp.to>
32431
32432         maint.mk: make the news-check rule more configurable
32433         * top/maint.mk (news-check-lines-spec): New variable.
32434         (news-check): Use "sed -n 1,10p" in place of "head".
32435
32436 2010-06-07  Jim Meyering  <meyering@redhat.com>
32437
32438         do-release-commit-and-tag: fix typo in --help
32439         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
32440
32441         regex: avoid new dead-code warning with gcc-4.6.0
32442         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
32443         if-block containing a while-loop.  It's been unused for at least
32444         5 years.
32445
32446 2010-06-05  Bruno Haible  <bruno@clisp.org>
32447
32448         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
32449         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
32450
32451 2010-06-04  Bruno Haible  <bruno@clisp.org>
32452
32453         Update to GNU gettext 0.18.1.
32454         * modules/gettext (configure.ac): Require gettext infrastructure from
32455         version 0.18.1.
32456
32457 2010-06-03  Bruno Haible  <bruno@clisp.org>
32458
32459         Don't use AC_LIBOBJ with file names in subdirectories.
32460         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32461         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32462         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32463         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32464         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32465         gl_LIBUNISTRING_LIBSOURCE.
32466         (Makefile.am): Augment lib_SOURCES here, conditionally.
32467         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32468
32469 2010-06-03  Bruno Haible  <bruno@clisp.org>
32470
32471         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32472         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32473         expansion does not end with a newline.
32474         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32475         unnecessary newline.
32476
32477 2010-06-03  Bruno Haible  <bruno@clisp.org>
32478
32479         Reduce dependencies.
32480         * tests/test-quotearg.h: New file, extracted from
32481         tests/test-quotearg.c.
32482         * tests/test-quotearg-simple.c: New file, extracted from
32483         tests/test-quotearg.c.
32484         * tests/test-quotearg.c: Don't include <ctype.h>.
32485         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32486         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32487         use_quote_double_quotes, use_quotearg_colon): Moved to
32488         tests/test-quotearg.h.
32489         (results_g, flag_results, custom_quotes, custom_results): Moved
32490         to tests/test-quotearg-simple.c.
32491         (main): Moved the part that does not depend on gettext to
32492         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32493         performed.
32494         * modules/quotearg-simple: New file.
32495         * modules/quotearg-simple-tests: New file.
32496         * modules/quotearg (Depends-on): Add quotearg-simple.
32497         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32498         (Files): Add tests/test-quotearg.h.
32499         Reported by Paolo Bonzini.
32500
32501 2010-06-03  Bruno Haible  <bruno@clisp.org>
32502
32503         Reduce dependencies.
32504         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32505
32506 2010-06-03  Bruno Haible  <bruno@clisp.org>
32507
32508         time: Undefine more broken macros.
32509         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32510         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32511         Reported by Eric Blake.
32512
32513 2010-06-03  Bruno Haible  <bruno@clisp.org>
32514
32515         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32516         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32517         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32518         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32519         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32520         Reported by Ludovic Courtès <ludo@gnu.org>.
32521
32522 2010-06-02  Eric Blake  <eblake@redhat.com>
32523
32524         time: work with mingw + pthreads-win32 library
32525         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32526         if timespec is defined only in pthread.h.
32527         * modules/time (Makefile.am): Substitute it.
32528         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32529         <pthread.h>, when needed.
32530         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32531         from the library.
32532
32533 2010-05-31  Bruno Haible  <bruno@clisp.org>
32534
32535         Avoid expanding two macros in the wrong order.
32536         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32537         gl_LIBUNISTRING if it is defined.
32538         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32539         autoconf >= 2.64.
32540         Reported by Ludovic Courtès <ludo@gnu.org>.
32541
32542 2010-05-27  Jim Meyering  <meyering@redhat.com>
32543
32544         maint.mk: also prohibit "#undef" of always-defined symbols
32545         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32546         Allow more than one space before the symbol name.
32547         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32548         the regexp uses alternation.
32549
32550 2010-05-26  Eric Blake  <eblake@redhat.com>
32551
32552         maint.mk: avoid echo -e
32553         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32554         Convert all uses of echo -* to printf.
32555         Reported by Matthias Bolte.
32556
32557 2010-05-25  Bruno Haible  <bruno@clisp.org>
32558
32559         Update to GNU gettext 0.18, part 2.
32560         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32561         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32562
32563 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32564
32565         Add missing include in test-pwrite.c.
32566         * tests/test-pwrite.c: Include string.h, for strcmp.
32567
32568 2010-05-24  Bruno Haible  <bruno@clisp.org>
32569
32570         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32571
32572 2010-05-24  Bruno Haible  <bruno@clisp.org>
32573
32574         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32575         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32576         iconveh_error argument.
32577         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32578         U_STRCONV_TO_LOCALE.
32579         * lib/unistr/u16-strcoll.c: Likewise.
32580         * lib/unistr/u32-strcoll.c: Likewise.
32581         * modules/unistr/u8-strcoll (Depends-on): Add
32582         uniconv/u8-strconv-to-enc, localcharset. Remove
32583         uniconv/u8-strconv-to-locale.
32584         (configure.ac): Bump version number.
32585         * modules/unistr/u16-strcoll (Depends-on): Add
32586         uniconv/u16-strconv-to-enc, localcharset. Remove
32587         uniconv/u16-strconv-to-locale.
32588         (configure.ac): Bump version number.
32589         * modules/unistr/u32-strcoll (Depends-on): Add
32590         uniconv/u32-strconv-to-enc, localcharset. Remove
32591         uniconv/u32-strconv-to-locale.
32592         (configure.ac): Bump version number.
32593
32594 2010-05-24  Bruno Haible  <bruno@clisp.org>
32595
32596         Avoid a test failure on NetBSD 5.0.
32597         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32598         an iconv() bug.
32599
32600 2010-05-24  Bruno Haible  <bruno@clisp.org>
32601
32602         Adjust #include directive style.
32603         * modules/regex (Includes): Recommend to write <regex.h>.
32604
32605 2010-05-24  Bruno Haible  <bruno@clisp.org>
32606
32607         regex: Don't require alloca.
32608         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32609         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32610         only inside if (0).
32611
32612 2010-05-23  Jim Meyering  <meyering@redhat.com>
32613
32614         test-renameat.c: include <sys/stat.h>
32615         * tests/test-renameat.c: Include <sys/stat.h>; required for
32616         definition of S_IS* macros.
32617
32618 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32619
32620         Update maintainer documentation for 'relocatable-prog' module.
32621         * doc/relocatable-maint.texi: Update.
32622         Comments by Bruno Haible.
32623
32624 2010-05-23  Bruno Haible  <bruno@clisp.org>
32625
32626         git-merge-changelog: Enable --split-merged-entry by default.
32627         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32628         (usage): Don't mention this option any more.
32629         Reported by Ralf Wildenhues.
32630
32631 2010-05-23  Jim Meyering  <meyering@redhat.com>
32632
32633         test-pwrite: do not leave behind a test file named "out"
32634         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32635         The trivial-looking use of init.sh is really necessary.
32636         It ensures that the temporary file, "out", is created in
32637         a temporary directory, and removed upon termination.
32638         * tests/test-pwrite.sh: Re-add file.
32639         * modules/pwrite-tests: Reference it.
32640
32641 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32642
32643         Fix output redirection buglet in init.sh.
32644         * tests/init.sh: Fix redirection of stderr.
32645
32646 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32647
32648         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32649
32650 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32651
32652         * modules/valgrind-tests: New file.
32653         * m4/valgrind-tests.m4: New file.
32654         * doc/valgrind-tests.texi: New file.
32655         * doc/gnulib.texi (Running self-tests under valgrind): New
32656         section.
32657
32658 2010-05-19  Bruno Haible  <bruno@clisp.org>
32659
32660         Clean up dead code in recent commit.
32661         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32662         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32663         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32664         Suggested by Paolo Bonzini.
32665
32666 2010-05-19  Bruno Haible  <bruno@clisp.org>
32667
32668         Avoid valgrind error reports from libunistring.
32669         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32670         * modules/libunistring (Files): Add it.
32671         * modules/libunistring-optional (Files): Likewise.
32672
32673 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32674             Bruno Haible  <bruno@clisp.org>
32675
32676         New module 'libunistring-optional'.
32677         * modules/libunistring-optional: New file.
32678         * m4/libunistring-base.m4: New file.
32679         * m4/libunistring-optional.m4: New file.
32680         * lib/unicase.in.h: Renamed from lib/unicase.h.
32681         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32682         * lib/unictype.in.h: Renamed from lib/unictype.h.
32683         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32684         * lib/uniname.in.h: Renamed from lib/uniname.h.
32685         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32686         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32687         * lib/unistr.in.h: Renamed from lib/unistr.h.
32688         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32689         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32690         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32691         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32692         gl_LIBUNISTRING. If the library was found, determine the installed
32693         version and set LIBUNISTRING_VERSION.
32694         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32695         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32696         handle a configuration option --with-included-libunistring.
32697         * modules/libunistring (Files): Add m4/absolute-header.m4.
32698         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32699         Add m4/libunistring-base.m4.
32700         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32701         (Makefile.am): Build unicase.h from unicase.in.h.
32702         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32703         Add m4/libunistring-base.m4.
32704         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32705         (Makefile.am): Build uniconv.h from uniconv.in.h.
32706         * modules/unictype/base (Files): Use unictype.in.h instead of
32707         unictype.h. Add m4/libunistring-base.m4.
32708         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32709         (Makefile.am): Build unictype.h from unictype.in.h.
32710         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32711         Add m4/libunistring-base.m4.
32712         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32713         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32714         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32715         Add m4/libunistring-base.m4.
32716         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32717         (Makefile.am): Build uniname.h from uniname.in.h.
32718         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32719         Add m4/libunistring-base.m4.
32720         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32721         (Makefile.am): Build uninorm.h from uninorm.in.h.
32722         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32723         unistdio.h. Add m4/libunistring-base.m4.
32724         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32725         (Makefile.am): Build unistdio.h from unistdio.in.h.
32726         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32727         Add m4/libunistring-base.m4.
32728         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32729         (Makefile.am): Build unistr.h from unistr.in.h.
32730         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32731         Add m4/libunistring-base.m4.
32732         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32733         (Makefile.am): Build unitypes.h from unitypes.in.h.
32734         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32735         Add m4/libunistring-base.m4.
32736         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32737         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32738         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32739         uniwidth.h. Add m4/libunistring-base.m4.
32740         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32741         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32742         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32743         instead of augmenting lib_SOURCES.
32744         * modules/unicase/empty-suffix-context: Likewise.
32745         * modules/unicase/locale-language: Likewise.
32746         * modules/unicase/tolower: Likewise.
32747         * modules/unicase/totitle: Likewise.
32748         * modules/unicase/toupper: Likewise.
32749         * modules/unicase/u8-casecmp: Likewise.
32750         * modules/unicase/u8-casecoll: Likewise.
32751         * modules/unicase/u8-casefold: Likewise.
32752         * modules/unicase/u8-casexfrm: Likewise.
32753         * modules/unicase/u8-ct-casefold: Likewise.
32754         * modules/unicase/u8-ct-tolower: Likewise.
32755         * modules/unicase/u8-ct-totitle: Likewise.
32756         * modules/unicase/u8-ct-toupper: Likewise.
32757         * modules/unicase/u8-is-cased: Likewise.
32758         * modules/unicase/u8-is-casefolded: Likewise.
32759         * modules/unicase/u8-is-lowercase: Likewise.
32760         * modules/unicase/u8-is-titlecase: Likewise.
32761         * modules/unicase/u8-is-uppercase: Likewise.
32762         * modules/unicase/u8-prefix-context: Likewise.
32763         * modules/unicase/u8-suffix-context: Likewise.
32764         * modules/unicase/u8-tolower: Likewise.
32765         * modules/unicase/u8-totitle: Likewise.
32766         * modules/unicase/u8-toupper: Likewise.
32767         * modules/unicase/u16-casecmp: Likewise.
32768         * modules/unicase/u16-casecoll: Likewise.
32769         * modules/unicase/u16-casefold: Likewise.
32770         * modules/unicase/u16-casexfrm: Likewise.
32771         * modules/unicase/u16-ct-casefold: Likewise.
32772         * modules/unicase/u16-ct-tolower: Likewise.
32773         * modules/unicase/u16-ct-totitle: Likewise.
32774         * modules/unicase/u16-ct-toupper: Likewise.
32775         * modules/unicase/u16-is-cased: Likewise.
32776         * modules/unicase/u16-is-casefolded: Likewise.
32777         * modules/unicase/u16-is-lowercase: Likewise.
32778         * modules/unicase/u16-is-titlecase: Likewise.
32779         * modules/unicase/u16-is-uppercase: Likewise.
32780         * modules/unicase/u16-prefix-context: Likewise.
32781         * modules/unicase/u16-suffix-context: Likewise.
32782         * modules/unicase/u16-tolower: Likewise.
32783         * modules/unicase/u16-totitle: Likewise.
32784         * modules/unicase/u16-toupper: Likewise.
32785         * modules/unicase/u32-casecmp: Likewise.
32786         * modules/unicase/u32-casecoll: Likewise.
32787         * modules/unicase/u32-casefold: Likewise.
32788         * modules/unicase/u32-casexfrm: Likewise.
32789         * modules/unicase/u32-ct-casefold: Likewise.
32790         * modules/unicase/u32-ct-tolower: Likewise.
32791         * modules/unicase/u32-ct-totitle: Likewise.
32792         * modules/unicase/u32-ct-toupper: Likewise.
32793         * modules/unicase/u32-is-cased: Likewise.
32794         * modules/unicase/u32-is-casefolded: Likewise.
32795         * modules/unicase/u32-is-lowercase: Likewise.
32796         * modules/unicase/u32-is-titlecase: Likewise.
32797         * modules/unicase/u32-is-uppercase: Likewise.
32798         * modules/unicase/u32-prefix-context: Likewise.
32799         * modules/unicase/u32-suffix-context: Likewise.
32800         * modules/unicase/u32-tolower: Likewise.
32801         * modules/unicase/u32-totitle: Likewise.
32802         * modules/unicase/u32-toupper: Likewise.
32803         * modules/unicase/ulc-casecmp: Likewise.
32804         * modules/unicase/ulc-casecoll: Likewise.
32805         * modules/unicase/ulc-casexfrm: Likewise.
32806         * modules/uniconv/u8-conv-from-enc: Likewise.
32807         * modules/uniconv/u8-conv-to-enc: Likewise.
32808         * modules/uniconv/u8-strconv-from-enc: Likewise.
32809         * modules/uniconv/u8-strconv-from-locale: Likewise.
32810         * modules/uniconv/u8-strconv-to-enc: Likewise.
32811         * modules/uniconv/u8-strconv-to-locale: Likewise.
32812         * modules/uniconv/u16-conv-from-enc: Likewise.
32813         * modules/uniconv/u16-conv-to-enc: Likewise.
32814         * modules/uniconv/u16-strconv-from-enc: Likewise.
32815         * modules/uniconv/u16-strconv-from-locale: Likewise.
32816         * modules/uniconv/u16-strconv-to-enc: Likewise.
32817         * modules/uniconv/u16-strconv-to-locale: Likewise.
32818         * modules/uniconv/u32-conv-from-enc: Likewise.
32819         * modules/uniconv/u32-conv-to-enc: Likewise.
32820         * modules/uniconv/u32-strconv-from-enc: Likewise.
32821         * modules/uniconv/u32-strconv-from-locale: Likewise.
32822         * modules/uniconv/u32-strconv-to-enc: Likewise.
32823         * modules/uniconv/u32-strconv-to-locale: Likewise.
32824         * modules/unictype/bidicategory-byname: Likewise.
32825         * modules/unictype/bidicategory-name: Likewise.
32826         * modules/unictype/bidicategory-of: Likewise.
32827         * modules/unictype/bidicategory-test: Likewise.
32828         * modules/unictype/block-list: Likewise.
32829         * modules/unictype/block-test: Likewise.
32830         * modules/unictype/category-C: Likewise.
32831         * modules/unictype/category-Cc: Likewise.
32832         * modules/unictype/category-Cf: Likewise.
32833         * modules/unictype/category-Cn: Likewise.
32834         * modules/unictype/category-Co: Likewise.
32835         * modules/unictype/category-Cs: Likewise.
32836         * modules/unictype/category-L: Likewise.
32837         * modules/unictype/category-Ll: Likewise.
32838         * modules/unictype/category-Lm: Likewise.
32839         * modules/unictype/category-Lo: Likewise.
32840         * modules/unictype/category-Lt: Likewise.
32841         * modules/unictype/category-Lu: Likewise.
32842         * modules/unictype/category-M: Likewise.
32843         * modules/unictype/category-Mc: Likewise.
32844         * modules/unictype/category-Me: Likewise.
32845         * modules/unictype/category-Mn: Likewise.
32846         * modules/unictype/category-N: Likewise.
32847         * modules/unictype/category-Nd: Likewise.
32848         * modules/unictype/category-Nl: Likewise.
32849         * modules/unictype/category-No: Likewise.
32850         * modules/unictype/category-P: Likewise.
32851         * modules/unictype/category-Pc: Likewise.
32852         * modules/unictype/category-Pd: Likewise.
32853         * modules/unictype/category-Pe: Likewise.
32854         * modules/unictype/category-Pf: Likewise.
32855         * modules/unictype/category-Pi: Likewise.
32856         * modules/unictype/category-Po: Likewise.
32857         * modules/unictype/category-Ps: Likewise.
32858         * modules/unictype/category-S: Likewise.
32859         * modules/unictype/category-Sc: Likewise.
32860         * modules/unictype/category-Sk: Likewise.
32861         * modules/unictype/category-Sm: Likewise.
32862         * modules/unictype/category-So: Likewise.
32863         * modules/unictype/category-Z: Likewise.
32864         * modules/unictype/category-Zl: Likewise.
32865         * modules/unictype/category-Zp: Likewise.
32866         * modules/unictype/category-Zs: Likewise.
32867         * modules/unictype/category-and: Likewise.
32868         * modules/unictype/category-and-not: Likewise.
32869         * modules/unictype/category-byname: Likewise.
32870         * modules/unictype/category-name: Likewise.
32871         * modules/unictype/category-none: Likewise.
32872         * modules/unictype/category-of: Likewise.
32873         * modules/unictype/category-or: Likewise.
32874         * modules/unictype/category-test: Likewise.
32875         * modules/unictype/combining-class: Likewise.
32876         * modules/unictype/ctype-alnum: Likewise.
32877         * modules/unictype/ctype-alpha: Likewise.
32878         * modules/unictype/ctype-blank: Likewise.
32879         * modules/unictype/ctype-cntrl: Likewise.
32880         * modules/unictype/ctype-digit: Likewise.
32881         * modules/unictype/ctype-graph: Likewise.
32882         * modules/unictype/ctype-lower: Likewise.
32883         * modules/unictype/ctype-print: Likewise.
32884         * modules/unictype/ctype-punct: Likewise.
32885         * modules/unictype/ctype-space: Likewise.
32886         * modules/unictype/ctype-upper: Likewise.
32887         * modules/unictype/ctype-xdigit: Likewise.
32888         * modules/unictype/decimal-digit: Likewise.
32889         * modules/unictype/digit: Likewise.
32890         * modules/unictype/mirror: Likewise.
32891         * modules/unictype/numeric: Likewise.
32892         * modules/unictype/property-alphabetic: Likewise.
32893         * modules/unictype/property-ascii-hex-digit: Likewise.
32894         * modules/unictype/property-bidi-arabic-digit: Likewise.
32895         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32896         * modules/unictype/property-bidi-block-separator: Likewise.
32897         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32898         * modules/unictype/property-bidi-common-separator: Likewise.
32899         * modules/unictype/property-bidi-control: Likewise.
32900         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32901         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32902         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32903         * modules/unictype/property-bidi-european-digit: Likewise.
32904         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32905         * modules/unictype/property-bidi-left-to-right: Likewise.
32906         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32907         * modules/unictype/property-bidi-other-neutral: Likewise.
32908         * modules/unictype/property-bidi-pdf: Likewise.
32909         * modules/unictype/property-bidi-segment-separator: Likewise.
32910         * modules/unictype/property-bidi-whitespace: Likewise.
32911         * modules/unictype/property-byname: Likewise.
32912         * modules/unictype/property-combining: Likewise.
32913         * modules/unictype/property-composite: Likewise.
32914         * modules/unictype/property-currency-symbol: Likewise.
32915         * modules/unictype/property-dash: Likewise.
32916         * modules/unictype/property-decimal-digit: Likewise.
32917         * modules/unictype/property-default-ignorable-code-point: Likewise.
32918         * modules/unictype/property-deprecated: Likewise.
32919         * modules/unictype/property-diacritic: Likewise.
32920         * modules/unictype/property-extender: Likewise.
32921         * modules/unictype/property-format-control: Likewise.
32922         * modules/unictype/property-grapheme-base: Likewise.
32923         * modules/unictype/property-grapheme-extend: Likewise.
32924         * modules/unictype/property-grapheme-link: Likewise.
32925         * modules/unictype/property-hex-digit: Likewise.
32926         * modules/unictype/property-hyphen: Likewise.
32927         * modules/unictype/property-id-continue: Likewise.
32928         * modules/unictype/property-id-start: Likewise.
32929         * modules/unictype/property-ideographic: Likewise.
32930         * modules/unictype/property-ids-binary-operator: Likewise.
32931         * modules/unictype/property-ids-trinary-operator: Likewise.
32932         * modules/unictype/property-ignorable-control: Likewise.
32933         * modules/unictype/property-iso-control: Likewise.
32934         * modules/unictype/property-join-control: Likewise.
32935         * modules/unictype/property-left-of-pair: Likewise.
32936         * modules/unictype/property-line-separator: Likewise.
32937         * modules/unictype/property-logical-order-exception: Likewise.
32938         * modules/unictype/property-lowercase: Likewise.
32939         * modules/unictype/property-math: Likewise.
32940         * modules/unictype/property-non-break: Likewise.
32941         * modules/unictype/property-not-a-character: Likewise.
32942         * modules/unictype/property-numeric: Likewise.
32943         * modules/unictype/property-other-alphabetic: Likewise.
32944         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32945         * modules/unictype/property-other-grapheme-extend: Likewise.
32946         * modules/unictype/property-other-id-continue: Likewise.
32947         * modules/unictype/property-other-id-start: Likewise.
32948         * modules/unictype/property-other-lowercase: Likewise.
32949         * modules/unictype/property-other-math: Likewise.
32950         * modules/unictype/property-other-uppercase: Likewise.
32951         * modules/unictype/property-paired-punctuation: Likewise.
32952         * modules/unictype/property-paragraph-separator: Likewise.
32953         * modules/unictype/property-pattern-syntax: Likewise.
32954         * modules/unictype/property-pattern-white-space: Likewise.
32955         * modules/unictype/property-private-use: Likewise.
32956         * modules/unictype/property-punctuation: Likewise.
32957         * modules/unictype/property-quotation-mark: Likewise.
32958         * modules/unictype/property-radical: Likewise.
32959         * modules/unictype/property-sentence-terminal: Likewise.
32960         * modules/unictype/property-soft-dotted: Likewise.
32961         * modules/unictype/property-space: Likewise.
32962         * modules/unictype/property-terminal-punctuation: Likewise.
32963         * modules/unictype/property-test: Likewise.
32964         * modules/unictype/property-titlecase: Likewise.
32965         * modules/unictype/property-unassigned-code-value: Likewise.
32966         * modules/unictype/property-unified-ideograph: Likewise.
32967         * modules/unictype/property-uppercase: Likewise.
32968         * modules/unictype/property-variation-selector: Likewise.
32969         * modules/unictype/property-white-space: Likewise.
32970         * modules/unictype/property-xid-continue: Likewise.
32971         * modules/unictype/property-xid-start: Likewise.
32972         * modules/unictype/property-zero-width: Likewise.
32973         * modules/unictype/scripts: Likewise.
32974         * modules/unictype/syntax-c-ident: Likewise.
32975         * modules/unictype/syntax-c-whitespace: Likewise.
32976         * modules/unictype/syntax-java-ident: Likewise.
32977         * modules/unictype/syntax-java-whitespace: Likewise.
32978         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32979         * modules/unilbrk/u8-width-linebreaks: Likewise.
32980         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32981         * modules/unilbrk/u16-width-linebreaks: Likewise.
32982         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32983         * modules/unilbrk/u32-width-linebreaks: Likewise.
32984         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32985         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32986         * modules/uniname/uniname: Likewise.
32987         * modules/uninorm/canonical-decomposition: Likewise.
32988         * modules/uninorm/composition: Likewise.
32989         * modules/uninorm/decomposing-form: Likewise.
32990         * modules/uninorm/decomposition: Likewise.
32991         * modules/uninorm/filter: Likewise.
32992         * modules/uninorm/nfc: Likewise.
32993         * modules/uninorm/nfd: Likewise.
32994         * modules/uninorm/nfkc: Likewise.
32995         * modules/uninorm/nfkd: Likewise.
32996         * modules/uninorm/u8-normalize: Likewise.
32997         * modules/uninorm/u8-normcmp: Likewise.
32998         * modules/uninorm/u8-normcoll: Likewise.
32999         * modules/uninorm/u8-normxfrm: Likewise.
33000         * modules/uninorm/u16-normalize: Likewise.
33001         * modules/uninorm/u16-normcmp: Likewise.
33002         * modules/uninorm/u16-normcoll: Likewise.
33003         * modules/uninorm/u16-normxfrm: Likewise.
33004         * modules/uninorm/u32-normalize: Likewise.
33005         * modules/uninorm/u32-normcmp: Likewise.
33006         * modules/uninorm/u32-normcoll: Likewise.
33007         * modules/uninorm/u32-normxfrm: Likewise.
33008         * modules/unistdio/u8-asnprintf: Likewise.
33009         * modules/unistdio/u8-asprintf: Likewise.
33010         * modules/unistdio/u8-snprintf: Likewise.
33011         * modules/unistdio/u8-sprintf: Likewise.
33012         * modules/unistdio/u8-u8-asnprintf: Likewise.
33013         * modules/unistdio/u8-u8-asprintf: Likewise.
33014         * modules/unistdio/u8-u8-snprintf: Likewise.
33015         * modules/unistdio/u8-u8-sprintf: Likewise.
33016         * modules/unistdio/u8-u8-vasnprintf: Likewise.
33017         * modules/unistdio/u8-u8-vasprintf: Likewise.
33018         * modules/unistdio/u8-u8-vsnprintf: Likewise.
33019         * modules/unistdio/u8-u8-vsprintf: Likewise.
33020         * modules/unistdio/u8-vasnprintf: Likewise.
33021         * modules/unistdio/u8-vasprintf: Likewise.
33022         * modules/unistdio/u8-vsnprintf: Likewise.
33023         * modules/unistdio/u8-vsprintf: Likewise.
33024         * modules/unistdio/u16-asnprintf: Likewise.
33025         * modules/unistdio/u16-asprintf: Likewise.
33026         * modules/unistdio/u16-snprintf: Likewise.
33027         * modules/unistdio/u16-sprintf: Likewise.
33028         * modules/unistdio/u16-u16-asnprintf: Likewise.
33029         * modules/unistdio/u16-u16-asprintf: Likewise.
33030         * modules/unistdio/u16-u16-snprintf: Likewise.
33031         * modules/unistdio/u16-u16-sprintf: Likewise.
33032         * modules/unistdio/u16-u16-vasnprintf: Likewise.
33033         * modules/unistdio/u16-u16-vasprintf: Likewise.
33034         * modules/unistdio/u16-u16-vsnprintf: Likewise.
33035         * modules/unistdio/u16-u16-vsprintf: Likewise.
33036         * modules/unistdio/u16-vasnprintf: Likewise.
33037         * modules/unistdio/u16-vasprintf: Likewise.
33038         * modules/unistdio/u16-vsnprintf: Likewise.
33039         * modules/unistdio/u16-vsprintf: Likewise.
33040         * modules/unistdio/u32-asnprintf: Likewise.
33041         * modules/unistdio/u32-asprintf: Likewise.
33042         * modules/unistdio/u32-snprintf: Likewise.
33043         * modules/unistdio/u32-sprintf: Likewise.
33044         * modules/unistdio/u32-u32-asnprintf: Likewise.
33045         * modules/unistdio/u32-u32-asprintf: Likewise.
33046         * modules/unistdio/u32-u32-snprintf: Likewise.
33047         * modules/unistdio/u32-u32-sprintf: Likewise.
33048         * modules/unistdio/u32-u32-vasnprintf: Likewise.
33049         * modules/unistdio/u32-u32-vasprintf: Likewise.
33050         * modules/unistdio/u32-u32-vsnprintf: Likewise.
33051         * modules/unistdio/u32-u32-vsprintf: Likewise.
33052         * modules/unistdio/u32-vasnprintf: Likewise.
33053         * modules/unistdio/u32-vasprintf: Likewise.
33054         * modules/unistdio/u32-vsnprintf: Likewise.
33055         * modules/unistdio/u32-vsprintf: Likewise.
33056         * modules/unistdio/ulc-asnprintf: Likewise.
33057         * modules/unistdio/ulc-asprintf: Likewise.
33058         * modules/unistdio/ulc-fprintf: Likewise.
33059         * modules/unistdio/ulc-snprintf: Likewise.
33060         * modules/unistdio/ulc-sprintf: Likewise.
33061         * modules/unistdio/ulc-vasnprintf: Likewise.
33062         * modules/unistdio/ulc-vasprintf: Likewise.
33063         * modules/unistdio/ulc-vfprintf: Likewise.
33064         * modules/unistdio/ulc-vsnprintf: Likewise.
33065         * modules/unistdio/ulc-vsprintf: Likewise.
33066         * modules/unistr/u8-check: Likewise.
33067         * modules/unistr/u8-chr: Likewise.
33068         * modules/unistr/u8-cmp: Likewise.
33069         * modules/unistr/u8-cmp2: Likewise.
33070         * modules/unistr/u8-cpy: Likewise.
33071         * modules/unistr/u8-cpy-alloc: Likewise.
33072         * modules/unistr/u8-endswith: Likewise.
33073         * modules/unistr/u8-mblen: Likewise.
33074         * modules/unistr/u8-mbsnlen: Likewise.
33075         * modules/unistr/u8-mbtouc: Likewise.
33076         * modules/unistr/u8-mbtouc-unsafe: Likewise.
33077         * modules/unistr/u8-mbtoucr: Likewise.
33078         * modules/unistr/u8-move: Likewise.
33079         * modules/unistr/u8-next: Likewise.
33080         * modules/unistr/u8-prev: Likewise.
33081         * modules/unistr/u8-set: Likewise.
33082         * modules/unistr/u8-startswith: Likewise.
33083         * modules/unistr/u8-stpcpy: Likewise.
33084         * modules/unistr/u8-stpncpy: Likewise.
33085         * modules/unistr/u8-strcat: Likewise.
33086         * modules/unistr/u8-strchr: Likewise.
33087         * modules/unistr/u8-strcmp: Likewise.
33088         * modules/unistr/u8-strcoll: Likewise.
33089         * modules/unistr/u8-strcpy: Likewise.
33090         * modules/unistr/u8-strcspn: Likewise.
33091         * modules/unistr/u8-strdup: Likewise.
33092         * modules/unistr/u8-strlen: Likewise.
33093         * modules/unistr/u8-strmblen: Likewise.
33094         * modules/unistr/u8-strmbtouc: Likewise.
33095         * modules/unistr/u8-strncat: Likewise.
33096         * modules/unistr/u8-strncmp: Likewise.
33097         * modules/unistr/u8-strncpy: Likewise.
33098         * modules/unistr/u8-strnlen: Likewise.
33099         * modules/unistr/u8-strpbrk: Likewise.
33100         * modules/unistr/u8-strrchr: Likewise.
33101         * modules/unistr/u8-strspn: Likewise.
33102         * modules/unistr/u8-strstr: Likewise.
33103         * modules/unistr/u8-strtok: Likewise.
33104         * modules/unistr/u8-to-u16: Likewise.
33105         * modules/unistr/u8-to-u32: Likewise.
33106         * modules/unistr/u8-uctomb: Likewise.
33107         * modules/unistr/u16-check: Likewise.
33108         * modules/unistr/u16-chr: Likewise.
33109         * modules/unistr/u16-cmp: Likewise.
33110         * modules/unistr/u16-cmp2: Likewise.
33111         * modules/unistr/u16-cpy: Likewise.
33112         * modules/unistr/u16-cpy-alloc: Likewise.
33113         * modules/unistr/u16-endswith: Likewise.
33114         * modules/unistr/u16-mblen: Likewise.
33115         * modules/unistr/u16-mbsnlen: Likewise.
33116         * modules/unistr/u16-mbtouc: Likewise.
33117         * modules/unistr/u16-mbtouc-unsafe: Likewise.
33118         * modules/unistr/u16-mbtoucr: Likewise.
33119         * modules/unistr/u16-move: Likewise.
33120         * modules/unistr/u16-next: Likewise.
33121         * modules/unistr/u16-prev: Likewise.
33122         * modules/unistr/u16-set: Likewise.
33123         * modules/unistr/u16-startswith: Likewise.
33124         * modules/unistr/u16-stpcpy: Likewise.
33125         * modules/unistr/u16-stpncpy: Likewise.
33126         * modules/unistr/u16-strcat: Likewise.
33127         * modules/unistr/u16-strchr: Likewise.
33128         * modules/unistr/u16-strcmp: Likewise.
33129         * modules/unistr/u16-strcoll: Likewise.
33130         * modules/unistr/u16-strcpy: Likewise.
33131         * modules/unistr/u16-strcspn: Likewise.
33132         * modules/unistr/u16-strdup: Likewise.
33133         * modules/unistr/u16-strlen: Likewise.
33134         * modules/unistr/u16-strmblen: Likewise.
33135         * modules/unistr/u16-strmbtouc: Likewise.
33136         * modules/unistr/u16-strncat: Likewise.
33137         * modules/unistr/u16-strncmp: Likewise.
33138         * modules/unistr/u16-strncpy: Likewise.
33139         * modules/unistr/u16-strnlen: Likewise.
33140         * modules/unistr/u16-strpbrk: Likewise.
33141         * modules/unistr/u16-strrchr: Likewise.
33142         * modules/unistr/u16-strspn: Likewise.
33143         * modules/unistr/u16-strstr: Likewise.
33144         * modules/unistr/u16-strtok: Likewise.
33145         * modules/unistr/u16-to-u32: Likewise.
33146         * modules/unistr/u16-to-u8: Likewise.
33147         * modules/unistr/u16-uctomb: Likewise.
33148         * modules/unistr/u32-check: Likewise.
33149         * modules/unistr/u32-chr: Likewise.
33150         * modules/unistr/u32-cmp: Likewise.
33151         * modules/unistr/u32-cmp2: Likewise.
33152         * modules/unistr/u32-cpy: Likewise.
33153         * modules/unistr/u32-cpy-alloc: Likewise.
33154         * modules/unistr/u32-endswith: Likewise.
33155         * modules/unistr/u32-mblen: Likewise.
33156         * modules/unistr/u32-mbsnlen: Likewise.
33157         * modules/unistr/u32-mbtouc: Likewise.
33158         * modules/unistr/u32-mbtouc-unsafe: Likewise.
33159         * modules/unistr/u32-mbtoucr: Likewise.
33160         * modules/unistr/u32-move: Likewise.
33161         * modules/unistr/u32-next: Likewise.
33162         * modules/unistr/u32-prev: Likewise.
33163         * modules/unistr/u32-set: Likewise.
33164         * modules/unistr/u32-startswith: Likewise.
33165         * modules/unistr/u32-stpcpy: Likewise.
33166         * modules/unistr/u32-stpncpy: Likewise.
33167         * modules/unistr/u32-strcat: Likewise.
33168         * modules/unistr/u32-strchr: Likewise.
33169         * modules/unistr/u32-strcmp: Likewise.
33170         * modules/unistr/u32-strcoll: Likewise.
33171         * modules/unistr/u32-strcpy: Likewise.
33172         * modules/unistr/u32-strcspn: Likewise.
33173         * modules/unistr/u32-strdup: Likewise.
33174         * modules/unistr/u32-strlen: Likewise.
33175         * modules/unistr/u32-strmblen: Likewise.
33176         * modules/unistr/u32-strmbtouc: Likewise.
33177         * modules/unistr/u32-strncat: Likewise.
33178         * modules/unistr/u32-strncmp: Likewise.
33179         * modules/unistr/u32-strncpy: Likewise.
33180         * modules/unistr/u32-strnlen: Likewise.
33181         * modules/unistr/u32-strpbrk: Likewise.
33182         * modules/unistr/u32-strrchr: Likewise.
33183         * modules/unistr/u32-strspn: Likewise.
33184         * modules/unistr/u32-strstr: Likewise.
33185         * modules/unistr/u32-strtok: Likewise.
33186         * modules/unistr/u32-to-u16: Likewise.
33187         * modules/unistr/u32-to-u8: Likewise.
33188         * modules/unistr/u32-uctomb: Likewise.
33189         * modules/uniwbrk/u8-wordbreaks: Likewise.
33190         * modules/uniwbrk/u16-wordbreaks: Likewise.
33191         * modules/uniwbrk/u32-wordbreaks: Likewise.
33192         * modules/uniwbrk/ulc-wordbreaks: Likewise.
33193         * modules/uniwbrk/wordbreak-property: Likewise.
33194         * modules/uniwidth/u8-strwidth: Likewise.
33195         * modules/uniwidth/u8-width: Likewise.
33196         * modules/uniwidth/u16-strwidth: Likewise.
33197         * modules/uniwidth/u16-width: Likewise.
33198         * modules/uniwidth/u32-strwidth: Likewise.
33199         * modules/uniwidth/u32-width: Likewise.
33200         * modules/uniwidth/width: Likewise.
33201         * modules/unicase/cased-tests (Makefile.am): Link all test programs
33202         with $(LIBUNISTRING).
33203         * modules/unicase/ignorable-tests: Likewise.
33204         * modules/unicase/locale-language-tests: Likewise.
33205         * modules/unicase/tolower-tests: Likewise.
33206         * modules/unicase/totitle-tests: Likewise.
33207         * modules/unicase/toupper-tests: Likewise.
33208         * modules/unicase/u8-casecmp-tests: Likewise.
33209         * modules/unicase/u8-casecoll-tests: Likewise.
33210         * modules/unicase/u8-casefold-tests: Likewise.
33211         * modules/unicase/u8-is-cased-tests: Likewise.
33212         * modules/unicase/u8-is-casefolded-tests: Likewise.
33213         * modules/unicase/u8-is-lowercase-tests: Likewise.
33214         * modules/unicase/u8-is-titlecase-tests: Likewise.
33215         * modules/unicase/u8-is-uppercase-tests: Likewise.
33216         * modules/unicase/u8-tolower-tests: Likewise.
33217         * modules/unicase/u8-totitle-tests: Likewise.
33218         * modules/unicase/u8-toupper-tests: Likewise.
33219         * modules/unicase/u16-casecmp-tests: Likewise.
33220         * modules/unicase/u16-casecoll-tests: Likewise.
33221         * modules/unicase/u16-casefold-tests: Likewise.
33222         * modules/unicase/u16-is-cased-tests: Likewise.
33223         * modules/unicase/u16-is-casefolded-tests: Likewise.
33224         * modules/unicase/u16-is-lowercase-tests: Likewise.
33225         * modules/unicase/u16-is-titlecase-tests: Likewise.
33226         * modules/unicase/u16-is-uppercase-tests: Likewise.
33227         * modules/unicase/u16-tolower-tests: Likewise.
33228         * modules/unicase/u16-totitle-tests: Likewise.
33229         * modules/unicase/u16-toupper-tests: Likewise.
33230         * modules/unicase/u32-casecmp-tests: Likewise.
33231         * modules/unicase/u32-casecoll-tests: Likewise.
33232         * modules/unicase/u32-casefold-tests: Likewise.
33233         * modules/unicase/u32-is-cased-tests: Likewise.
33234         * modules/unicase/u32-is-casefolded-tests: Likewise.
33235         * modules/unicase/u32-is-lowercase-tests: Likewise.
33236         * modules/unicase/u32-is-titlecase-tests: Likewise.
33237         * modules/unicase/u32-is-uppercase-tests: Likewise.
33238         * modules/unicase/u32-tolower-tests: Likewise.
33239         * modules/unicase/u32-totitle-tests: Likewise.
33240         * modules/unicase/u32-toupper-tests: Likewise.
33241         * modules/unicase/ulc-casecmp-tests: Likewise.
33242         * modules/unicase/ulc-casecoll-tests: Likewise.
33243         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
33244         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
33245         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
33246         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
33247         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
33248         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
33249         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
33250         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
33251         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
33252         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
33253         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
33254         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
33255         * modules/unictype/bidicategory-byname-tests: Likewise.
33256         * modules/unictype/bidicategory-name-tests: Likewise.
33257         * modules/unictype/bidicategory-of-tests: Likewise.
33258         * modules/unictype/bidicategory-test-tests: Likewise.
33259         * modules/unictype/block-list-tests: Likewise.
33260         * modules/unictype/block-of-tests: Likewise.
33261         * modules/unictype/block-test-tests: Likewise.
33262         * modules/unictype/category-C-tests: Likewise.
33263         * modules/unictype/category-Cc-tests: Likewise.
33264         * modules/unictype/category-Cf-tests: Likewise.
33265         * modules/unictype/category-Cn-tests: Likewise.
33266         * modules/unictype/category-Co-tests: Likewise.
33267         * modules/unictype/category-Cs-tests: Likewise.
33268         * modules/unictype/category-L-tests: Likewise.
33269         * modules/unictype/category-Ll-tests: Likewise.
33270         * modules/unictype/category-Lm-tests: Likewise.
33271         * modules/unictype/category-Lo-tests: Likewise.
33272         * modules/unictype/category-Lt-tests: Likewise.
33273         * modules/unictype/category-Lu-tests: Likewise.
33274         * modules/unictype/category-M-tests: Likewise.
33275         * modules/unictype/category-Mc-tests: Likewise.
33276         * modules/unictype/category-Me-tests: Likewise.
33277         * modules/unictype/category-Mn-tests: Likewise.
33278         * modules/unictype/category-N-tests: Likewise.
33279         * modules/unictype/category-Nd-tests: Likewise.
33280         * modules/unictype/category-Nl-tests: Likewise.
33281         * modules/unictype/category-No-tests: Likewise.
33282         * modules/unictype/category-P-tests: Likewise.
33283         * modules/unictype/category-Pc-tests: Likewise.
33284         * modules/unictype/category-Pd-tests: Likewise.
33285         * modules/unictype/category-Pe-tests: Likewise.
33286         * modules/unictype/category-Pf-tests: Likewise.
33287         * modules/unictype/category-Pi-tests: Likewise.
33288         * modules/unictype/category-Po-tests: Likewise.
33289         * modules/unictype/category-Ps-tests: Likewise.
33290         * modules/unictype/category-S-tests: Likewise.
33291         * modules/unictype/category-Sc-tests: Likewise.
33292         * modules/unictype/category-Sk-tests: Likewise.
33293         * modules/unictype/category-Sm-tests: Likewise.
33294         * modules/unictype/category-So-tests: Likewise.
33295         * modules/unictype/category-Z-tests: Likewise.
33296         * modules/unictype/category-Zl-tests: Likewise.
33297         * modules/unictype/category-Zp-tests: Likewise.
33298         * modules/unictype/category-Zs-tests: Likewise.
33299         * modules/unictype/category-and-not-tests: Likewise.
33300         * modules/unictype/category-and-tests: Likewise.
33301         * modules/unictype/category-byname-tests: Likewise.
33302         * modules/unictype/category-name-tests: Likewise.
33303         * modules/unictype/category-none-tests: Likewise.
33304         * modules/unictype/category-of-tests: Likewise.
33305         * modules/unictype/category-or-tests: Likewise.
33306         * modules/unictype/category-test-withtable-tests: Likewise.
33307         * modules/unictype/combining-class-tests: Likewise.
33308         * modules/unictype/ctype-alnum-tests: Likewise.
33309         * modules/unictype/ctype-alpha-tests: Likewise.
33310         * modules/unictype/ctype-blank-tests: Likewise.
33311         * modules/unictype/ctype-cntrl-tests: Likewise.
33312         * modules/unictype/ctype-digit-tests: Likewise.
33313         * modules/unictype/ctype-graph-tests: Likewise.
33314         * modules/unictype/ctype-lower-tests: Likewise.
33315         * modules/unictype/ctype-print-tests: Likewise.
33316         * modules/unictype/ctype-punct-tests: Likewise.
33317         * modules/unictype/ctype-space-tests: Likewise.
33318         * modules/unictype/ctype-upper-tests: Likewise.
33319         * modules/unictype/ctype-xdigit-tests: Likewise.
33320         * modules/unictype/decimal-digit-tests: Likewise.
33321         * modules/unictype/digit-tests: Likewise.
33322         * modules/unictype/mirror-tests: Likewise.
33323         * modules/unictype/numeric-tests: Likewise.
33324         * modules/unictype/property-alphabetic-tests: Likewise.
33325         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
33326         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
33327         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
33328         * modules/unictype/property-bidi-block-separator-tests: Likewise.
33329         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
33330         * modules/unictype/property-bidi-common-separator-tests: Likewise.
33331         * modules/unictype/property-bidi-control-tests: Likewise.
33332         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
33333         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
33334         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
33335         * modules/unictype/property-bidi-european-digit-tests: Likewise.
33336         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
33337         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
33338         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
33339         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
33340         * modules/unictype/property-bidi-pdf-tests: Likewise.
33341         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
33342         * modules/unictype/property-bidi-whitespace-tests: Likewise.
33343         * modules/unictype/property-byname-tests: Likewise.
33344         * modules/unictype/property-combining-tests: Likewise.
33345         * modules/unictype/property-composite-tests: Likewise.
33346         * modules/unictype/property-currency-symbol-tests: Likewise.
33347         * modules/unictype/property-dash-tests: Likewise.
33348         * modules/unictype/property-decimal-digit-tests: Likewise.
33349         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
33350         * modules/unictype/property-deprecated-tests: Likewise.
33351         * modules/unictype/property-diacritic-tests: Likewise.
33352         * modules/unictype/property-extender-tests: Likewise.
33353         * modules/unictype/property-format-control-tests: Likewise.
33354         * modules/unictype/property-grapheme-base-tests: Likewise.
33355         * modules/unictype/property-grapheme-extend-tests: Likewise.
33356         * modules/unictype/property-grapheme-link-tests: Likewise.
33357         * modules/unictype/property-hex-digit-tests: Likewise.
33358         * modules/unictype/property-hyphen-tests: Likewise.
33359         * modules/unictype/property-id-continue-tests: Likewise.
33360         * modules/unictype/property-id-start-tests: Likewise.
33361         * modules/unictype/property-ideographic-tests: Likewise.
33362         * modules/unictype/property-ids-binary-operator-tests: Likewise.
33363         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
33364         * modules/unictype/property-ignorable-control-tests: Likewise.
33365         * modules/unictype/property-iso-control-tests: Likewise.
33366         * modules/unictype/property-join-control-tests: Likewise.
33367         * modules/unictype/property-left-of-pair-tests: Likewise.
33368         * modules/unictype/property-line-separator-tests: Likewise.
33369         * modules/unictype/property-logical-order-exception-tests: Likewise.
33370         * modules/unictype/property-lowercase-tests: Likewise.
33371         * modules/unictype/property-math-tests: Likewise.
33372         * modules/unictype/property-non-break-tests: Likewise.
33373         * modules/unictype/property-not-a-character-tests: Likewise.
33374         * modules/unictype/property-numeric-tests: Likewise.
33375         * modules/unictype/property-other-alphabetic-tests: Likewise.
33376         * modules/unictype/property-other-default-ignorable-code-point-tests:
33377         Likewise.
33378         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
33379         * modules/unictype/property-other-id-continue-tests: Likewise.
33380         * modules/unictype/property-other-id-start-tests: Likewise.
33381         * modules/unictype/property-other-lowercase-tests: Likewise.
33382         * modules/unictype/property-other-math-tests: Likewise.
33383         * modules/unictype/property-other-uppercase-tests: Likewise.
33384         * modules/unictype/property-paired-punctuation-tests: Likewise.
33385         * modules/unictype/property-paragraph-separator-tests: Likewise.
33386         * modules/unictype/property-pattern-syntax-tests: Likewise.
33387         * modules/unictype/property-pattern-white-space-tests: Likewise.
33388         * modules/unictype/property-private-use-tests: Likewise.
33389         * modules/unictype/property-punctuation-tests: Likewise.
33390         * modules/unictype/property-quotation-mark-tests: Likewise.
33391         * modules/unictype/property-radical-tests: Likewise.
33392         * modules/unictype/property-sentence-terminal-tests: Likewise.
33393         * modules/unictype/property-soft-dotted-tests: Likewise.
33394         * modules/unictype/property-space-tests: Likewise.
33395         * modules/unictype/property-terminal-punctuation-tests: Likewise.
33396         * modules/unictype/property-test-tests: Likewise.
33397         * modules/unictype/property-titlecase-tests: Likewise.
33398         * modules/unictype/property-unassigned-code-value-tests: Likewise.
33399         * modules/unictype/property-unified-ideograph-tests: Likewise.
33400         * modules/unictype/property-uppercase-tests: Likewise.
33401         * modules/unictype/property-variation-selector-tests: Likewise.
33402         * modules/unictype/property-white-space-tests: Likewise.
33403         * modules/unictype/property-xid-continue-tests: Likewise.
33404         * modules/unictype/property-xid-start-tests: Likewise.
33405         * modules/unictype/property-zero-width-tests: Likewise.
33406         * modules/unictype/scripts-tests: Likewise.
33407         * modules/unictype/syntax-c-ident-tests: Likewise.
33408         * modules/unictype/syntax-c-whitespace-tests: Likewise.
33409         * modules/unictype/syntax-java-ident-tests: Likewise.
33410         * modules/unictype/syntax-java-whitespace-tests: Likewise.
33411         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
33412         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
33413         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
33414         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
33415         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
33416         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
33417         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
33418         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
33419         * modules/uniname/uniname-tests: Likewise.
33420         * modules/uninorm/canonical-decomposition-tests: Likewise.
33421         * modules/uninorm/compat-decomposition-tests: Likewise.
33422         * modules/uninorm/composition-tests: Likewise.
33423         * modules/uninorm/decomposing-form-tests: Likewise.
33424         * modules/uninorm/decomposition-tests: Likewise.
33425         * modules/uninorm/filter-tests: Likewise.
33426         * modules/uninorm/nfc-tests: Likewise.
33427         * modules/uninorm/nfd-tests: Likewise.
33428         * modules/uninorm/nfkc-tests: Likewise.
33429         * modules/uninorm/nfkd-tests: Likewise.
33430         * modules/uninorm/u8-normcmp-tests: Likewise.
33431         * modules/uninorm/u8-normcoll-tests: Likewise.
33432         * modules/uninorm/u16-normcmp-tests: Likewise.
33433         * modules/uninorm/u16-normcoll-tests: Likewise.
33434         * modules/uninorm/u32-normcmp-tests: Likewise.
33435         * modules/uninorm/u32-normcoll-tests: Likewise.
33436         * modules/unistdio/u8-asnprintf-tests: Likewise.
33437         * modules/unistdio/u8-vasnprintf-tests: Likewise.
33438         * modules/unistdio/u8-vasprintf-tests: Likewise.
33439         * modules/unistdio/u8-vsnprintf-tests: Likewise.
33440         * modules/unistdio/u8-vsprintf-tests: Likewise.
33441         * modules/unistdio/u16-asnprintf-tests: Likewise.
33442         * modules/unistdio/u16-vasnprintf-tests: Likewise.
33443         * modules/unistdio/u16-vasprintf-tests: Likewise.
33444         * modules/unistdio/u16-vsnprintf-tests: Likewise.
33445         * modules/unistdio/u16-vsprintf-tests: Likewise.
33446         * modules/unistdio/u32-asnprintf-tests: Likewise.
33447         * modules/unistdio/u32-vasnprintf-tests: Likewise.
33448         * modules/unistdio/u32-vasprintf-tests: Likewise.
33449         * modules/unistdio/u32-vsnprintf-tests: Likewise.
33450         * modules/unistdio/u32-vsprintf-tests: Likewise.
33451         * modules/unistdio/ulc-asnprintf-tests: Likewise.
33452         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
33453         * modules/unistdio/ulc-vasprintf-tests: Likewise.
33454         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
33455         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33456         * modules/unistr/u8-check-tests: Likewise.
33457         * modules/unistr/u8-chr-tests: Likewise.
33458         * modules/unistr/u8-cmp-tests: Likewise.
33459         * modules/unistr/u8-cmp2-tests: Likewise.
33460         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33461         * modules/unistr/u8-cpy-tests: Likewise.
33462         * modules/unistr/u8-mblen-tests: Likewise.
33463         * modules/unistr/u8-mbsnlen-tests: Likewise.
33464         * modules/unistr/u8-mbtouc-tests: Likewise.
33465         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33466         * modules/unistr/u8-mbtoucr-tests: Likewise.
33467         * modules/unistr/u8-move-tests: Likewise.
33468         * modules/unistr/u8-next-tests: Likewise.
33469         * modules/unistr/u8-prev-tests: Likewise.
33470         * modules/unistr/u8-set-tests: Likewise.
33471         * modules/unistr/u8-stpcpy-tests: Likewise.
33472         * modules/unistr/u8-stpncpy-tests: Likewise.
33473         * modules/unistr/u8-strcat-tests: Likewise.
33474         * modules/unistr/u8-strcmp-tests: Likewise.
33475         * modules/unistr/u8-strcoll-tests: Likewise.
33476         * modules/unistr/u8-strcpy-tests: Likewise.
33477         * modules/unistr/u8-strdup-tests: Likewise.
33478         * modules/unistr/u8-strlen-tests: Likewise.
33479         * modules/unistr/u8-strmblen-tests: Likewise.
33480         * modules/unistr/u8-strmbtouc-tests: Likewise.
33481         * modules/unistr/u8-strncat-tests: Likewise.
33482         * modules/unistr/u8-strncmp-tests: Likewise.
33483         * modules/unistr/u8-strncpy-tests: Likewise.
33484         * modules/unistr/u8-strnlen-tests: Likewise.
33485         * modules/unistr/u8-to-u16-tests: Likewise.
33486         * modules/unistr/u8-to-u32-tests: Likewise.
33487         * modules/unistr/u8-uctomb-tests: Likewise.
33488         * modules/unistr/u16-check-tests: Likewise.
33489         * modules/unistr/u16-chr-tests: Likewise.
33490         * modules/unistr/u16-cmp-tests: Likewise.
33491         * modules/unistr/u16-cmp2-tests: Likewise.
33492         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33493         * modules/unistr/u16-cpy-tests: Likewise.
33494         * modules/unistr/u16-mblen-tests: Likewise.
33495         * modules/unistr/u16-mbsnlen-tests: Likewise.
33496         * modules/unistr/u16-mbtouc-tests: Likewise.
33497         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33498         * modules/unistr/u16-mbtoucr-tests: Likewise.
33499         * modules/unistr/u16-move-tests: Likewise.
33500         * modules/unistr/u16-next-tests: Likewise.
33501         * modules/unistr/u16-prev-tests: Likewise.
33502         * modules/unistr/u16-set-tests: Likewise.
33503         * modules/unistr/u16-stpcpy-tests: Likewise.
33504         * modules/unistr/u16-stpncpy-tests: Likewise.
33505         * modules/unistr/u16-strcat-tests: Likewise.
33506         * modules/unistr/u16-strcmp-tests: Likewise.
33507         * modules/unistr/u16-strcoll-tests: Likewise.
33508         * modules/unistr/u16-strcpy-tests: Likewise.
33509         * modules/unistr/u16-strdup-tests: Likewise.
33510         * modules/unistr/u16-strlen-tests: Likewise.
33511         * modules/unistr/u16-strmblen-tests: Likewise.
33512         * modules/unistr/u16-strmbtouc-tests: Likewise.
33513         * modules/unistr/u16-strncat-tests: Likewise.
33514         * modules/unistr/u16-strncmp-tests: Likewise.
33515         * modules/unistr/u16-strncpy-tests: Likewise.
33516         * modules/unistr/u16-strnlen-tests: Likewise.
33517         * modules/unistr/u16-to-u32-tests: Likewise.
33518         * modules/unistr/u16-to-u8-tests: Likewise.
33519         * modules/unistr/u16-uctomb-tests: Likewise.
33520         * modules/unistr/u32-check-tests: Likewise.
33521         * modules/unistr/u32-chr-tests: Likewise.
33522         * modules/unistr/u32-cmp-tests: Likewise.
33523         * modules/unistr/u32-cmp2-tests: Likewise.
33524         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33525         * modules/unistr/u32-cpy-tests: Likewise.
33526         * modules/unistr/u32-mblen-tests: Likewise.
33527         * modules/unistr/u32-mbsnlen-tests: Likewise.
33528         * modules/unistr/u32-mbtouc-tests: Likewise.
33529         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33530         * modules/unistr/u32-mbtoucr-tests: Likewise.
33531         * modules/unistr/u32-move-tests: Likewise.
33532         * modules/unistr/u32-next-tests: Likewise.
33533         * modules/unistr/u32-prev-tests: Likewise.
33534         * modules/unistr/u32-set-tests: Likewise.
33535         * modules/unistr/u32-stpcpy-tests: Likewise.
33536         * modules/unistr/u32-stpncpy-tests: Likewise.
33537         * modules/unistr/u32-strcat-tests: Likewise.
33538         * modules/unistr/u32-strcmp-tests: Likewise.
33539         * modules/unistr/u32-strcoll-tests: Likewise.
33540         * modules/unistr/u32-strcpy-tests: Likewise.
33541         * modules/unistr/u32-strdup-tests: Likewise.
33542         * modules/unistr/u32-strlen-tests: Likewise.
33543         * modules/unistr/u32-strmblen-tests: Likewise.
33544         * modules/unistr/u32-strmbtouc-tests: Likewise.
33545         * modules/unistr/u32-strncat-tests: Likewise.
33546         * modules/unistr/u32-strncmp-tests: Likewise.
33547         * modules/unistr/u32-strncpy-tests: Likewise.
33548         * modules/unistr/u32-strnlen-tests: Likewise.
33549         * modules/unistr/u32-to-u16-tests: Likewise.
33550         * modules/unistr/u32-to-u8-tests: Likewise.
33551         * modules/unistr/u32-uctomb-tests: Likewise.
33552         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33553         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33554         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33555         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33556         * modules/uniwidth/u8-strwidth-tests: Likewise.
33557         * modules/uniwidth/u8-width-tests: Likewise.
33558         * modules/uniwidth/u16-strwidth-tests: Likewise.
33559         * modules/uniwidth/u16-width-tests: Likewise.
33560         * modules/uniwidth/u32-strwidth-tests: Likewise.
33561         * modules/uniwidth/u32-width-tests: Likewise.
33562         * modules/uniwidth/width-tests: Likewise.
33563
33564 2010-05-18  Richard Jones  <rjones@redhat.com>
33565
33566         doc: users.txt: list hivex
33567         * users.txt: Add hivex.
33568
33569 2010-05-18  Richard Jones  <rjones@redhat.com>
33570
33571         doc: users.txt: list febootstrap
33572         * users.txt: Add febootstrap.
33573
33574 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33575
33576         bootstrap: fix an error when gnulib is not used as a git submodule
33577         * build-aux/bootstrap (gnulib_path): If its length is zero then
33578         assign "gnulib" to it.
33579         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33580
33581 2010-05-16  Bruno Haible  <bruno@clisp.org>
33582
33583         Avoid autoconf warnings about AM_ICONV.
33584         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33585         2.64.
33586
33587 2010-05-16  Bruno Haible  <bruno@clisp.org>
33588
33589         absolute-header: Make the macro usable in more situations.
33590         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33591         from gl_ABSOLUTE_HEADER.
33592         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33593
33594 2010-05-16  James Youngman  <jay@gnu.org>
33595
33596         doc: update users.txt
33597         * users.txt: Add CSSC.
33598
33599 2010-05-16  Jim Meyering  <meyering@redhat.com>
33600
33601         init.sh: fix an error in the previous change; add more comments
33602         * tests/init.sh: Compare exit code in loop against 9, not 2.
33603         Patch by Bruno Haible.
33604         Make the two tests more similar by adding an empty "then" clause.
33605         Add comments.
33606
33607         init.sh: avoid unnecessary shell re-exec
33608         * tests/init.sh: Improve the re-exec-required check to first test the
33609         current shell.  If it passes the test, do not search for a shell that
33610         does pass, and do not re-exec.  This test is particularly contorted to
33611         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33612         of $(...) evokes a syntax error and causes immediate shell exit with
33613         status 2.  Bruno Haible reported that the re-exec made it impossible
33614         to single-step through any init.sh-using script.
33615
33616 2010-05-16  Bruno Haible  <bruno@clisp.org>
33617
33618         Fix collision between gnulib's and libintl's printf replacements.
33619         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33620         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33621         (printf): When using GNU C, map the __printf__ function to rpl_printf
33622         via __asm__. When not using GNU C, define rpl_printf instead of
33623         __printf__.
33624         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33625         commit.
33626         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33627         commit.
33628         * m4/asm-underscore.m4: New file.
33629         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33630         * modules/stdio (Files): Add m4/asm-underscore.m4.
33631         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33632         Reported by Ben Pfaff.
33633
33634 2010-05-16  Bruno Haible  <bruno@clisp.org>
33635
33636         verify: Avoid skipping the test on openSUSE 11.0.
33637         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33638
33639 2010-05-13  Bruno Haible  <bruno@clisp.org>
33640
33641         Avoid useless warnings from G++.
33642         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33643         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33644         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33645
33646 2010-05-11  Jim Meyering  <meyering@redhat.com>
33647
33648         maint.mk: tweak preceding change
33649         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33650         regexps tighter by anchoring at EOL, and make the new group "shy"
33651         for slightly decreased overhead.
33652
33653 2010-05-11  Eric Blake  <eblake@redhat.com>
33654
33655         maint.mk: gnulib doesn't guarantee NSIG
33656         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33657
33658 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33659
33660         test-pwrite.c: Remove unused variable declaration.
33661         * tests/test-pwrite.c (main): Remove read_buf declaration.
33662
33663         Remove useless test-pwrite.sh file.
33664         * tests/test-pwrite.sh: Delete file.
33665         * modules/pwrite-tests: Remove references.
33666         Reported by Bruno Haible.
33667
33668 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33669
33670         init.sh: fix a typo
33671         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33672
33673 2010-05-10  Jim Meyering  <meyering@redhat.com>
33674
33675         maint.mk: avoid using a temporary file in the always-defined-macros check
33676         * top/maint.mk (.re-defmac): Remove rule.
33677         (gl_trap_): Remove definition.
33678         (sc_prohibit_always-defined_macros): Rewrite not to create and
33679         depend on a temporary file.  Instead, depend on GNU grep's ability
33680         to read a list of regular expressions from stdin when given "-f -".
33681
33682 2010-05-09  Bruno Haible  <bruno@clisp.org>
33683
33684         Update to GNU gettext 0.18, part 1.
33685         * m4/gettext.m4: Update to GNU gettext 0.18.
33686         * m4/intl.m4: Likewise.
33687         * m4/po.m4: Likewise.
33688         * modules/gettext (Files): Add m4/fcntl-o.m4.
33689         (configure.ac): Require gettext infrastructure from version 0.18.
33690
33691 2010-05-09  Jim Meyering  <meyering@redhat.com>
33692
33693         init.sh: enable MALLOC_PERTURB_
33694         * tests/init.sh: Enable glibc's malloc-perturbing option.
33695
33696         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33697         With my recent change in init.sh from the two-line form:
33698             -#   : ${srcdir=.}
33699             -#   . "$srcdir/init.sh"; path_prepend_ .
33700             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33701         I noticed that using the one-line form would cause this test
33702         to fail with a false-positive, or to stop working altogether,
33703         depending on whether help-version changed or all the tests did.
33704         * top/maint.mk (_hv_regex): Remove this definition.
33705         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33706         (_hv_regex_strong): Use a stronger regex to check for conformance.
33707         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33708         Give a separate diagnostic for lack of conforming use.
33709
33710         maint.mk: prohibit definition of symbols defined by gnulib
33711         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33712         definition of symbols defined by gnulib.
33713
33714 2010-05-09  Bruno Haible  <bruno@clisp.org>
33715
33716         acl: Avoid test failure on Cygwin-hosted mingw.
33717         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33718
33719 2010-05-09  Bruno Haible  <bruno@clisp.org>
33720
33721         error: Use system's fcntl function.
33722         * lib/error.c (fcntl): Undefine.
33723
33724 2010-05-09  Jim Meyering  <meyering@redhat.com>
33725
33726         verify: adjust formatting to be more consistent
33727         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33728         argument-list '('s, and after one comma.
33729
33730 2010-05-09  Bruno Haible  <bruno@clisp.org>
33731
33732         error: More reliable output on mingw.
33733         * lib/error.c: Include <windows.h>.
33734         (is_open): New function.
33735         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33736         defined.
33737
33738 2010-05-09  Bruno Haible  <bruno@clisp.org>
33739
33740         vasnprintf: Fix syntax errors in libintl build on mingw.
33741         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33742         pad_ourselves and prec_ourselves after use.
33743
33744 2010-05-08  Bruno Haible  <bruno@clisp.org>
33745
33746         * lib/config.charset: Update comments for Cygwin 1.7.
33747         * lib/localcharset.c: Likewise.
33748
33749 2010-05-07  Jim Meyering  <meyering@redhat.com>
33750
33751         init.sh: improve comments
33752         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33753         . "${srcdir=.}/init.sh"; path_prepend_ .
33754         Add a note about path_prepend_ and the alternative of using
33755         TESTS_ENVIRONMENT.
33756
33757 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33758
33759         exclude: Unescape hashed patterns in wildcard mode.
33760         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33761         to the hash list.
33762         * tests/test-exclude8.sh: New test case.
33763         * modules/exclude-tests: Add new test.
33764
33765 2010-05-05  Eric Blake  <eblake@redhat.com>
33766
33767         verify: automate tests
33768         * modules/verify-tests: New module.
33769         * tests/test-verify.sh: New file.
33770         * tests/test-verify.c: Guard each negative test with a unique id.
33771         Also avoid warning about unused left hand of comma expressions.
33772
33773 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33774
33775         Further improvements to verify.h, suggested by Eric Blake.
33776         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33777         the GL_* versions, to avoid collision with OpenGL.
33778         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33779         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33780         than testing merely whether it's defined.
33781
33782         Modify verify.h to pacify gcc -Wredundant_decls.
33783         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33784         These use the prefix "GL_" since they're likely to be useful elsewhere.
33785         We may need to break them out into a different .h file.
33786         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33787         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33788         of verify_function__.
33789
33790 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33791
33792         Tests for module pwrite.
33793         * modules/pwrite-tests: New file.
33794         * tests/test-pwrite.sh: New file.
33795         * tests/test-pwrite.c: New file.
33796
33797         New module pwrite.
33798         * lib/unistd.in.h (pwrite): New declaration.
33799         * lib/pwrite.c: New file, from glibc with modifications.
33800         * m4/pwrite.m4: New file.
33801         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33802         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33803         REPLACE_PWRITE.
33804         * modules/pwrite: New file.
33805         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33806         REPLACE_PWRITE.
33807         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33808         * doc/posix-functions/pwrite.texi: Mention the new module.
33809
33810 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33811
33812         pread: Update documentation.
33813         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33814
33815 2010-05-04  Eric Blake  <eblake@redhat.com>
33816
33817         docs: update cygwin progress
33818         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33819         this bug.
33820         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33821         Added in cygwin 1.7.2.
33822         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33823         Likewise.
33824         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33825         Likewise.
33826         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33827         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33828         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33829         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33830         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33831         Mention nproc module.
33832         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33833         bug in cygwin 1.7.5 addition.
33834         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33835         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33836         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33837         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33838         1.7.5.
33839         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33840         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33841         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33842         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33843         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33844         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33845         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33846         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33847         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33848         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33849         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33850         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33851         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33852         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33853         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33854         Likewise.
33855         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33856         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33857         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33858         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33859         Likewise.
33860         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33861         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33862         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33863         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33864         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33865         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33866         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33867         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33868         Likewise.
33869         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33870         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33871         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33872         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33873         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33874         Likewise.
33875         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33876         Likewise.
33877         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33878         Likewise.
33879         * doc/glibc-functions/xdrrec_endofrecord.texi
33880         (xdrrec_endofrecord): Likewise.
33881         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33882         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33883         Likewise.
33884         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33885         Likewise.
33886
33887 2010-05-04  Jim Meyering  <meyering@redhat.com>
33888
33889         gendocs.sh: make its "-s FILE" option more useful
33890         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33891         $PACKAGE to reflect the probably-different basename of "FILE".
33892
33893 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33894
33895         bootstrap: don't ignore download_po_files failure
33896         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33897         failure.
33898
33899 2010-05-03  Jim Meyering  <meyering@redhat.com>
33900
33901         maint.mk: allow to pass options to gendocs.sh
33902         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33903         (gendocs_options_): New overridable variable.
33904
33905         gnu-web-doc-update: don't ignore configure or build failure
33906         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33907
33908         announce-gen: backslash-escape '@'s in --help output
33909         * build-aux/announce-gen: Fix syntax errors.
33910
33911         maint.mk, announce-gen: allow project-specific announcement mail headers
33912         * top/maint.mk (translation_project_): Define default.
33913         (announcement_Cc_, announcement_mail_headers_): Likewise.
33914         (announcement): Invoke announce-gen with new --mail-headers option.
33915         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33916
33917         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33918         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33919         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33920         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33921         line in the "err2" output file when running "make check" in verbose
33922         mode (i.e., with set -x enabled).
33923
33924 2010-05-03  Bruno Haible  <bruno@clisp.org>
33925
33926         wctob: Fix for weird platforms.
33927         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33928         argument value.
33929
33930 2010-05-03  Jim Meyering  <meyering@redhat.com>
33931
33932         maint.mk: prohibit unwarranted use of <strings.h>
33933         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33934         strings.h in a file that does not also use strcasecmp, strncasecmp,
33935         ffs or ffsll.
33936
33937         maint.mk: remove obsolete comments
33938         * top/maint.mk: Remove stale, commented-out rules.
33939
33940 2010-05-02  Bruno Haible  <bruno@clisp.org>
33941
33942         wcwidth: Declare also when it's aliased.
33943         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33944         macro.
33945
33946 2010-05-02  Bruno Haible  <bruno@clisp.org>
33947
33948         Fix regression from 2010-04-25.
33949         * gnulib-tool (func_modules_transitive_closure): Check the status of
33950         all modules, not only of the tests that are of the form foo-tests where
33951         foo is a module.
33952
33953 2010-05-02  Bruno Haible  <bruno@clisp.org>
33954
33955         wctob: Work around nasty Cygwin 1.7.2 bug.
33956         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33957         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33958
33959 2010-05-01  Bruno Haible  <bruno@clisp.org>
33960
33961         fpurge: Sharper test.
33962         * tests/test-fpurge.c (main): Add one more ftell check.
33963         * modules/fpurge-tests (Depends-on): Add ftell.
33964         Suggested by Eric Blake.
33965
33966 2010-05-01  Bruno Haible  <bruno@clisp.org>
33967
33968         ftello: Another test.
33969         * tests/test-ftello3.c: New file.
33970         * modules/ftello-tests (Files): Add it.
33971         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33972         MOSTLYCLEANFILES.
33973
33974         ftell: Another test.
33975         * tests/test-ftell3.c: New file.
33976         * modules/ftell-tests (Files): Add it.
33977         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33978         MOSTLYCLEANFILES.
33979
33980 2010-05-01  Bruno Haible  <bruno@clisp.org>
33981
33982         ftell, ftello: Work around Solaris bug.
33983         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33984         * lib/ftello.c: Include stdio-impl.h.
33985         (ftello): On Solaris, when _IOWRT is set, compute the result without
33986         looking at _IOREAD.
33987         * modules/ftello (Files): Add lib/stdio-impl.h.
33988         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33989         * doc/posix-functions/ftello.texi: Likewise.
33990         Reported by Eric Blake.
33991
33992 2010-05-01  Bruno Haible  <bruno@clisp.org>
33993
33994         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33995         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33996         the _IOWRT flag is also set.
33997
33998 2010-05-01  Bruno Haible  <bruno@clisp.org>
33999
34000         Fix doc about a HP-UX stdio bug.
34001         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
34002         * doc/posix-functions/ftello.texi: Likewise.
34003
34004 2010-05-01  Bruno Haible  <bruno@clisp.org>
34005
34006         lseek test: Fix failure on Solaris.
34007         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
34008         output.
34009
34010 2010-04-30  Jim Meyering  <meyering@redhat.com>
34011
34012         bootstrap: don't ignore failure to generate po*/Makevars
34013         * build-aux/bootstrap (with_gettext): Don't ignore failure
34014         to create po/Makevars or runtime-po/Makevars.
34015
34016 2010-04-29  Eric Blake  <eblake@redhat.com>
34017
34018         headers: relax license to LGPLv2+
34019         * modules/fcntl-h (License): Relax license.
34020         * modules/getopt-posix (License): Likewise.
34021         * modules/locale (License): Likewise.
34022         * modules/math (License): Likewise.
34023         * modules/pty (License): Likewise.
34024         * modules/sched (License): Likewise.
34025         * modules/search (License): Likewise.
34026         * modules/spawn (License): Likewise.
34027         * modules/stdarg (License): Likewise.
34028         * modules/sysexits (License): Likewise.
34029
34030 2010-04-29  Jim Meyering  <meyering@redhat.com>
34031
34032         inttypes: relax license to LGPLv2+
34033         * modules/inttypes (License): Relax license.
34034
34035 2010-04-29  Simon Josefsson  <simon@josefsson.org>
34036
34037         * top/maint.mk (indent): Run twice to produce idempotent results.
34038
34039 2010-04-28  Bruno Haible  <bruno@clisp.org>
34040
34041         getdate: Generate getdate.c in the source directory.
34042         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
34043         MOSTLYCLEANFILES.
34044         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
34045
34046 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
34047
34048         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
34049         is not declared as a const *; avoid warnings in that case.
34050
34051 2010-04-28  Eric Blake  <eblake@redhat.com>
34052
34053         canonicalize-lgpl: avoid compiler warning
34054         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
34055         declaration' / 'extraneous semicolon' warning with some compilers.
34056         Reported by Andreas Gruenbacher.
34057
34058 2010-04-28  Jim Meyering  <meyering@redhat.com>
34059
34060         init.sh: ensure a more reliable exit status when exiting via trap
34061         * tests/init.sh (setup_): Don't rely on $? in signal handler.
34062         Inspired by patches from Dmitry V. Levin.
34063         Also trap on signal 3 (SIGQUIT).
34064
34065 2010-04-27  Bruno Haible  <bruno@clisp.org>
34066
34067         Update doc about utimes().
34068         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
34069         'utimens' module.
34070         Reported by Andreas Gruenbacher <agruen@suse.de>.
34071
34072 2010-04-27  Eric Blake  <eblake@redhat.com>
34073
34074         full-read, full-write: relax license
34075         * modules/full-read (License): Drop to LGPLv2+.
34076         * modules/full-write (License): Likewise.
34077         * modules/safe-read (License): Likewise.
34078         * modules/safe-write (License): Likewise.
34079
34080         pthread: mention library for linking
34081         * modules/pthread (Link): Mention $(LIB_PTHREAD).
34082
34083 2010-04-27  Jim Meyering  <meyering@redhat.com>
34084
34085         maint.mk: fix a bug introduced in last change
34086         * top/maint.mk (gl_assured_headers_): Now that all names are on
34087         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
34088         is not anchored to end of word, it should be adequate.
34089
34090         maint.mk: avoid side-effect in latest syntax-check
34091         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
34092         to run commands via $(shell...), and hence to incur cost only when
34093         the new rule is actually run.
34094
34095         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
34096         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
34097         and use that to create a regexp used to detect all #if HAVE_..._H uses.
34098         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
34099         (gl_assured_headers_, az_, AZ_): Define.
34100         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
34101
34102 2010-04-26  Jim Meyering  <jim@meyering.net>
34103             Bruno Haible  <bruno@clisp.org>
34104
34105         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
34106         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
34107         Prompted by an exchange with Gilles Espinasse.
34108
34109 2010-04-26  Jim Meyering  <meyering@redhat.com>
34110
34111         git-version-gen: aesthetic tweak
34112         * build-aux/git-version-gen: Use "$nl" rather than a literal,
34113         so that the command remains on a single line.
34114
34115 2010-04-26  Eric Blake  <eblake@redhat.com>
34116
34117         git-version-gen: allow use on EBCDIC hosts
34118         * build-aux/git-version-gen (dirty): Use literal rather than tying
34119         ourselves to ascii.
34120         Reported by Steve Goetze.
34121
34122 2010-04-25  Bruno Haible  <bruno@clisp.org>
34123
34124         netdb: Add support for GNULIB_POSIXCHECK.
34125         * lib/netdb.in.h: Include warn-on-use.h.
34126         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
34127         functions are used when GNULIB_POSIXCHECK is defined and the
34128         getaddrinfo module is not in use.
34129         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
34130         freeaddrinfo, gai_strerror, getnameinfo are declared.
34131         * modules/netdb (Depends-on): Add warn-on-use.
34132         (Makefile.am): Include warn-on-use.h in netdb.h.
34133
34134 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
34135
34136         build: avoid "make check" failure without .git/ directory
34137         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
34138         there is no .git/ directory.
34139
34140 2010-04-25  Bruno Haible  <bruno@clisp.org>
34141
34142         ptsname: Fix misuse of ttyname_r.
34143         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
34144         of errno.
34145
34146 2010-04-25  Bruno Haible  <bruno@clisp.org>
34147
34148         ttyname_r: Make it work on Solaris 10.
34149         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
34150         if the system function has the POSIX declaration. Test whether the
34151         function fails if the buffer is less than 128 bytes large.
34152         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
34153         system's ttyname_r function. Provide a reasonably large buffer.
34154         * modules/ttyname_r (Depends-on): Add extensions.
34155         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
34156
34157 2010-04-25  Bruno Haible  <bruno@clisp.org>
34158
34159         Use the 'extensions' module for some more functions on Solaris.
34160         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
34161         module.
34162         * doc/posix-functions/ctime_r.texi: Likewise.
34163         * doc/posix-functions/getgrgid_r.texi: Likewise.
34164         * doc/posix-functions/getgrnam_r.texi: Likewise.
34165         * doc/posix-functions/getpwnam_r.texi: Likewise.
34166         * doc/posix-functions/getpwuid_r.texi: Likewise.
34167         * doc/posix-functions/readdir_r.texi: Likewise.
34168         * doc/posix-functions/sigwait.texi: Likewise.
34169         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
34170         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
34171
34172 2010-04-25  Bruno Haible  <bruno@clisp.org>
34173
34174         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
34175         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
34176         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
34177         * lib/ttyname_r.c: Include <limits.h>.
34178         (ttyname_r): Define using the system's ttyname_r function, if it exists
34179         and not on Solaris.
34180         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
34181         set.
34182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
34183         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
34184         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
34185         Reported by Simon Josefsson.
34186
34187 2010-04-25  Bruno Haible  <bruno@clisp.org>
34188
34189         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
34190         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
34191         * doc/posix-functions/ctime_r.texi: Likewise.
34192         * doc/posix-functions/getgrgid_r.texi: Likewise.
34193         * doc/posix-functions/getgrnam_r.texi: Likewise.
34194         * doc/posix-functions/getlogin_r.texi: Likewise.
34195         * doc/posix-functions/getpwnam_r.texi: Likewise.
34196         * doc/posix-functions/getpwuid_r.texi: Likewise.
34197         * doc/posix-functions/readdir_r.texi: Likewise.
34198         * doc/posix-functions/sigwait.texi: Likewise.
34199         * doc/posix-functions/ttyname_r.texi: Likewise.
34200         Reported by Simon Josefsson.
34201
34202 2010-04-25  Bruno Haible  <bruno@clisp.org>
34203
34204         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
34205         * gnulib-tool (func_usage): Document that --with-*-tests options apply
34206         also to --create-testdir.
34207         (func_acceptable): Don't consider the status of *-tests modules here.
34208         (func_modules_transitive_closure): Consider it here, before including a
34209         test module.
34210         (func_import, func_create_testdir): Set inc_all_direct_tests,
34211         inc_all_indirect_tests.
34212         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
34213         --create-testdir and --create-megatestdir.
34214
34215 2010-04-25  Bruno Haible  <bruno@clisp.org>
34216
34217         gnulib-tool: Add --without-*-tests options.
34218         * gnulib-tool (func_usage): Document the --without-*-tests options.
34219         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
34220         excl_unportable_tests): New variables.
34221         Fail if they are specified with --import or --update.
34222         (func_acceptable): Respect the excl_*_tests variables.
34223         (func_import): Set the excl_*_tests variables to empty.
34224
34225 2010-04-25  Simon Josefsson  <simon@josefsson.org>
34226             Bruno Haible  <bruno@clisp.org>
34227
34228         Work around a MacOS X 10.4 bug with openpty.
34229         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
34230         * tests/test-openpty.c (main): Close the master side explicitly.
34231
34232 2010-04-25  Bruno Haible  <bruno@clisp.org>
34233
34234         strnlen: Fix a C++ test error on MacOS X and Solaris.
34235         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
34236         the function is not declared.
34237         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
34238         Simon Josefsson.
34239
34240 2010-04-24  Bruno Haible  <bruno@clisp.org>
34241
34242         Avoid a gcc warning.
34243         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
34244         of correct type for %08lx directive.
34245         Reported by Eric Blake.
34246
34247 2010-04-24  Bruno Haible  <bruno@clisp.org>
34248
34249         vasnprintf: Correct errno value in case of out-of-memory.
34250         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
34251         or sprintf. Use the errno value from SNPRINTF or sprintf.
34252         Reported by Ian Beckwith <ianb@erislabs.net>.
34253
34254 2010-04-24  Bruno Haible  <bruno@clisp.org>
34255
34256         ansi-c++-opt: Find correct compiler when cross-compiling.
34257         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
34258         AC_CHECK_PROGS.
34259         Reported by Simon Josefsson.
34260
34261 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
34262
34263         vc-list-files: Add support for subversion
34264         * build-aux/vc-list-files: Use "svn list" to generate the list of
34265         files controlled by subversion.
34266
34267 2010-04-23  Jim Meyering  <meyering@redhat.com>
34268
34269         vc-list-files tests: convert to use init.sh
34270         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
34271         path_prepend_.
34272         Use Exit, not exit.
34273         Use skip_ rather than open coding it.
34274         Remove trap set-up and compare definitions.
34275         * tests/test-vc-list-files-git.sh: Likewise.
34276         * modules/vc-list-files-tests (Files): Add tests/init.sh.
34277
34278 2010-04-22  Simon Josefsson  <simon@josefsson.org>
34279
34280         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
34281         backup files.
34282
34283 2010-04-21  Simon Josefsson  <simon@josefsson.org>
34284
34285         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
34286
34287 2010-04-20  Eric Blake  <eblake@redhat.com>
34288
34289         tests: be robust to ignored SIGPIPE
34290         * tests/test-select-in.sh: Consume all output.
34291         * tests/test-lseek.sh: Check correct exit status, while avoiding
34292         EPIPE.
34293
34294 2010-04-20  Simon Josefsson  <simon@josefsson.org>
34295             Bruno Haible  <bruno@clisp.org>
34296
34297         visibility: Don't use -fvisibility if it leads to a warning.
34298         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
34299         yes, don't pretend that visibility works if it leads to a warning.
34300         Reported by Mike Gran <spk121@yahoo.com>.
34301
34302 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
34303
34304         * build-aux/bootstrap: Use "git -h" for testing for supported options
34305         instead of "git --help".  The short-form option only shows a summary,
34306         and doesn't layout the full man page.  Grep for the full option name
34307         in the summary, too.
34308
34309 2010-04-19  Bruno Haible  <bruno@clisp.org>
34310
34311         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
34312         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
34313         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
34314         mention of RELOCATABLE_STRIP.
34315         Reported by Sylvain Beucler <beuc@beuc.net>.
34316
34317 2010-04-19  Bruno Haible  <bruno@clisp.org>
34318
34319         * lib/diffseq.h: Fix typo in comment.
34320         Reported by Eric Blake.
34321
34322 2010-04-19  Bruno Haible  <bruno@clisp.org>
34323
34324         ioctl: Move autoconf macro to a .m4 file.
34325         * m4/ioctl.m4: New file, extracted from modules/ioctl.
34326         * modules/ioctl (Files): Add it.
34327         (configure.ac): Simply invoke gl_FUNC_IOCTL.
34328         Reported by Ian Beckwith <ianb@erislabs.net>.
34329
34330 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
34331             Bruno Haible  <bruno@clisp.org>
34332
34333         diffseq: Accommodate use-case with abstract arrays.
34334         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
34335         is not defined.
34336         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
34337         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
34338
34339 2010-04-18  Bruno Haible  <bruno@clisp.org>
34340
34341         * doc/posix-headers/stdbool.texi: More precise wording.
34342
34343 2010-04-17  Jim Meyering  <meyering@redhat.com>
34344
34345         maint.mk: use gnu-style indentation in an embedded perl script
34346         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
34347         Rename variable: s/two/last_two_bytes/
34348
34349 2010-04-16  Eric Blake  <eblake@redhat.com>
34350
34351         test-stdbool: skip test that fails with Solaris CC
34352         * tests/test-stdbool.c (f): Skip test that causes compilation
34353         error under buggy C++ compiler.
34354         * lib/stdbool.in.h: Document the limitation.
34355         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
34356
34357         setenv: allow compilation with C++
34358         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
34359         register keyword.
34360
34361         stdint: allow test to pass with C++
34362         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
34363
34364         getopt: allow compilation with C++
34365         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
34366         struct.
34367         * lib/getopt.c (_getopt_internal_r): Use correct type.
34368         Reported by Dagobert Michelson, via Joel E. Denny.
34369
34370 2010-04-16  Bruno Haible  <bruno@clisp.org>
34371
34372         Override netdb.h always.
34373         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
34374         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
34375         Reported by Ludovic Courtès <ludo@gnu.org>.
34376
34377 2010-04-15  Bruno Haible  <bruno@clisp.org>
34378
34379         openpty: Fix mistake from 2010-03-21.
34380         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
34381         Reported by Simon Josefsson.
34382
34383 2010-04-15  Eric Blake  <eblake@redhat.com>
34384
34385         test-forkpty: fix expected signature
34386         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
34387         Reported by Simon Josefsson.
34388
34389 2010-04-15  Jim Meyering  <meyering@redhat.com>
34390
34391         maint.mk: texinfo_suffix_re_: correct the default regexp
34392         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
34393
34394         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
34395         make it configurable via texinfo_suffix_re_.
34396
34397 2010-04-14  Eric Blake  <eblake@redhat.com>
34398
34399         strtok_r: relax license to LGPLv2+
34400         * modules/strtok_r (License): Relax license.
34401         Reported by Matthias Bolte.
34402
34403 2010-04-14  Simon Josefsson  <simon@josefsson.org>
34404
34405         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
34406         version 1.4.4 by default instead of requiring the libgcrypt
34407         version used during build.  This makes it possible to use the
34408         application with older but still binary compatible libgcrypt
34409         versions.
34410
34411 2010-04-13  Eric Blake  <eblake@redhat.com>
34412
34413         getopt-gnu: match recent glibc fixes and posix ruling
34414         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
34415         '+' handling, when requesting extensions.
34416         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
34417         'W;' handling.
34418         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
34419         * doc/posix-functions/getopt.texi (getopt): Document this.
34420         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34421         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34422         Likewise.
34423
34424         getopt: merge bug fixes from glibc
34425         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
34426         diagnostics.  Honor '+:' correctly.  Reject ';'.
34427
34428         getopt-posix: detect MacOS bug
34429         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
34430         optind when missing a required argument.
34431         * doc/posix-functions/getopt.texi (getopt): Document the bug.
34432         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34433         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34434         Likewise.
34435
34436         getopt-posix: avoid spurious failure on Solaris
34437         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
34438         an indicator that setting optind=1 is sufficient for reset.
34439
34440         getopt-posix: avoid spurious failure on FreeBSD
34441         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
34442         in POSIX mode, since the m4 test uses it.
34443
34444         gnulib-tool: silence warning on BSD sh
34445         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
34446
34447 2010-04-13  Jim Meyering  <meyering@redhat.com>
34448
34449         doc: users.txt: GNU patch now uses gnulib
34450         * users.txt: Add patch.
34451
34452 2010-04-12  Jim Meyering  <meyering@redhat.com>
34453
34454         maint.mk: generate more concise timing data for syntax-check rules
34455         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34456         " done" from each line that reports a syntax-check test duration.
34457
34458 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34459
34460         git-version-gen: use "git update-index..." rather than "git status"
34461         * build-aux/git-version-gen: Use git update-index --refresh, not
34462         "git status".  With some versions of git, "git status" would fail
34463         to update the index and result in an unwarranted "-dirty" suffix.
34464
34465 2010-04-11  Jim Meyering  <meyering@redhat.com>
34466
34467         openat: correct formatting (no semantic change)
34468         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34469         Suggested by Bruno Haible.
34470
34471 2010-04-11  Bruno Haible  <bruno@clisp.org>
34472
34473         Stricter declaration checking in testdirs.
34474         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34475         If for_tests is true, augment AM_CPPFLAGS to define
34476         GNULIB_STRICT_CHECKING.
34477         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34478         GNULIB_STRICT_CHECKING is defined, verify that the function is
34479         declared.
34480
34481 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34482             Bruno Haible  <bruno@clisp.org>
34483
34484         libunistring: Improve configure output.
34485         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34486         Don't say "consider installing GNU libunistring" when checking again
34487         with libiconv.
34488
34489 2010-04-11  Bruno Haible  <bruno@clisp.org>
34490
34491         libunistring: Correct value of $LTLIBUNISTRING.
34492         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34493         correct the value of $LTLIBUNISTRING.
34494
34495 2010-04-11  Bruno Haible  <bruno@clisp.org>
34496
34497         havelib: Add static libraries to LIBS in the right order.
34498         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34499         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34500
34501 2010-04-11  Bruno Haible  <bruno@clisp.org>
34502
34503         libunistring: Detect libunistring also when it depends on libiconv.
34504         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34505         the second AC_LIB_HAVE_LINKFLAGS invocation.
34506
34507 2010-04-11  James Youngman  <jay@gnu.org>
34508
34509         close-stream: declare local scalars to be "const"
34510         * lib/close-stream.c (close_stream): Make boolean variables const
34511         to document the fact that we set but do not change them.
34512
34513 2010-04-11  Bruno Haible  <bruno@clisp.org>
34514
34515         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34516
34517 2010-04-11  Jim Meyering  <meyering@redhat.com>
34518
34519         maint.mk: don't include dist-check.mk
34520         * top/maint.mk: Remove bogus include directive.
34521
34522         maint.mk: improve empty-line-at-EOF check
34523         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34524         solution, rather than tail+Perl-based one.  The latter would read
34525         a few kilobytes from the end of each file, and did not handle empty
34526         files properly.
34527
34528         maint.mk: print the elapsed time for each syntax-check rule
34529         * top/maint.mk (sc_m_rules_): Save start time in a file.
34530         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34531         (local-check): Interpose the .z rules
34532
34533 2010-04-11  Jim Meyering  <meyering@redhat.com>
34534
34535         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34536         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34537         empty file with one that ends in an empty line.
34538
34539 2010-04-10  Bruno Haible  <bruno@clisp.org>
34540
34541         mkdir: Make it work on mingw64.
34542         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34543         * lib/mkdir.c: Update comment.
34544         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
34545
34546 2010-04-10  Bruno Haible  <bruno@clisp.org>
34547
34548         Don't override improved macro from newer autoconf.
34549         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34550         autoconf >= 2.62.
34551         Reported by Joel E. Denny <jdenny@clemson.edu>.
34552
34553 2010-04-10  Jim Meyering  <meyering@redhat.com>
34554
34555         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34556         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34557
34558         maint.mk: correct a diagnostic
34559         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34560         in diagnostic; now use $prohibit.
34561
34562 2010-04-10  Bruno Haible  <address@hidden>
34563
34564         fchownat: Fix a C++ test error on Solaris 8.
34565         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34566         the function does not exist.
34567
34568 2010-04-10  Bruno Haible  <bruno@clisp.org>
34569
34570         vasnprintf: Add more tests.
34571         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34572         (test_function): Test converting an invalid wide string.
34573
34574         vasnprintf: Correct handling of unconvertible wide string arguments.
34575         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34576         VASNPRINTF.
34577         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34578         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34579         smaller than the expected maximum need for the directive. Set errno to
34580         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34581         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34582         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34583         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34584         * modules/vasnprintf (Files): Add m4/printf.m4.
34585         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34586
34587 2010-04-10  Bruno Haible  <bruno@clisp.org>
34588
34589         vasnprintf: Fix crash in %ls directive.
34590         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34591         string is passed as argument to %ls, with no precision and no width.
34592         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34593
34594 2010-04-10  Bruno Haible  <bruno@clisp.org>
34595
34596         vasnprintf: Fix multiple test failures on mingw.
34597         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34598         _snprintf, or snwprintf, not _snwprintf.
34599
34600 2010-04-10  Bruno Haible  <bruno@clisp.org>
34601
34602         write: Fix a C++ test error on mingw.
34603         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34604
34605 2010-04-10  Bruno Haible  <bruno@clisp.org>
34606
34607         vasnprintf test: Reduce code duplication.
34608         * tests/test-vasnprintf.c (test_function): New function, extracted from
34609         test_vasnprintf.
34610         (test_vasnprintf, test_asnprintf): Invoke it.
34611
34612 2010-04-10  Bruno Haible  <bruno@clisp.org>
34613
34614         strnlen: Fix warning in C++ mode on MacOS X.
34615         * lib/string.in.h (strnlen): Use the modern idiom.
34616         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34617         defining strnlen as a macro already in <config.h>.
34618         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34619         REPLACE_STRNLEN.
34620         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34621         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34622
34623 2010-04-08  James Youngman  <jay@gnu.org>
34624
34625         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34626         the example.
34627
34628 2010-04-09  Jim Meyering  <meyering@redhat.com>
34629
34630         maint.mk: print better diagnostic when there is no $(_hv_file)
34631         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34632         announce that when $(_hv_file) (aka help-version) does not exist.
34633
34634         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34635         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34636         not try to interpret its random input bytes.  Jarno Rajahalme reported
34637         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34638         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34639         (mktempd_): Likewise, just in case.
34640
34641         ftruncate: add two years to projected module removal date: 2012
34642         * m4/ftruncate.m4: Adjust comments.
34643
34644         ftruncate: mark module as obsolete; even MinGW provides it, now
34645         * modules/ftruncate (Status): Obsolete.
34646         (Notice): Say that.
34647         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34648         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34649
34650 2010-04-08  Bruno Haible  <bruno@clisp.org>
34651
34652         Fix side effects from tests-related modules.
34653         * modules/dprintf-posix (Comment): New section.
34654         * modules/fprintf-posix (Comment): Likewise.
34655         * modules/obstack-printf-posix (Comment): Likewise.
34656         * modules/printf-posix (Comment): Likewise.
34657         * modules/snprintf-posix (Comment): Likewise.
34658         * modules/sprintf-posix (Comment): Likewise.
34659         * modules/vasnprintf-posix (Comment): Likewise.
34660         * modules/vasprintf-posix (Comment): Likewise.
34661         * modules/vdprintf-posix (Comment): Likewise.
34662         * modules/vfprintf-posix (Comment): Likewise.
34663         * modules/vprintf-posix (Comment): Likewise.
34664         * modules/vsnprintf-posix (Comment): Likewise.
34665         * modules/vsprintf-posix (Comment): Likewise.
34666         * modules/xprintf-posix (Comment): Likewise.
34667         * modules/xvasprintf-posix (Comment): Likewise.
34668         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34669         * modules/floorf-tests (Depends-on): Likewise.
34670         * modules/round-tests (Depends-on): Likewise.
34671         * modules/roundf-tests (Depends-on): Likewise.
34672         * modules/trunc-tests (Depends-on): Likewise.
34673         * modules/truncf-tests (Depends-on): Likewise.
34674         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34675         'fprintf-posix' module is not present.
34676         * tests/test-floorf2.c (check): Likewise.
34677         * tests/test-trunc2.c (check): Likewise.
34678         * tests/test-truncf2.c (check): Likewise.
34679         * tests/test-round2.c (equal): Likewise.
34680         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34681
34682 2010-04-07  Karl Berry  <karl@gnu.org>
34683
34684         * config/srclist.txt,
34685         * config/srclistvars.sh,
34686         * config/srclist-update: doc fixes.
34687
34688 2010-04-07  Jim Meyering  <meyering@redhat.com>
34689
34690         maint.mk: add a PATH crosschecking syntax-check rule
34691         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34692         Useful if you use a test like the one in help-version (coreutils,
34693         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34694         printed by prog --version.
34695
34696 2010-04-06  Bruno Haible  <bruno@clisp.org>
34697
34698         Fix link error on mingw.
34699         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34700         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34701
34702 2010-04-06  Bruno Haible  <bruno@clisp.org>
34703
34704         Assume rmdir exists.
34705         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34706
34707 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34708
34709         doc: update users.txt
34710         * users.txt: Add gcal.
34711
34712 2010-04-06  Jim Meyering  <meyering@redhat.com>
34713
34714         init.sh: simply unset TMPDIR rather than risking env -i
34715         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34716         although it probably works fine on all Unix-based systems, some
34717         systems (Cygwin?) cannot tolerate a totally cleared environment.
34718         Suggestion from Eric Blake.
34719
34720 2010-04-06  Jim Meyering  <meyering@redhat.com>
34721
34722         init.sh: portability fix: use env's POSIX-specified -i option not -u
34723         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34724         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34725
34726 2010-04-05  Bruno Haible  <bruno@clisp.org>
34727
34728         btowc: Work around Cygwin 1.7.2 bug.
34729         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34730         does not map NUL to 0.
34731         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34732
34733 2010-04-05  Bruno Haible  <bruno@clisp.org>
34734
34735         Make the multithread modules work on Cygwin 1.7.2.
34736         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34737         imported symbols can be declared weak, so that it returns "no" on
34738         Cygwin 1.7.2.
34739
34740 2010-04-05  Bruno Haible  <bruno@clisp.org>
34741
34742         Use the module 'strncat'.
34743         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34744
34745         Tests for module 'strncat'.
34746         * modules/strncat-tests: New file.
34747         * tests/test-strncat.c: New file.
34748
34749         New module 'strncat'.
34750         * lib/string.in.h (strncat): New declaration.
34751         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34752         * m4/strncat.m4: New file, based on m4/memchr.m4.
34753         * modules/strncat: New file.
34754         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34755         is declared.
34756         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34757         REPLACE_STRNCAT.
34758         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34759         REPLACE_STRNCAT.
34760         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34761         module.
34762         * tests/test-string-c++.cc: Check signature of strncat.
34763
34764 2010-04-05  Jim Meyering  <meyering@redhat.com>
34765
34766         xstrtoumax-tests: convert to use init.sh
34767         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34768         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34769         Use Exit, not exit.
34770         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34771
34772         xstrtoimax-tests: convert to use init.sh
34773         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34774         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34775         Use Exit, not exit.
34776         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34777
34778 2010-04-05  Bruno Haible  <bruno@clisp.org>
34779
34780         sys_socket: Avoid #define replacements in C++ mode.
34781         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34782         warning to the function if possible, rather than #defining the symbol
34783         to a dysfunctional alias.
34784
34785 2010-04-05  Bruno Haible  <bruno@clisp.org>
34786
34787         fseeko: Fix C++ test error on mingw.
34788         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34789         gl_FUNC_FSEEKO.
34790         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34791         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34792         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34793         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34794
34795 2010-04-05  Bruno Haible  <bruno@clisp.org>
34796
34797         duplocale: Improve test output.
34798         * tests/test-duplocale.c (main): Print reason for skipped test.
34799
34800 2010-04-05  Bruno Haible  <bruno@clisp.org>
34801
34802         Assume rmdir exists.
34803         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34804         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34805
34806 2010-04-05  Bruno Haible  <bruno@clisp.org>
34807
34808         Fix link error on Solaris 8 with cc.
34809         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34810
34811 2010-04-05  Bruno Haible  <bruno@clisp.org>
34812
34813         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34814         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34815
34816 2010-04-05  Bruno Haible  <bruno@clisp.org>
34817
34818         vasprintf: Update documentation.
34819         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34820
34821 2010-04-05  Bruno Haible  <bruno@clisp.org>
34822
34823         ptsname: Improve test.
34824         * tests/test-ptsname.c (main): Also try the various master names of BSD
34825         systems.
34826
34827 2010-04-05  Bruno Haible  <bruno@clisp.org>
34828
34829         memchr: Avoid a possible C++ test error.
34830         * lib/string.in.h (memchr): Provide declaration if function is missing.
34831         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34832         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34833         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34834         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34835
34836 2010-04-05  Bruno Haible  <bruno@clisp.org>
34837
34838         strtok_r: Improve idiom.
34839         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34840         AC_LIBOBJ is used.
34841
34842 2010-04-05  Bruno Haible  <bruno@clisp.org>
34843
34844         strdup: Improve idiom.
34845         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34846         AC_LIBOBJ is used.
34847         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34848         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34849         when AC_LIBOBJ is used.
34850
34851 2010-04-05  Bruno Haible  <bruno@clisp.org>
34852
34853         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34854         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34855         don't set REPLACE_MBSINIT to 1.
34856         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34857         don't set REPLACE_MBRTOWC to 1.
34858         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34859         exist, don't set REPLACE_MBSRTOWCS to 1.
34860         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34861         exist, don't set REPLACE_MBSNRTOWCS to 1.
34862         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34863         don't set REPLACE_WCRTOMB to 1.
34864         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34865         exist, don't set REPLACE_WCSRTOMBS to 1.
34866         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34867         exist, don't set REPLACE_WCSNRTOMBS to 1.
34868
34869 2010-04-05  Bruno Haible  <bruno@clisp.org>
34870
34871         ldexpl: Improve idiom.
34872         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34873         make sure to set HAVE_DECL_LDEXPL to 0.
34874
34875 2010-04-05  Jim Meyering  <meyering@redhat.com>
34876
34877         xstrtol-tests: convert to use init.sh
34878         * modules/xstrtol-tests (Files): Add tests/init.sh.
34879         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34880         Use Exit, not exit.
34881         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34882
34883         atexit-tests: convert to use init.sh
34884         * modules/atexit-tests (Files): Add tests/init.sh.
34885         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34886         Use Exit, not exit.
34887         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34888
34889         init.sh: fix typo
34890         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34891
34892         init.sh: make it easier for a test script to write to the tty, ...
34893         when using automake's parallel-tests mode.
34894         * tests/init.sh (stderr_fileno_): Define overridable variable.
34895         (warn_): New function, to use it.
34896         (fail_, skip_, framework_failure_): Use warn_.
34897
34898 2010-04-04  Bruno Haible  <bruno@clisp.org>
34899
34900         btowc: Avoid warning.
34901         * lib/btowc.c: Include <stdlib.h>.
34902         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34903
34904 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34905             Bruno Haible  <bruno@clisp.org>
34906
34907         wchar: Port to NetBSD 1.5.
34908         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34909         * lib/wctype.in.h (WEOF): Likewise.
34910
34911 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34912             Bruno Haible  <bruno@clisp.org>
34913
34914         Port extended stdio to NetBSD 1.5.
34915         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34916         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34917         older.
34918
34919 2010-04-04  Bruno Haible  <bruno@clisp.org>
34920
34921         string: Remove unused substitution.
34922         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34923         HAVE_DECL_STRERROR.
34924         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34925
34926 2010-04-04  Bruno Haible  <bruno@clisp.org>
34927
34928         strtod: Avoid a possible C++ test error.
34929         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34930         set REPLACE_STRTOD.
34931
34932 2010-04-04  Bruno Haible  <bruno@clisp.org>
34933
34934         strerror: Update documentation.
34935         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34936
34937 2010-04-04  Bruno Haible  <bruno@clisp.org>
34938
34939         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34940         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34941         _GL_CXXALIAS_SYS_CAST.
34942
34943 2010-04-04  Bruno Haible  <bruno@clisp.org>
34944
34945         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34946         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34947         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34948         REPLACE_FREXPL to 1.
34949         * doc/posix-functions/frexpl.texi: Update documentation.
34950
34951 2010-04-04  Bruno Haible  <bruno@clisp.org>
34952
34953         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34954         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34955
34956 2010-04-04  Bruno Haible  <bruno@clisp.org>
34957
34958         Implement nanosleep for native Windows.
34959         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34960
34961 2010-04-04  Bruno Haible  <bruno@clisp.org>
34962
34963         math: Fix some C++ test errors on Solaris 8.
34964         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34965
34966 2010-04-04  Bruno Haible  <bruno@clisp.org>
34967
34968         math: Fix some C++ test errors on Cygwin.
34969         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34970         truncl): Provide declaration if the system does not have it.
34971         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34972         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34973         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34974         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34975         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34976         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34977         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34978         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34979         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34980         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34981         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34982         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34983         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34984         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34985         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34986         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34987         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34988         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34989         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34990         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34991         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34992         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34993
34994 2010-04-04  Bruno Haible  <bruno@clisp.org>
34995
34996         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34997         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34998         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34999         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
35000         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
35001         * m4/isinf.m4 (gl_ISINF): Likewise.
35002         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
35003
35004 2010-04-04  Bruno Haible  <bruno@clisp.org>
35005
35006         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
35007         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
35008
35009 2010-04-04  Bruno Haible  <bruno@clisp.org>
35010
35011         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
35012         * modules/tmpfile (configure.ac): Update.
35013
35014         tmpfile: Fix C++ test error on mingw.
35015         * lib/stdio.in.h (tmpfile): New declaration.
35016         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
35017         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
35018         * modules/tmpfile (Depends-on): Add stdio.
35019         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35020         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
35021         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
35022         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
35023         REPLACE_TMPFILE.
35024         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
35025
35026 2010-04-04  Bruno Haible  <bruno@clisp.org>
35027
35028         ioctl: Fix C++ test error on mingw.
35029         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
35030         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
35031         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
35032
35033 2010-04-03  Bruno Haible  <bruno@clisp.org>
35034
35035         wcwidth: Fix C++ test error on mingw.
35036         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
35037         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
35038         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
35039
35040 2010-04-03  Bruno Haible  <bruno@clisp.org>
35041
35042         nanosleep: Fix C++ test error on mingw.
35043         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
35044         * lib/time.in.h (nanosleep): Use modern idiom.
35045         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
35046         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
35047         REPLACE_NANOSLEEP to 1.
35048         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
35049         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
35050
35051 2010-04-03  Bruno Haible  <bruno@clisp.org>
35052
35053         strptime: Fix C++ test error on mingw.
35054         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
35055         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
35056         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
35057         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
35058         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
35059         not REPLACE_STRPTIME.
35060         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
35061         REPLACE_STRPTIME.
35062
35063 2010-04-03  Bruno Haible  <bruno@clisp.org>
35064
35065         timegm: Fix C++ test error on mingw.
35066         * lib/time.in.h (timegm): Use modern idiom.
35067         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
35068         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
35069         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
35070         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
35071
35072 2010-04-03  Bruno Haible  <bruno@clisp.org>
35073
35074         timegm: Assume declaration if function exists.
35075         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
35076         if it exists. Don't clobber ac_cv_func_timegm.
35077
35078 2010-04-03  Bruno Haible  <bruno@clisp.org>
35079
35080         time_r: Fix C++ test error on mingw.
35081         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
35082         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
35083         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
35084         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
35085         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
35086
35087 2010-04-03  Bruno Haible  <bruno@clisp.org>
35088
35089         time_r: Minor updates.
35090         * modules/time_r (Description): Mention the provided functions.
35091         * lib/time_r.c: Don't include <string.h>.
35092         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
35093         * doc/posix-functions/localtime_r.texi: Likewise.
35094
35095 2010-04-03  Bruno Haible  <bruno@clisp.org>
35096
35097         time: Fix regression introduced on 2010-03-08.
35098         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
35099         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
35100
35101 2010-04-03  Jim Meyering  <meyering@redhat.com>
35102
35103         maint.mk: don't silently disable project-specific syntax-check rules
35104         * top/maint.mk (_prohibit_regexp): Define, to help people realize
35105         that they need to convert their project-specific syntax-check rules
35106         to use the new _sc_search_regexp.
35107
35108 2010-04-03  Bruno Haible  <bruno@clisp.org>
35109
35110         fchdir: Fix regression introduced on 2010-03-08.
35111         * lib/unistd.in.h (fchdir): Fix declaration.
35112         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
35113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
35114         REPLACE_FCHDIR.
35115         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
35116         REPLACE_FCHDIR.
35117
35118 2010-04-03  Bruno Haible  <bruno@clisp.org>
35119
35120         getpagesize: Fix C++ test error on mingw.
35121         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
35122         system does not declare the function.
35123         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
35124         declared.
35125         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35126         HAVE_DECL_GETPAGESIZE.
35127         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
35128
35129 2010-04-03  Bruno Haible  <bruno@clisp.org>
35130
35131         stdio: Make C++ tests work on mingw.
35132         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
35133         does not declare the function.
35134
35135 2010-04-03  Bruno Haible  <bruno@clisp.org>
35136
35137         ftello: Fix C++ test error on mingw.
35138         * lib/stdio.in.h (ftello): Use modern idiom.
35139         * lib/ftello.c (ftello): Renamed from rpl_ftello.
35140         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
35141         is missing and that it needs to be replaced.
35142         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
35143         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
35144         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
35145
35146 2010-04-03  Bruno Haible  <bruno@clisp.org>
35147
35148         fseeko: Fix C++ test error on mingw.
35149         * lib/stdio.in.h (fseeko): Use modern idiom.
35150         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
35151         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
35152         is missing and that it needs to be replaced.
35153         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
35154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
35155         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
35156
35157 2010-04-03  Bruno Haible  <bruno@clisp.org>
35158
35159         mkstemp: Fix C++ test error on mingw.
35160         * lib/stdlib.in.h (mkstemp): Use modern idiom.
35161         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
35162         function is missing and that it needs to be replaced.
35163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
35164         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
35165
35166 2010-04-03  Bruno Haible  <bruno@clisp.org>
35167
35168         stpncpy: Fix C++ test error on mingw.
35169         * lib/string.in.h (stpncpy): Use modern idiom.
35170         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
35171         function is missing and that it needs to be replaced.
35172         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35173         REPLACE_STPNCPY.
35174         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
35175
35176 2010-04-03  Bruno Haible  <bruno@clisp.org>
35177
35178         sys_stat: Fix C++ test error on mingw.
35179         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
35180         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
35181
35182 2010-04-03  Bruno Haible  <bruno@clisp.org>
35183
35184         pty: Update doc.
35185         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
35186
35187 2010-04-03  Bruno Haible  <bruno@clisp.org>
35188
35189         unistd: Fix C++ test error on mingw.
35190         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
35191
35192 2010-04-03  Bruno Haible  <bruno@clisp.org>
35193
35194         Update doc regarding mingw.
35195         * doc/glibc-functions/openpty.texi: Update regarding mingw.
35196         * doc/glibc-functions/login_tty.texi: Likewise.
35197         * doc/glibc-functions/forkpty.texi: Likewise.
35198
35199 2010-04-03  Bruno Haible  <bruno@clisp.org>
35200
35201         stdlib: Avoid compilation failure of c-strtold on mingw.
35202         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
35203
35204 2010-04-03  Bruno Haible  <bruno@clisp.org>
35205
35206         locale: Make C++ tests work on Cygwin and mingw.
35207         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
35208         cannot provide the function.
35209         Reported by Simon Josefsson.
35210
35211 2010-04-03  Bruno Haible  <bruno@clisp.org>
35212
35213         localename: Port to MacOS X 10.6.
35214         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
35215         memory layout of the locales in MacOS X 10.6 as well.
35216         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
35217
35218 2010-04-02  Bruno Haible  <bruno@clisp.org>
35219
35220         gnulib-tool: Ensure that long-running tests are executed last.
35221         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
35222         running tests after the one for the other tests.
35223
35224 2010-04-02  Bruno Haible  <bruno@clisp.org>
35225
35226         gnulib-tool: Ensure the tests in the main directory are executed first.
35227         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
35228         start with the current directory.
35229
35230 2010-04-02  Bruno Haible  <bruno@clisp.org>
35231
35232         Tests for module 'havelib', moved here from GNU gettext.
35233         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
35234         modifications.
35235         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
35236         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
35237         with modifications.
35238         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
35239         modifications.
35240         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
35241         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
35242         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
35243         with modifications.
35244         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
35245         with modifications.
35246         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
35247         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
35248         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
35249         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
35250         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
35251         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
35252         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
35253         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
35254         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
35255         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
35256         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
35257         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
35258         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
35259         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
35260         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
35261         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
35262         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
35263         with modifications.
35264         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
35265         with modifications.
35266         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
35267         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
35268         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
35269         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
35270         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
35271         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
35272         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
35273         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
35274         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
35275         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
35276         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
35277         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
35278         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
35279         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
35280         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
35281         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
35282         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
35283         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
35284         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
35285         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
35286         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
35287         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
35288         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
35289         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
35290         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
35291         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
35292         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
35293         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
35294         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
35295         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
35296         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
35297         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
35298         * tests/havelib/rpathx/rpathx.c: New file, from
35299         gettext/autoconf-lib-link.
35300         * tests/havelib/rpathx/Makefile.am: New file, from
35301         gettext/autoconf-lib-link.
35302         * tests/havelib/rpathx/configure.ac: New file, from
35303         gettext/autoconf-lib-link with modifications.
35304         * tests/havelib/rpathy/rpathy.c: New file, from
35305         gettext/autoconf-lib-link.
35306         * tests/havelib/rpathy/Makefile.am: New file, from
35307         gettext/autoconf-lib-link.
35308         * tests/havelib/rpathy/configure.ac: New file, from
35309         gettext/autoconf-lib-link with modifications.
35310         * tests/havelib/rpathz/rpathz.c: New file, from
35311         gettext/autoconf-lib-link.
35312         * tests/havelib/rpathz/Makefile.am: New file, from
35313         gettext/autoconf-lib-link.
35314         * tests/havelib/rpathz/configure.ac: New file, from
35315         gettext/autoconf-lib-link with modifications.
35316         * tests/havelib/rpathlx/usex.c: New file, from
35317         gettext/autoconf-lib-link.
35318         * tests/havelib/rpathlx/Makefile.am: New file, from
35319         gettext/autoconf-lib-link.
35320         * tests/havelib/rpathlx/configure.ac: New file, from
35321         gettext/autoconf-lib-link with modifications.
35322         * tests/havelib/rpathly/usey.c: New file, from
35323         gettext/autoconf-lib-link.
35324         * tests/havelib/rpathly/Makefile.am: New file, from
35325         gettext/autoconf-lib-link.
35326         * tests/havelib/rpathly/configure.ac: New file, from
35327         gettext/autoconf-lib-link with modifications.
35328         * tests/havelib/rpathlz/usez.c: New file, from
35329         gettext/autoconf-lib-link.
35330         * tests/havelib/rpathlz/Makefile.am: New file, from
35331         gettext/autoconf-lib-link.
35332         * tests/havelib/rpathlz/configure.ac: New file, from
35333         gettext/autoconf-lib-link with modifications.
35334         * tests/havelib/rpathlyx/usey.c: New file, from
35335         gettext/autoconf-lib-link.
35336         * tests/havelib/rpathlyx/Makefile.am: New file, from
35337         gettext/autoconf-lib-link.
35338         * tests/havelib/rpathlyx/configure.ac: New file, from
35339         gettext/autoconf-lib-link with modifications.
35340         * tests/havelib/rpathlzyx/usez.c: New file, from
35341         gettext/autoconf-lib-link.
35342         * tests/havelib/rpathlzyx/Makefile.am: New file, from
35343         gettext/autoconf-lib-link.
35344         * tests/havelib/rpathlzyx/configure.ac: New file, from
35345         gettext/autoconf-lib-link with modifications.
35346         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
35347         with modifications.
35348
35349 2010-04-02  Bruno Haible  <bruno@clisp.org>
35350
35351         gnulib-tool: Create distributed built sources also for the tests.
35352         * gnulib-tool (func_create_testdir): Also generate distributed built
35353         sources in the tests directory.
35354
35355 2010-04-02  Bruno Haible  <bruno@clisp.org>
35356
35357         gnulib-tool: Obey user's environment variables.
35358         * gnulib-tool (func_create_testdir): When creating built sources,
35359         respect the environment variables for autoconf, automake, etc. given by
35360         the user.
35361
35362 2010-04-02  Bruno Haible  <bruno@clisp.org>
35363
35364         gnulib-tool: Provide the value of --m4-base to modules.
35365         * gnulib-tool (func_import, func_create_testdir): Emit a definition
35366         of gl_m4_base.
35367
35368 2010-04-02  Eric Blake  <eblake@redhat.com>
35369
35370         maint.mk: fix some fallout
35371         * NEWS: Document the incompatible change, and its effect on cfg.mk.
35372         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
35373
35374 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35375
35376         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
35377         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
35378         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
35379         (sc_cast_of_x_alloc_return_value): Likewise.
35380         (sc_cast_of_alloca_return_value): Likewise.
35381         (sc_space_tab): Likewise.
35382         (sc_prohibit_atoi_atof): Likewise.
35383         (sc_prohibit_magic_number_exit): Likewise.
35384         (sc_error_exit_success): Likewise.
35385         (sc_file_system): Likewise.
35386         (sc_prohibit_have_config_h): Likewise.
35387         (sc_require_config_h): Likewise.
35388         (sc_prohibit_HAVE_MBRTOWC): Likewise.
35389         (sc_obsolete_symbols): Likewise.
35390         (sc_changelog): Likewise.
35391         (sc_program_name): Likewise.
35392         (sc_the_the): Likewise.
35393         (sc_trailing_blank): Likewise.
35394         (sc_two_space_separator_in_usage): Likewise.
35395         (sc_useless_cpp_parens): Likewise.
35396         (sc_GPL_version): Likewise.
35397         (sc_GFDL_version): Likewise.
35398         (sc_texinfo_acronym): Likewise.
35399         (sc_prohibit_cvs_keyword): Likewise.
35400         (sc_prohibit_stat_st_blocks): Likewise.
35401         (sc_prohibit_S_IS_definition): Likewise.
35402         (sc_redundant_const): Likewise.
35403         (sc_makefile_TAB_only_indentation): Likewise.
35404         (sc_m4_quote_check): Likewise.
35405         (sc_makefile_path_separator_check): Likewise.
35406         (sc_copyright_check): Likewise.
35407         (sc_Wundef_boolean): Likewise.
35408         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
35409
35410         maint.mk: match 0 or more whitespace-before-function-call '('
35411         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
35412         that have zero or two-and-more spaces between the function name
35413         and the open parenthesis.
35414         (sc_error_message_warn_fatal): Likewise.
35415         (sc_error_message_uppercase): Likewise.
35416         (sc_error_message_period): Likewise.
35417
35418 2010-03-31  Eric Blake  <eblake@redhat.com>
35419
35420         maint.mk: check for [ as well as test
35421         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
35422         Based on a libvirt report by Matthias Bolte.
35423
35424         gnumakefile: don't squelch _version output
35425         * top/GNUmakefile (_version): Create one-shot dependency rather
35426         than using $(shell) when version must be regenerated.
35427         (_autoreconf): Run verbosely, by default.
35428
35429         sys_time: avoid compiler warnings
35430         * lib/sys_time.in.h (includes): Ensure gcc pragma is
35431         unconditional, fixing regression from 2010-03-29.
35432         Reported by Simon Josefsson.
35433
35434 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35435
35436         maint.mk: s/_header_without_use/_sc_header_without_use/
35437         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
35438         (sc_prohibit_assert_without_use): Use the new name.
35439         (sc_prohibit_close_stream_without_use): Likewise.
35440         (sc_prohibit_getopt_without_use): Likewise.
35441         (sc_prohibit_quotearg_without_use): Likewise.
35442         (sc_prohibit_quote_without_use): Likewise.
35443         (sc_prohibit_long_options_without_use): Likewise.
35444         (sc_prohibit_inttostr_without_use): Likewise.
35445         (sc_prohibit_ignore_value_without_use): Likewise.
35446         (sc_prohibit_error_without_use): Likewise.
35447         (sc_prohibit_xalloc_without_use): Likewise.
35448         (sc_prohibit_hash_without_use): Likewise.
35449         (sc_prohibit_hash_pjw_without_use): Likewise.
35450         (sc_prohibit_safe_read_without_use): Likewise.
35451         (sc_prohibit_argmatch_without_use): Likewise.
35452         (sc_prohibit_canonicalize_without_use): Likewise.
35453         (sc_prohibit_root_dev_ino_without_use): Likewise.
35454         (sc_prohibit_openat_without_use): Likewise.
35455         (sc_prohibit_c_ctype_without_use): Likewise.
35456         (sc_prohibit_signal_without_use): Likewise.
35457         (sc_prohibit_intprops_without_use): Likewise.
35458
35459 2010-03-30  Eric Blake  <eblake@redhat.com>
35460
35461         maint: improve module indicators
35462         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35463         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35464         columns, and avoid extra macro expansion.
35465
35466         fdopendir: work around FreeBSD bug
35467         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35468         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35469         * modules/dirent (Makefile.am): Substitute it.
35470         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35471         declaration.
35472         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35473         fix.
35474         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35475
35476 2010-03-29  Bruno Haible  <bruno@clisp.org>
35477
35478         Emit #pragma system_header after the inclusion guard, not before.
35479         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35480         guard that spans the entire file, not before. This enables an
35481         optimization in GCC's preprocessor.
35482         * lib/ctype.in.h: Likewise.
35483         * lib/dirent.in.h: Likewise.
35484         * lib/errno.in.h: Likewise.
35485         * lib/float.in.h: Likewise.
35486         * lib/getopt.in.h: Likewise.
35487         * lib/iconv.in.h: Likewise.
35488         * lib/langinfo.in.h: Likewise.
35489         * lib/locale.in.h: Likewise.
35490         * lib/math.in.h: Likewise.
35491         * lib/netdb.in.h: Likewise.
35492         * lib/netinet_in.in.h: Likewise.
35493         * lib/pty.in.h: Likewise.
35494         * lib/sched.in.h: Likewise.
35495         * lib/se-selinux.in.h: Likewise.
35496         * lib/search.in.h: Likewise.
35497         * lib/spawn.in.h: Likewise.
35498         * lib/stdarg.in.h: Likewise.
35499         * lib/stdint.in.h: Likewise.
35500         * lib/string.in.h: Likewise.
35501         * lib/strings.in.h: Likewise.
35502         * lib/sys_file.in.h: Likewise.
35503         * lib/sys_ioctl.in.h: Likewise.
35504         * lib/sys_time.in.h: Likewise.
35505         * lib/sys_times.in.h: Likewise.
35506         * lib/sys_utsname.in.h: Likewise.
35507         * lib/sys_wait.in.h: Likewise.
35508         * lib/sysexits.in.h: Likewise.
35509         * lib/wctype.in.h: Likewise.
35510
35511 2010-03-28  James Youngman  <jay@gnu.org>
35512
35513         save-cwd: don't leak a file descriptor when the caller execs.
35514         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35515         saved file descriptor.
35516         * modules/save-cwd (Depends-on): Depend on cloexec.
35517
35518 2010-03-29  Bruno Haible  <bruno@clisp.org>
35519
35520         Remove vestiges of fts-lgpl module.
35521         * lib/fts_.h: Assume GNULIB_FTS is 1.
35522         * lib/fts.c: Likewise.
35523         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35524
35525 2010-03-28  Bruno Haible  <bruno@clisp.org>
35526
35527         Fix definition of tests witness macro.
35528         * gnulib-tool (func_import): Fix definition of witness macro.
35529
35530 2010-03-28  Bruno Haible  <bruno@clisp.org>
35531
35532         Fix ioctl's protoype on glibc systems.
35533         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35534         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35535         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35536         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35537         signature. If not, arrange to replace the ioctl function.
35538         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35539         REPLACE_IOCTL.
35540         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35541         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35542         Reported by Ludovic Courtès <ludo@gnu.org>.
35543
35544 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35545
35546         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35547         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35548         made it so grep -r --include=GLOB* ... did not work.
35549
35550 2010-03-26  Jim Meyering  <meyering@redhat.com>
35551             Eric Blake  <eblake@redhat.com>
35552
35553         maint.mk: prohibit use of test's -o and -a operators
35554         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35555
35556 2010-03-28  Bruno Haible  <bruno@clisp.org>
35557
35558         Remove unused GNULIB_XYZ macro definitions.
35559         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35560         invocation.
35561
35562 2010-03-28  Bruno Haible  <bruno@clisp.org>
35563
35564         Mark privileged tests modules.
35565         * modules/idpriv-drop-tests (Status): New section.
35566         * modules/idpriv-droptemp-tests (Status): New section.
35567
35568 2010-03-28  Bruno Haible  <bruno@clisp.org>
35569
35570         Split C++ tests into separate tests modules.
35571         * modules/dirent-c++-tests: New file, extracted from
35572         modules/dirent-tests.
35573         * modules/dirent-tests: Depend on it.
35574         * modules/fcntl-h-c++-tests: New file, extracted from
35575         modules/fcntl-h-tests.
35576         * modules/fcntl-h-tests: Depend on it.
35577         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35578         * modules/glob-tests: Depend on it.
35579         * modules/iconv-h-c++-tests: New file, extracted from
35580         modules/iconv-h-tests.
35581         * modules/iconv-h-tests: Depend on it.
35582         * modules/langinfo-c++-tests: New file, extracted from
35583         modules/langinfo-tests.
35584         * modules/langinfo-tests: Depend on it.
35585         * modules/locale-c++-tests: New file, extracted from
35586         modules/locale-tests.
35587         * modules/locale-tests: Depend on it.
35588         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35589         * modules/math-tests: Depend on it.
35590         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35591         * modules/pty-tests: Depend on it.
35592         * modules/search-c++-tests: New file, extracted from
35593         modules/search-tests.
35594         * modules/search-tests: Depend on it.
35595         * modules/signal-c++-tests: New file, extracted from
35596         modules/signal-tests.
35597         * modules/signal-tests: Depend on it.
35598         * modules/spawn-c++-tests: New file, extracted from
35599         modules/spawn-tests.
35600         * modules/spawn-tests: Depend on it.
35601         * modules/stdio-c++-tests: New file, extracted from
35602         modules/stdio-tests.
35603         * modules/stdio-tests: Depend on it.
35604         * modules/stdlib-c++-tests: New file, extracted from
35605         modules/stdlib-tests.
35606         * modules/stdlib-tests: Depend on it.
35607         * modules/string-c++-tests: New file, extracted from
35608         modules/string-tests.
35609         * modules/string-tests: Depend on it.
35610         * modules/sys_ioctl-c++-tests: New file, extracted from
35611         modules/sys_ioctl-tests.
35612         * modules/sys_ioctl-tests: Depend on it.
35613         * modules/sys_select-c++-tests: New file, extracted from
35614         modules/sys_select-tests.
35615         * modules/sys_select-tests: Depend on it.
35616         * modules/sys_socket-c++-tests: New file, extracted from
35617         modules/sys_socket-tests.
35618         * modules/sys_socket-tests: Depend on it.
35619         * modules/sys_stat-c++-tests: New file, extracted from
35620         modules/sys_stat-tests.
35621         * modules/sys_stat-tests: Depend on it.
35622         * modules/sys_time-c++-tests: New file, extracted from
35623         modules/sys_time-tests.
35624         * modules/sys_time-tests: Depend on it.
35625         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35626         * modules/time-tests: Depend on it.
35627         * modules/unistd-c++-tests: New file, extracted from
35628         modules/unistd-tests.
35629         * modules/unistd-tests: Depend on it.
35630         * modules/wchar-c++-tests: New file, extracted from
35631         modules/wchar-tests.
35632         * modules/wchar-tests: Depend on it.
35633         * modules/wctype-c++-tests: New file, extracted from
35634         modules/wctype-tests.
35635         * modules/wctype-tests: Depend on it.
35636         Reported by Simon Josefsson.
35637
35638 2010-03-28  Bruno Haible  <bruno@clisp.org>
35639
35640         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35641         * gnulib-tool (func_exists_module): New function, extracted from
35642         func_verify_module.
35643         (func_verify_module): Use it.
35644         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35645         'foo' only if 'foo' exists.
35646         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35647         module.
35648
35649 2010-03-28  Bruno Haible  <bruno@clisp.org>
35650
35651         gnulib-tool: Add support for special categories of tests.
35652         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35653         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35654         (func_usage): Document them.
35655         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35656         inc_unportable_tests, inc_all_tests): New variables.
35657         (func_acceptable): Consider these variables.
35658         (func_modules_transitive_closure): Make it work when the 'Status' field
35659         consists of multiple words.
35660         (func_import): Store and restore the values of inc_cxx_tests,
35661         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35662         inc_all_tests in gnulib-comp.m4.
35663         (func_create_testdir): Set inc_all_tests to true.
35664         * doc/gnulib.texi (Extra tests modules): New section.
35665         Suggested by Jim Meyering.
35666
35667 2010-03-28  Bruno Haible  <bruno@clisp.org>
35668
35669         ansi-c++-opt: Allow turning off the C++ build by default.
35670         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35671         gl_CXX_CHOICE_DEFAULT_NO is defined.
35672         Requested by Eric Blake.
35673
35674 2010-03-28  Bruno Haible  <bruno@clisp.org>
35675
35676         unistd: Avoid #define replacements in C++ mode.
35677         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35678         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35679         setsockopt, shutdown, select): In C++, attach a warning to the function
35680         if possible, rather than #defining the symbol to a dysfunctional alias.
35681         Reported by John W. Eaton <jwe@gnu.org>.
35682
35683 2010-03-28  Bruno Haible  <bruno@clisp.org>
35684
35685         Fix link errors on mingw.
35686         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35687         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35688         $(LIBSOCKET).
35689         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35690         $(LIBSOCKET).
35691
35692 2010-03-28  Bruno Haible  <bruno@clisp.org>
35693             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35694
35695         lib-ignore: Determine different options for different compilers.
35696         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35697         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35698         Add comments.
35699         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35700         * NEWS: Mention the change.
35701
35702 2010-03-27  Bruno Haible  <bruno@clisp.org>
35703
35704         Remove unused GNULIB_XYZ macro definitions.
35705         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35706         * modules/fseek (configure.ac): Likewise.
35707         * modules/ioctl (configure.ac): Likewise.
35708         * modules/open (configure.ac): Likewise.
35709         * modules/stdlib-safer (configure.ac): Likewise.
35710
35711 2010-03-27  Bruno Haible  <bruno@clisp.org>
35712
35713         Add a remark about certain modules.
35714         * modules/malloc (Comment): New section.
35715         * modules/realloc (Comment): Likewise.
35716         * modules/sigpipe (Comment): Likewise.
35717
35718 2010-03-27  Bruno Haible  <bruno@clisp.org>
35719
35720         Resolve conflict between the two kinds of module indicators.
35721         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35722         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35723         * modules/canonicalize (configure.ac): Invoke
35724         gl_MODULE_INDICATOR_FOR_TESTS.
35725         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35726         GNULIB_XYZ.
35727         * tests/test-dirent-c++.cc: Likewise.
35728         * tests/test-dirent-safer.c: Likewise.
35729         * tests/test-dup2.c: Likewise.
35730         * tests/test-fchdir.c: Likewise.
35731         * tests/test-fcntl-h-c++.cc: Likewise.
35732         * tests/test-getopt.c: Likewise.
35733         * tests/test-getopt.h: Likewise.
35734         * tests/test-langinfo-c++.cc: Likewise.
35735         * tests/test-locale-c++.cc: Likewise.
35736         * tests/test-math-c++.cc: Likewise.
35737         * tests/test-pty-c++.cc: Likewise.
35738         * tests/test-search-c++.cc: Likewise.
35739         * tests/test-signal-c++.cc: Likewise.
35740         * tests/test-spawn-c++.cc: Likewise.
35741         * tests/test-stdio-c++.cc: Likewise.
35742         * tests/test-stdlib-c++.cc: Likewise.
35743         * tests/test-string-c++.cc: Likewise.
35744         * tests/test-sys_ioctl-c++.cc: Likewise.
35745         * tests/test-sys_select-c++.cc: Likewise.
35746         * tests/test-sys_socket-c++.cc: Likewise.
35747         * tests/test-sys_stat-c++.cc: Likewise.
35748         * tests/test-sys_time-c++.cc: Likewise.
35749         * tests/test-time-c++.cc: Likewise.
35750         * tests/test-unistd-c++.cc: Likewise.
35751         * tests/test-wchar-c++.cc: Likewise.
35752         * tests/uninorm/test-u8-nfc.c: Likewise.
35753         * tests/uninorm/test-u8-nfd.c: Likewise.
35754         * tests/uninorm/test-u8-nfkc.c: Likewise.
35755         * tests/uninorm/test-u8-nfkd.c: Likewise.
35756         * tests/uninorm/test-u16-nfc.c: Likewise.
35757         * tests/uninorm/test-u16-nfd.c: Likewise.
35758         * tests/uninorm/test-u16-nfkc.c: Likewise.
35759         * tests/uninorm/test-u16-nfkd.c: Likewise.
35760         * tests/uninorm/test-u32-nfc.c: Likewise.
35761         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35762         * tests/uninorm/test-u32-nfd.c: Likewise.
35763         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35764         * tests/uninorm/test-u32-nfkc.c: Likewise.
35765         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35766         * tests/uninorm/test-u32-nfkd.c: Likewise.
35767         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35768         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35769
35770 2010-03-27  Bruno Haible  <bruno@clisp.org>
35771
35772         Distinguish two kinds of module indicators.
35773         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35774         gl_MODULE_INDICATOR.
35775         (gl_MODULE_INDICATOR): New macro.
35776         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35777         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35778         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35779         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35780         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35781         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35782         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35783         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35784         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35785         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35786         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35787         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35788         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35789         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35790         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35791         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35792         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35793         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35794         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35795         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35796         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35797         * modules/cloexec (configure.ac): Likewise.
35798         * modules/getopt-gnu (configure.ac): Likewise.
35799         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35800         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35801         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35802         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35803
35804 2010-03-27  Bruno Haible  <bruno@clisp.org>
35805
35806         New module description field 'Comment'.
35807         * gnulib-tool: New option --extract-comment.
35808         (func_usage): Document it.
35809         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35810         (func_get_comment): New function.
35811         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35812
35813 2010-03-27  Bruno Haible  <bruno@clisp.org>
35814
35815         Addendum to 2010-02-07 commit.
35816         * gnulib-tool (func_usage): Document --extract-applicability option.
35817
35818 2010-03-27  Bruno Haible  <bruno@clisp.org>
35819
35820         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35821         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35822         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35823         rather than link errors.
35824
35825 2010-03-27  Bruno Haible  <bruno@clisp.org>
35826
35827         Avoid side effects from tests-related modules on the compilation of lib.
35828         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35829         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35830         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35831         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35832         macro.
35833         (func_import): Define a witness macro. Assign it a value that depends
35834         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35835         tests-related modules.
35836         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35837         Reported by Jim Meyering.
35838
35839 2010-03-27  Bruno Haible  <bruno@clisp.org>
35840
35841         Factorize common .m4 code.
35842         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35843         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35844         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35845         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35846         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35847         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35848         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35849         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35850         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35851         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35852         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35853         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35854         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35855         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35856         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35857         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35858         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35859         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35860         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35861         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35862         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35863         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35864         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35865         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35866         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35867         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35868         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35869         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35870         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35871         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35872         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35873         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35874
35875 2010-03-27  Bruno Haible  <bruno@clisp.org>
35876
35877         Fix a compilation error on Cygwin with g++ >= 4.3.
35878         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35879         if it is undefined or if we alias it to chmod.
35880         (lstat): Don't warn about the use of this function if it is undefined
35881         or if we alias it to stat.
35882         Reported by Simon Josefsson.
35883
35884 2010-03-27  Bruno Haible  <bruno@clisp.org>
35885
35886         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35887         * modules/getlogin (configure.ac): Update.
35888
35889         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35890         * modules/getlogin_r (configure.ac): Update.
35891
35892         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35893         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35894         * modules/inet_ntop (configure.ac): Update.
35895
35896         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35897         * modules/inet_pton (configure.ac): Update.
35898
35899         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35900         * modules/mbslen (configure.ac): Update.
35901
35902         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35903         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35904         * modules/forkpty (configure.ac): Update.
35905         * modules/openpty (configure.ac): Update.
35906
35907 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35908
35909         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35910         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35911
35912 2010-03-25  Eric Blake  <eblake@redhat.com>
35913
35914         maint: use pragma consistently across replacement headers
35915         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35916         * lib/dirent.in.h (system_header): Likewise.
35917         * lib/errno.in.h (system_header): Likewise.
35918         * lib/float.in.h (system_header): Likewise.
35919         * lib/getopt.in.h (system_header): Likewise.
35920         * lib/iconv.in.h (system_header): Likewise.
35921         * lib/inttypes.in.h (system_header): Likewise.
35922         * lib/langinfo.in.h (system_header): Likewise.
35923         * lib/locale.in.h (system_header): Likewise.
35924         * lib/math.in.h (system_header): Likewise.
35925         * lib/netdb.in.h (system_header): Likewise.
35926         * lib/netinet_in.in.h (system_header): Likewise.
35927         * lib/pty.in.h (system_header): Likewise.
35928         * lib/sched.in.h (system_header): Likewise.
35929         * lib/se-selinux.in.h (system_header): Likewise.
35930         * lib/search.in.h (system_header): Likewise.
35931         * lib/spawn.in.h (system_header): Likewise.
35932         * lib/stdarg.in.h (system_header): Likewise.
35933         * lib/stdint.in.h (system_header): Likewise.
35934         * lib/string.in.h (system_header): Likewise.
35935         * lib/strings.in.h (system_header): Likewise.
35936         * lib/sys_file.in.h (system_header): Likewise.
35937         * lib/sys_ioctl.in.h (system_header): Likewise.
35938         * lib/sys_socket.in.h (system_header): Likewise.
35939         * lib/sys_times.in.h (system_header): Likewise.
35940         * lib/sys_utsname.in.h (system_header): Likewise.
35941         * lib/sys_wait.in.h (system_header): Likewise.
35942         * lib/sysexits.in.h (system_header): Likewise.
35943         * lib/unistd.in.h (system_header): Likewise.
35944         * lib/wctype.in.h (system_header): Likewise.
35945
35946         arpa/inet: fix mingw compilation warning
35947         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35948         Reported by Matthew Bolte.
35949
35950 2010-03-25  Bruno Haible  <bruno@clisp.org>
35951
35952         Avoid collision between gnulib wrapper and libintl wrapper.
35953         * lib/printf.c (printf): Don't define if a printf wrapper is already
35954         defined in intl/printf.c.
35955         Reported by Michel Boaventura <michel@michelboaventura.com>.
35956
35957 2010-03-25  Bruno Haible  <bruno@clisp.org>
35958
35959         Use ANSI C.
35960         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35961
35962 2010-03-25  Bruno Haible  <bruno@clisp.org>
35963
35964         Minor formatting changes.
35965         * lib/acosl.c: Insert space before function argument list.
35966         * lib/argz.c: Likewise.
35967         * lib/asinl.c: Likewise.
35968         * lib/expl.c: Likewise.
35969         * lib/gen-uni-tables.c: Likewise.
35970         * lib/gettext.h: Likewise.
35971         * lib/glthread/lock.h: Likewise.
35972         * lib/tanl.c: Likewise.
35973         * lib/uniname/uniname.c: Likewise.
35974         * tests/test-idpriv-drop.c: Likewise.
35975         * tests/test-idpriv-droptemp.c: Likewise.
35976         * tests/test-lock.c: Likewise.
35977         * tests/test-tls.c: Likewise.
35978         * lib/argp-help.c: Insert space before function-like macro argument
35979         list.
35980         * lib/memcmp.c: Likewise.
35981         * tests/test-base64.c: Likewise.
35982         * lib/localename.c: Insert space before sizeof's argument list.
35983         * lib/safe-alloc.h: Likewise.
35984         * lib/file-set.h: Insert space before macro argument list.
35985         * tests/test-argp.c: Likewise.
35986         * lib/argp-namefrob.h: Insert space before function parameter list.
35987         * lib/getaddrinfo.c: Likewise.
35988         * lib/netdb.in.h: Likewise.
35989         * lib/parse-duration.h: Likewise.
35990         * lib/parse-duration.c: Likewise.
35991         * lib/poll.c: Likewise.
35992         * lib/select.c: Likewise.
35993         * lib/trim.h: Likewise.
35994         * tests/test-usleep.c: Likewise.
35995         * lib/ldexpl.c: Insert space before function parameter list and before
35996         function argument list.
35997         * lib/logl.c: Likewise.
35998         * lib/sqrtl.c: Likewise.
35999         * lib/trim.c: Likewise.
36000         * lib/cosl.c: Use GNU style indentation. Insert space before function
36001         argument list.
36002         * lib/sinl.c: Likewise.
36003         * lib/tsearch.c: Insert space after 'for'.
36004         Reported by Jim Meyering.
36005
36006 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
36007
36008         * maint.mk (sc_Wundef_boolean): Check for the presence of the
36009         config header before grepping, as it's not present before
36010         autoreconf/configure are run.  Reported by Simon Josefsson.
36011
36012 2010-03-23  Bruno Haible  <bruno@clisp.org>
36013
36014         pt_chown: Make it work with automake < 1.11.
36015         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
36016         Reported by Simon Josefsson.
36017
36018 2010-03-23  Bruno Haible  <bruno@clisp.org>
36019
36020         pt_chown: Don't depend on GPLed modules.
36021         * lib/pt_chown.c: Don't include idpriv.h.
36022         (main): Don't drop privileges.
36023         * modules/pt_chown (Depends-on): Remove idpriv-drop.
36024         Reported by Simon Josefsson.
36025
36026 2010-03-24  Simon Josefsson  <simon@josefsson.org>
36027
36028         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
36029         suggestions from karl@freefriends.org (Karl Berry).
36030
36031 2010-03-22  Eric Blake  <eblake@redhat.com>
36032
36033         gethostname: further tweaks
36034         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
36035         are overriding gethostname.
36036         Suggested by Bruno Haible.
36037
36038 2010-03-21  Bruno Haible  <bruno@clisp.org>
36039
36040         Fix comments.
36041         * lib/forkpty.c (rpl_forkpty): Fix comment.
36042         * lib/openpty.c (rpl_openpty): Likewise.
36043         Reported by Eric Blake.
36044
36045 2010-03-22  Eric Blake  <eblake@redhat.com>
36046
36047         gethostname: fix build on mingw
36048         * lib/unistd.in.h (includes): Work around fact that mingw
36049         <winsock2.h> re-includes <unistd.h>, by avoiding any
36050         redeclarations if we are being included by <winsock2.h>.
36051         Reported by Matthias Bolte.
36052
36053 2010-03-21  Bruno Haible  <bruno@clisp.org>
36054
36055         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
36056         * lib/forkpty.c (forkpty): New replacement function, from glibc with
36057         modifications.
36058         * lib/pty.in.h (forkpty): Update declaration. Add comments.
36059         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
36060         provide the replacement.
36061         * modules/forkpty (Depends-on): Add openpty, login_tty.
36062         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
36063         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
36064         * doc/glibc-functions/forkpty.texi: More supported platforms.
36065         * config/srclist.txt: Add forkpty.c (commented).
36066
36067 2010-03-21  Bruno Haible  <bruno@clisp.org>
36068
36069         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
36070         (Makefile.am): Verify that PTY_LIB is defined.
36071
36072         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
36073
36074 2010-03-21  Bruno Haible  <bruno@clisp.org>
36075
36076         Tests for module 'login_tty'.
36077         * modules/login_tty-tests: New file.
36078         * tests/test-login_tty.c: New file.
36079
36080         New module 'login_tty'.
36081         * lib/login_tty.c: New file.
36082         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
36083         * modules/login_tty: New file.
36084         * doc/glibc-functions/login_tty.texi: Mention the new module.
36085
36086 2010-03-21  Bruno Haible  <bruno@clisp.org>
36087
36088         login_tty: Documentation.
36089         * doc/glibc-functions/login_tty.texi: New file.
36090         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
36091
36092 2010-03-21  Bruno Haible  <bruno@clisp.org>
36093
36094         pty: Consistent macro naming.
36095         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
36096         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
36097         * modules/pty (configure.ac): Update.
36098
36099 2010-03-21  Bruno Haible  <bruno@clisp.org>
36100
36101         Tests for openpty: Make stricter.
36102         * tests/test-openpty.c (main): Add test of canonical processing and
36103         erase.
36104         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
36105
36106         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
36107         * lib/openpty.c (openpty): New replacement function.
36108         * lib/pty.in.h: Include <termios.h>.
36109         (openpty): Update declaration. Add comments.
36110         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
36111         is not declared, arrange to provide the replacement. Check for _getpty
36112         and posix_openpt.
36113         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
36114         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
36115         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
36116         * modules/pty-tests (test_pty_c___LDADD): New variable.
36117         * doc/glibc-functions/openpty.texi: More supported platforms.
36118
36119 2010-03-21  Bruno Haible  <bruno@clisp.org>
36120
36121         setenv: Tweaks.
36122         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
36123         the test program.
36124         * doc/posix-functions/setenv.texi: Update platforms list.
36125
36126 2010-03-21  Bruno Haible  <bruno@clisp.org>
36127
36128         New module 'unlockpt'.
36129         * lib/unlockpt.c: New file, from glibc with modifications.
36130         * m4/unlockpt.m4: New file.
36131         * modules/unlockpt: New file.
36132         * lib/stdlib.in.h (unlockpt): New declaration.
36133         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
36134         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
36135         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
36136         HAVE_UNLOCKPT.
36137         * doc/posix-functions/unlockpt.texi: Mention the new module.
36138         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
36139         * config/srclist.txt: Add unlockpt.c (commented).
36140
36141 2010-03-21  Jim Meyering  <meyering@redhat.com>
36142
36143         maint.mk: prohibit inclusion of "intprops.h" without use
36144         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
36145
36146 2010-03-21  Bruno Haible  <bruno@clisp.org>
36147
36148         New module 'grantpt'.
36149         * lib/grantpt.c: New file, from glibc with modifications.
36150         * m4/grantpt.m4: New file.
36151         * modules/grantpt: New file.
36152         * lib/stdlib.in.h (grantpt): New declaration.
36153         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
36154         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
36155         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
36156         HAVE_GRANTPT.
36157         * doc/posix-functions/grantpt.texi: Mention the new module.
36158         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
36159         * config/srclist.txt: Add grantpt.c (commented).
36160
36161 2010-03-21  Bruno Haible  <bruno@clisp.org>
36162
36163         New module 'pt_chown'.
36164         * lib/pt_chown.c: New file, from glibc with modifications.
36165         * lib/pty-private.h: New file, from glibc with modifications.
36166         * modules/pt_chown: New file.
36167         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
36168
36169 2010-03-21  Bruno Haible  <bruno@clisp.org>
36170
36171         Tests for module 'ptsname'.
36172         * modules/ptsname-tests: New file.
36173         * tests/test-ptsname.c: New file.
36174
36175         New module 'ptsname'.
36176         * lib/ptsname.c: New file, from glibc with modifications.
36177         * m4/ptsname.m4: New file.
36178         * modules/ptsname: New file.
36179         * lib/stdlib.in.h (ptsname): New declaration.
36180         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
36181         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
36182         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
36183         HAVE_PTSNAME.
36184         * doc/posix-functions/ptsname.texi: Mention the new module.
36185         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
36186         * config/srclist.txt: Add ptsname.c (commented).
36187
36188 2010-03-21  Bruno Haible  <bruno@clisp.org>
36189
36190         Tests for module 'ttyname_r'.
36191         * modules/ttyname_r-tests: New file.
36192         * tests/test-ttyname_r.c: New file.
36193
36194         New module 'ttyname_r'.
36195         * lib/ttyname_r.c: New file.
36196         * m4/ttyname_r.m4: New file.
36197         * modules/ttyname_r: New file.
36198         * lib/unistd.in.h (ttyname_r): New declaration.
36199         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
36200         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
36201         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
36202         HAVE_TTYNAME_R.
36203         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
36204         * doc/posix-functions/ttyname_r.texi: Mention the new module.
36205
36206 2010-03-20  Bruno Haible  <bruno@clisp.org>
36207
36208         signal: Undefine macro definitions in C++ mode.
36209         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
36210         sigfillset): Undefine macro definitions from the system header in C++
36211         mode.
36212         Reported by John W. Eaton <jwe@gnu.org>.
36213
36214 2010-03-20  Bruno Haible  <bruno@clisp.org>
36215
36216         Ensure no #include statements inside extern "C" { ... }.
36217         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
36218         contain #include statements.
36219         * lib/time.in.h: Likewise.
36220
36221 2010-03-20  Bruno Haible  <bruno@clisp.org>
36222
36223         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
36224         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
36225         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
36226         Reported by John W. Eaton <jwe@gnu.org>.
36227
36228 2010-03-20  Bruno Haible  <bruno@clisp.org>
36229
36230         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
36231         Reported by Jim Meyering.
36232
36233 2010-03-20  Bruno Haible  <bruno@clisp.org>
36234
36235         pipe: Set errno upon failure.
36236         * lib/pipe.h: Specify that when -1 is returned, errno is set.
36237         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
36238         errno value in error message.
36239
36240 2010-03-20  Bruno Haible  <bruno@clisp.org>
36241             Jim Meyering  <meyering@redhat.com>
36242
36243         lchown: Avoid "unused variable" warning.
36244         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
36245
36246 2010-03-20  Bruno Haible  <bruno@clisp.org>
36247
36248         Work around unlink() bug on MacOS X 10.5.6.
36249         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
36250         attempting to unlink a parent directory.
36251         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
36252         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
36253         activate for the replacement function.
36254         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
36255
36256 2010-03-20  Bruno Haible  <bruno@clisp.org>
36257
36258         Fix link errors on Solaris 8.
36259         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
36260         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
36261
36262 2010-03-19  Jim Meyering  <meyering@redhat.com>
36263
36264         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
36265         The _LIBC implementation of build_range_exp correctly honors the
36266         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
36267         However, the non-_LIBC implementation would ignore that syntax-bit
36268         flag and return REG_ERANGE unconditionally.
36269         This change makes it honor that flag.
36270         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
36271         Make two pointer parameters "const".
36272         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
36273         (parse_bracket_exp): Update caller.
36274
36275         regex.m4: correct the reversed range endpoint ([b-a]) test
36276         * m4/regex.m4: When requiring that [b-a] evoke failure,
36277         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
36278         test pass once again for x86-based systems.
36279
36280 2010-03-19  Bruno Haible  <bruno@clisp.org>
36281
36282         scandir: Fix link error on Solaris 8.
36283         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
36284         macros.
36285
36286 2010-03-19  Bruno Haible  <bruno@clisp.org>
36287
36288         getusershell: Fix documentation.
36289         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
36290         module.
36291         * doc/glibc-functions/setusershell.texi: Likewise.
36292
36293         getusershell: Provide declaration, missing on Solaris 9.
36294         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
36295         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
36296         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
36297         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
36298         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36299         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
36300         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
36301         HAVE_GETUSERSHELL.
36302         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
36303
36304 2010-03-19  Bruno Haible  <bruno@clisp.org>
36305
36306         wctype: Provide iswblank function.
36307         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
36308         exists and is fine.
36309         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
36310         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
36311         * tests/test-wctype.c (main): Re-enable the iswblank tests.
36312         * doc/posix-functions/iswblank.texi: Update.
36313
36314 2010-03-19  Bruno Haible  <bruno@clisp.org>
36315
36316         Tests of module 'pty' in C++ mode.
36317         * modules/pty-tests: New file.
36318         * tests/test-pty-c++.cc: New file.
36319         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36320
36321 2010-03-19  Eric Blake  <eblake@redhat.com>
36322
36323         logb: fix documentation
36324         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
36325         1.5 declaration bug.
36326
36327         forkpty, openpty: prefer glibc's const-safe prototype
36328         * lib/forkpty.c (rpl_forkpty): New file.
36329         * lib/openpty.c (rpl_openpty): Likewise.
36330         * modules/forkpty (Files): Distribute it.
36331         * modules/openpty (Files): Likewise.
36332         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
36333         check...
36334         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
36335         replacement for for non-const BSD signature.
36336         * modules/pty (Makefile.am): Substitute witnesses.
36337         * lib/pty.in.h (forkpty, openpty): Declare replacements.
36338         * tests/test-forkpty.c: Update signature check.
36339         * tests/test-openpty.c: Likewise.
36340         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
36341         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36342
36343         forkpty, openpty: split functions into new modules
36344         * modules/pty (Makefile.am): Substitute new witnesses.
36345         (Libraries): Move library detection...
36346         * modules/forkpty: ...into new module.
36347         * modules/openpty: Another new module.
36348         * modules/pty-tests: Rename and split...
36349         * modules/forkpty-tests: ...to this...
36350         * modules/openpty-tests: ...and this.
36351         * tests/test-pty.c: Rename and split...
36352         * tests/test-forkpty.c: ...to this...
36353         * tests/test-openpty.c: ...and this.
36354         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
36355         (gl_PTY): Split library searching...
36356         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
36357         (gl_FORKPTY, gl_OPENPTY): New macros.
36358         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
36359         * NEWS: Mention the split.
36360         * MODULES.html.sh (Misc): Document the modules.
36361         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
36362         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36363
36364         pty: improve replacement header
36365         * lib/pty.in.h: New file.
36366         * modules/pty (Files): Ship it.
36367         (Makefile.am): Always build replacement.
36368         * m4/pty.m4: Rename...
36369         * m4/pty_h.m4: ...to this.
36370         (gl_PTY): Modernize setting of witness macros; update check of
36371         forkpty to take proper advantage of cache.
36372         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
36373
36374         getopt: avoid compiler warning
36375         * lib/getopt.c (attribute_hidden): Remove unused macro.
36376
36377 2010-03-18  Bruno Haible  <bruno@clisp.org>
36378
36379         Fix link errors on Solaris 8.
36380         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
36381         * modules/search-tests (test_search_c___LDADD): Likewise.
36382         * modules/signal-tests (test_signal_c___LDADD): Likewise.
36383         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
36384         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
36385         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
36386         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
36387         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
36388         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
36389
36390 2010-03-18  Bruno Haible  <bruno@clisp.org>
36391
36392         Fix bug introduced on 2010-03-14.
36393         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
36394         (gl_SPAWN_H): Require it.
36395         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
36396         Reported by Simon Josefsson.
36397
36398 2010-03-18  Bruno Haible  <bruno@clisp.org>
36399
36400         Fix typo introduced on 2009-12-31.
36401         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
36402         posix_spawn_file_actions_adddup2.
36403
36404 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
36405         and Eric Blake  <eblake@redhat.com>
36406
36407         test-vc-list-files-git: make more robust
36408         * tests/test-vc-list-files-git.sh: Unset problematic environment
36409         variables.  Chain commands together.
36410
36411 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
36412
36413         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
36414         `AC_CHECK_DECL' invocation.
36415
36416 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
36417
36418         * lib/inttostr.c (inttostr): Make sure the invocation of verify
36419         appears before executable statements. Suggested by Petr Sumbera
36420         <Petr.Sumbera@Sun.COM>.
36421
36422 2010-03-14  Bruno Haible  <bruno@clisp.org>
36423
36424         * tests/test-flock.c (test_exclusive): Comment out a test that causes
36425         portability problems. Instead use a simpler test.
36426         (main): Check that invalid arguments are rejected only on Linux.
36427
36428 2010-03-14  Bruno Haible  <bruno@clisp.org>
36429
36430         Fix bug introduced on 2009-12-31.
36431         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36432         gl_PREREQ_SYS_H_WINSOCK2 always.
36433         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
36434         SYS_SOCKET_H variable.
36435         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
36436         Update comments.
36437         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
36438         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36439         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36440         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36441         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
36442
36443 2010-03-14  Bruno Haible  <bruno@clisp.org>
36444
36445         Fix values returned by sinl, cosl.
36446         * lib/trigl.h: Add specification comments.
36447         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
36448         that combines the values from the precomputed table with the values of
36449         the Chebyshev polynomials.
36450
36451 2010-03-14  Bruno Haible  <bruno@clisp.org>
36452
36453         Fix compilation error when modules 'posix_spawn[p]' are not used.
36454         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
36455         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36456
36457 2010-03-14  Bruno Haible  <bruno@clisp.org>
36458
36459         Fix compilation error on mingw when module 'time_r' is not used.
36460         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36461         is 1.
36462         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36463         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36464         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36465         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36466
36467 2010-03-14  Bruno Haible  <bruno@clisp.org>
36468
36469         Fix compilation error with Sun C.
36470         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36471         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36472         instead of GCC specific ULONG_LONG_MAX.
36473         * lib/xstrtoll.c: Likewise.
36474         * lib/xstrtoull.c: Likewise.
36475
36476 2010-03-13  Bruno Haible  <bruno@clisp.org>
36477
36478         Allow the user to disable C++ code and tests.
36479         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36480         (gl_PROG_ANSI_CXX): Require it.
36481
36482 2010-03-13  Bruno Haible  <bruno@clisp.org>
36483
36484         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36485         cases.
36486
36487 2010-03-13  Bruno Haible  <bruno@clisp.org>
36488
36489         Test that gnulib does not break the standard C++ headers.
36490         * tests/test-locale-c++2.cc: New file.
36491         * modules/locale-tests (Files): Add it.
36492         (Makefile.am): Compile it for test-locale-c++.
36493         * tests/test-math-c++2.cc: New file.
36494         * modules/math-tests (Files): Add it.
36495         (Makefile.am): Compile it for test-math-c++.
36496         * tests/test-signal-c++2.cc: New file.
36497         * modules/signal-tests (Files): Add it.
36498         (Makefile.am): Compile it for test-signal-c++.
36499         * tests/test-stdio-c++2.cc: New file.
36500         * modules/stdio-tests (Files): Add it.
36501         (Makefile.am): Compile it for test-stdio-c++.
36502         * tests/test-stdlib-c++2.cc: New file.
36503         * modules/stdlib-tests (Files): Add it.
36504         (Makefile.am): Compile it for test-stdlib-c++.
36505         * tests/test-string-c++2.cc: New file.
36506         * modules/string-tests (Files): Add it.
36507         (Makefile.am): Compile it for test-string-c++.
36508         * tests/test-time-c++2.cc: New file.
36509         * modules/time-tests (Files): Add it.
36510         (Makefile.am): Compile it for test-time-c++.
36511         Reported by John W. Eaton <jwe@gnu.org>.
36512
36513 2010-03-13  Bruno Haible  <bruno@clisp.org>
36514
36515         * gnulib-tool (func_usage): Clarify which options are available for
36516         --create-testdir and --create-megatestdir.
36517
36518 2010-03-13  Bruno Haible  <bruno@clisp.org>
36519
36520         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36521         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36522         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36523         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36524         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36525         when appropriate.
36526         Reported by Jim Meyering.
36527
36528 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36529
36530         * gnulib-tool (func_import): Explain origin of code.
36531
36532 2010-03-12  Bruno Haible  <bruno@clisp.org>
36533
36534         Fix problem with automake's definition of CXXLINK.
36535         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36536         Reported by Simon Josefsson and Ludovic Courtès.
36537
36538 2010-03-12  Bruno Haible  <bruno@clisp.org>
36539
36540         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36541         stable releases.
36542
36543 2010-03-11  Bruno Haible  <bruno@clisp.org>
36544
36545         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36546         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36547         whether the system provides one variant or multiple variants of the
36548         function.
36549         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36550         C++ compilers.
36551         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36552         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36553         Reported by Jim Meyering.
36554
36555 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36556
36557         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36558
36559 2010-03-08  Bruno Haible  <bruno@clisp.org>
36560
36561         gnulib-tool: Add support for --libtool in --create-testdir.
36562         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36563         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36564
36565 2010-03-08  Eric Blake  <eblake@redhat.com>
36566
36567         gnulib-tool.texi: mention possibility of git submodule
36568         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36569         submodules.
36570         * doc/.gitignore: Ignore another generated file.
36571
36572 2010-03-08  Karl Berry  <karl@gnu.org>
36573
36574         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36575         of committing gnulib files while skipping others.
36576
36577 2010-03-07  Bruno Haible  <bruno@clisp.org>
36578
36579         Tests of module 'wctype' in C++ mode.
36580         * tests/test-wctype-c++.cc: New file.
36581         * modules/wctype-tests (Files): Add it and tests/signature.h.
36582         (Depends-on): Add ansi-c++-opt.
36583         (Makefile.am): Arrange to compile and run test-wctype-c++.
36584
36585         Tests of module 'wchar' in C++ mode.
36586         * tests/test-wchar-c++.cc: New file.
36587         * modules/wchar-tests (Files): Add it and tests/signature.h.
36588         (Depends-on): Add ansi-c++-opt.
36589         (Makefile.am): Arrange to compile and run test-wchar-c++.
36590         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36591         gl_MODULE_INDICATOR.
36592
36593         Tests of module 'unistd' in C++ mode.
36594         * tests/test-unistd-c++.cc: New file.
36595         * modules/unistd-tests (Files): Add it and tests/signature.h.
36596         (Depends-on): Add ansi-c++-opt.
36597         (Makefile.am): Arrange to compile and run test-unistd-c++.
36598         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36599         gl_MODULE_INDICATOR.
36600
36601         Tests of module 'time' in C++ mode.
36602         * tests/test-time-c++.cc: New file.
36603         * modules/time-tests (Files): Add it and tests/signature.h.
36604         (Depends-on): Add ansi-c++-opt.
36605         (Makefile.am): Arrange to compile and run test-time-c++.
36606         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36607
36608         Tests of module 'sys_time' in C++ mode.
36609         * tests/test-sys_time-c++.cc: New file.
36610         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36611         (Depends-on): Add ansi-c++-opt.
36612         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36613         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36614         gl_MODULE_INDICATOR.
36615
36616         Tests of module 'sys_stat' in C++ mode.
36617         * tests/test-sys_stat-c++.cc: New file.
36618         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36619         (Depends-on): Add ansi-c++-opt.
36620         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36621         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36622         gl_MODULE_INDICATOR.
36623
36624         Tests of module 'sys_socket' in C++ mode.
36625         * tests/test-sys_socket-c++.cc: New file.
36626         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36627         (Depends-on): Add ansi-c++-opt.
36628         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36629         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36630         gl_MODULE_INDICATOR.
36631
36632         Tests of module 'sys_select' in C++ mode.
36633         * tests/test-sys_select-c++.cc: New file.
36634         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36635         (Depends-on): Add ansi-c++-opt.
36636         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36637         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36638         gl_MODULE_INDICATOR.
36639
36640         Tests of module 'sys_ioctl' in C++ mode.
36641         * tests/test-sys_ioctl-c++.cc: New file.
36642         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36643         (Depends-on): Add ansi-c++-opt.
36644         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36645         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36646         gl_MODULE_INDICATOR.
36647
36648         Tests of module 'string' in C++ mode.
36649         * tests/test-string-c++.cc: New file.
36650         * modules/string-tests (Files): Add it and tests/signature.h.
36651         (Depends-on): Add ansi-c++-opt.
36652         (Makefile.am): Arrange to compile and run test-string-c++.
36653         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36654         gl_MODULE_INDICATOR.
36655
36656         Tests of module 'stdlib' in C++ mode.
36657         * tests/test-stdlib-c++.cc: New file.
36658         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36659         (Depends-on): Add ansi-c++-opt.
36660         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36661         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36662         gl_MODULE_INDICATOR.
36663
36664         Tests of module 'stdio' in C++ mode.
36665         * tests/test-stdio-c++.cc: New file.
36666         * modules/stdio-tests (Files): Add it and tests/signature.h.
36667         (Depends-on): Add ansi-c++-opt.
36668         (Makefile.am): Arrange to compile and run test-stdio-c++.
36669         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36670         gl_MODULE_INDICATOR.
36671
36672         Tests of module 'spawn' in C++ mode.
36673         * tests/test-spawn-c++.cc: New file.
36674         * modules/spawn-tests (Files): Add it and tests/signature.h.
36675         (Depends-on): Add ansi-c++-opt.
36676         (Makefile.am): Arrange to compile and run test-spawn-c++.
36677         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36678         gl_MODULE_INDICATOR.
36679
36680         Tests of module 'signal' in C++ mode.
36681         * tests/test-signal-c++.cc: New file.
36682         * modules/signal-tests (Files): Add it and tests/signature.h.
36683         (Depends-on): Add ansi-c++-opt.
36684         (Makefile.am): Arrange to compile and run test-signal-c++.
36685         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36686         gl_MODULE_INDICATOR.
36687
36688         Tests of module 'search' in C++ mode.
36689         * tests/test-search-c++.cc: New file.
36690         * modules/search-tests (Files): Add it and tests/signature.h.
36691         (Depends-on): Add ansi-c++-opt.
36692         (Makefile.am): Arrange to compile and run test-search-c++.
36693         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36694         gl_MODULE_INDICATOR.
36695
36696         Tests of module 'math' in C++ mode.
36697         * tests/test-math-c++.cc: New file.
36698         * modules/math-tests (Files): Add it and tests/signature.h.
36699         (Depends-on): Add ansi-c++-opt.
36700         (Makefile.am): Arrange to compile and run test-math-c++.
36701         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36702
36703         Tests of module 'locale' in C++ mode.
36704         * tests/test-locale-c++.cc: New file.
36705         * modules/locale-tests (Files): Add it and tests/signature.h.
36706         (Depends-on): Add ansi-c++-opt.
36707         (Makefile.am): Arrange to compile and run test-locale-c++.
36708         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36709         gl_MODULE_INDICATOR.
36710
36711         Tests of module 'langinfo' in C++ mode.
36712         * tests/test-langinfo-c++.cc: New file.
36713         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36714         (Depends-on): Add ansi-c++-opt.
36715         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36716         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36717         gl_MODULE_INDICATOR.
36718
36719         Tests of module 'iconv-h' in C++ mode.
36720         * tests/test-iconv-h-c++.cc: New file.
36721         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36722         (Depends-on): Add ansi-c++-opt.
36723         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36724
36725         Tests of module 'glob' in C++ mode.
36726         * tests/test-glob-c++.cc: New file.
36727         * modules/glob-tests (Files): Add it.
36728         (Depends-on): Add ansi-c++-opt.
36729         (Makefile.am): Arrange to compile and run test-glob-c++.
36730
36731         Tests of module 'fcntl-h' in C++ mode.
36732         * tests/test-fcntl-h-c++.cc: New file.
36733         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36734         (Depends-on): Add ansi-c++-opt.
36735         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36736         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36737         gl_MODULE_INDICATOR.
36738
36739         Tests of module 'dirent' in C++ mode.
36740         * tests/test-dirent-c++.cc: New file.
36741         * modules/dirent-tests (Files): Add it and tests/signature.h.
36742         (Depends-on): Add ansi-c++-opt.
36743         (Makefile.am): Arrange to compile and run test-dirent-c++.
36744         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36745         gl_MODULE_INDICATOR.
36746
36747         New module 'ansi-c++-opt'.
36748         * modules/ansi-c++-opt: New file.
36749         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36750
36751         Document C++ namespace mode.
36752         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36753
36754         wctype: Avoid #define replacements in C++ mode.
36755         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36756         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36757         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36758         In C++, define a namespaced alias symbol.
36759         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36760         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36761         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36762         rule.
36763
36764         wchar: Avoid #define replacements in C++ mode.
36765         * lib/wchar.in.h: Include c++defs.h.
36766         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36767         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36768         symbol.
36769         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36770         * modules/wchar (Depends-on): Add c++defs.
36771         (Makefile.am): Update wchar.h rule.
36772
36773         unistd: Avoid #define replacements in C++ mode.
36774         * lib/unistd.in.h: Include c++defs.h.
36775         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36776         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36777         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36778         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36779         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36780         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36781         symbol.
36782         (environ): Update.
36783         * modules/unistd (Depends-on): Add c++defs.
36784         (Makefile.am): Update unistd.h rule.
36785
36786         time: Avoid #define replacements in C++ mode.
36787         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36788         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36789         define a namespaced alias symbol.
36790         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36791         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36792         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36793         * modules/time (Depends-on): Add c++defs, warn-on-use.
36794         (Makefile.am): Update time.h rule.
36795         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36796         * modules/nanosleep (configure.ac): Likewise.
36797         * modules/strptime (configure.ac): Likewise.
36798         * modules/timegm (configure.ac): Likewise.
36799
36800         sys_time: Avoid #define replacements in C++ mode.
36801         * lib/sys_time.in.h: Include c++defs.h.
36802         (gettimeofday): In C++, define a namespaced alias symbol.
36803         * modules/sys_time (Depends-on): Add c++defs.
36804         (Makefile.am): Update sys/time.h rule.
36805
36806         sys_stat: Avoid #define replacements in C++ mode.
36807         * lib/sys_stat.in.h: Include c++defs.h.
36808         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36809         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36810         namespaced alias symbol.
36811         In C++, define a namespaced alias symbol.
36812         * modules/sys_stat (Depends-on): Add c++defs.
36813         (Makefile.am): Update sys/stat.h rule.
36814
36815         sys_socket: Avoid #define replacements in C++ mode.
36816         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36817         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36818         definitions also when the system has a <sys/socket.h>.
36819         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36820         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36821         In C++, define a namespaced alias symbol.
36822         * modules/sys_socket (Depends-on): Add c++defs.
36823         (Makefile.am): Update sys/socket.h rule.
36824
36825         sys_select: Avoid #define replacements in C++ mode.
36826         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36827         definitions also when the system has a <sys/select.h>.
36828         (select): In C++, define a namespaced alias symbol.
36829         * modules/sys_select (Depends-on): Add c++defs.
36830         (Makefile.am): Update sys/select.h rule.
36831
36832         sys_ioctl: Avoid #define replacements in C++ mode.
36833         * lib/sys_ioctl.in.h: Include c++defs.h.
36834         (ioctl): In C++, define a namespaced alias symbol.
36835         * modules/sys_ioctl (Depends-on): Add c++defs.
36836         (Makefile.am): Update sys/ioctl.h rule.
36837
36838         string: Avoid #define replacements in C++ mode.
36839         * lib/string.in.h: Include c++defs.h.
36840         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36841         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36842         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36843         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36844         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36845         * modules/string (Depends-on): Add c++defs.
36846         (Makefile.am): Update string.h rule.
36847
36848         stdlib: Avoid #define replacements in C++ mode.
36849         * lib/stdlib.in.h: Include c++defs.h.
36850         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36851         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36852         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36853         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36854         symbol.
36855         * modules/stdlib (Depends-on): Add c++defs.
36856         (Makefile.am): Update stdlib.h rule.
36857
36858         stdio: Avoid #define replacements in C++ mode.
36859         * lib/stdio.in.h: Include c++defs.h.
36860         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36861         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36862         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36863         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36864         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36865         namespaced alias symbol.
36866         * modules/stdio (Depends-on): Add c++defs.
36867         (Makefile.am): Update stdio.h rule.
36868
36869         spawn: Avoid #define replacements in C++ mode.
36870         * lib/spawn.in.h: Include c++defs.h.
36871         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36872         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36873         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36874         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36875         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36876         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36877         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36878         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36879         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36880         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36881         In C++, define a namespaced alias symbol.
36882         * modules/spawn (Depends-on): Add c++defs.
36883         (Makefile.am): Update spawn.h rule.
36884
36885         signal: Avoid #define replacements in C++ mode.
36886         * lib/signal.in.h: Include c++defs.h.
36887         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36888         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36889         namespaced alias symbol.
36890         * modules/signal (Depends-on): Add c++defs.
36891         (Makefile.am): Update signal.h rule.
36892
36893         search: Avoid #define replacements in C++ mode.
36894         * lib/search.in.h: Include c++defs.h.
36895         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36896         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36897         symbol.
36898         * modules/search (Depends-on): Add c++defs.
36899         (Makefile.am): Update search.h rule.
36900
36901         math: Avoid #define replacements in C++ mode.
36902         * lib/math.in.h: Include c++defs.h.
36903         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36904         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36905         trunc, truncl): In C++, define a namespaced alias symbol.
36906         * modules/math (Depends-on): Add c++defs.
36907         (Makefile.am): Update math.h rule.
36908
36909         locale: Avoid #define replacements in C++ mode.
36910         * lib/locale.in.h: Include c++defs.h.
36911         (duplocale): In C++, define a namespaced alias symbol.
36912         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36913         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36914         * modules/locale (Depends-on): Add c++defs.
36915         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36916
36917         langinfo: Avoid #define replacements in C++ mode.
36918         * lib/langinfo.in.h: Include c++defs.h.
36919         (nl_langinfo): In C++, define a namespaced alias symbol.
36920         * modules/langinfo (Depends-on): Add c++defs.
36921         (Makefile.am): Update langinfo.h rule.
36922
36923         iconv-h: Avoid #define replacements in C++ mode.
36924         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36925         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36926         symbol.
36927         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36928         whenever iconv is present.
36929         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36930         (Makefile.am): Update iconv.h rule.
36931
36932         glob: Avoid #define replacements in C++ mode.
36933         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36934         (_gl_glob_errfunc_fn): New type.
36935         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36936         symbol.
36937         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36938         (Makefile.am): Update glob.h rule.
36939
36940         fcntl-h: Avoid #define replacements in C++ mode.
36941         * lib/fcntl.in.h: Include c++defs.h.
36942         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36943         * modules/fcntl-h (Depends-on): Add c++defs.
36944         (Makefile.am): Update fcntl.h rule.
36945
36946         dirent: Avoid #define replacements in C++ mode.
36947         * lib/dirent.in.h: Include c++defs.h.
36948         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36949         namespaced alias symbol.
36950         (dirfd): Update declaration.
36951         * modules/dirent (Depends-on): Add c++defs.
36952         (Makefile.am): Update dirent.h rule.
36953
36954         ctype: Make it usable in C++ code.
36955         * lib/ctype.in.h: Include c++defs.h.
36956         (isblank): Declare as extern "C".
36957         * modules/ctype (Depends-on): Add c++defs.
36958         (Makefile.am): Update ctype.h rule.
36959
36960         New module 'c++defs'.
36961         * modules/c++defs: New file.
36962         * build-aux/c++defs.h: New file.
36963         Reported by John W. Eaton <jwe@gnu.org>.
36964
36965 2010-03-07  Bruno Haible  <bruno@clisp.org>
36966
36967         logb: Provide missing declaration for Cygwin.
36968         * lib/math.in.h (logb): New declaration.
36969         * m4/logb.m4: New file.
36970         * modules/logb (Files): Add m4/logb.m4.
36971         (Depends-on): Add math.
36972         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36973         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36974         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36975         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36976         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36977
36978 2010-03-07  Bruno Haible  <bruno@clisp.org>
36979
36980         Fix test-cond link error.
36981         * tests/test-cond.c: Include <stdio.h>.
36982
36983 2010-03-07  Bruno Haible  <bruno@clisp.org>
36984
36985         Fix test-dirent-safer link error.
36986         * modules/dirent-safer-tests (Makefile.am): Define
36987         test_dirent_safer_LDADD.
36988
36989 2010-03-07  Bruno Haible  <bruno@clisp.org>
36990
36991         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36992         among default module list.
36993
36994 2010-03-07  Bruno Haible  <bruno@clisp.org>
36995
36996         Fix link error on platforms with GNU libiconv.
36997         * modules/unistr/u8-strcoll-tests (Makefile): Define
36998         test_u8_strcoll_LDADD.
36999         * modules/unistr/u16-strcoll-tests (Makefile): Define
37000         test_u16_strcoll_LDADD.
37001         * modules/unistr/u32-strcoll-tests (Makefile): Define
37002         test_u32_strcoll_LDADD.
37003
37004 2010-03-07  Bruno Haible  <bruno@clisp.org>
37005
37006         Use POSIX declarations for socket functions.
37007         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
37008         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
37009         rpl_sendto): Change declaration to match POSIX.
37010         * lib/connect.c (rpl_connect): Likewise.
37011         * lib/accept.c (rpl_accept): Likewise.
37012         * lib/bind.c (rpl_bind): Likewise.
37013         * lib/getpeername.c (rpl_getpeername): Likewise.
37014         * lib/getsockname.c (rpl_getsockname): Likewise.
37015         * lib/recv.c (rpl_recv): Likewise.
37016         * lib/send.c (rpl_send): Likewise.
37017         * lib/recvfrom.c (rpl_recvfrom): Likewise.
37018         * lib/sendto.c (rpl_sendto): Likewise.
37019
37020 2010-03-06  Bruno Haible  <bruno@clisp.org>
37021
37022         Clarify access, euidaccess, faccessat.
37023         * doc/posix-functions/faccessat.texi: Mention security problem under
37024         "Other problems", not "Portability problems".
37025         * doc/posix-functions/access.texi: Likewise. Mention a related security
37026         problem.
37027         * doc/glibc-functions/euidaccess.texi: Mention security problems.
37028         * lib/euidaccess.c: Add comments about platforms.
37029         * lib/unistd.in.h (access, euidaccess): Add warnings.
37030
37031 2010-03-07  Bruno Haible  <bruno@clisp.org>
37032
37033         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
37034         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
37035         (POSIX_SPAWN_SETSCHEDULER): Likewise.
37036         (POSIX_SPAWN_USEVFORK): Define in a way that works when
37037         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
37038         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
37039         declare when POSIX_SPAWN_SETSCHEDULER is zero.
37040         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
37041         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
37042         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
37043         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
37044         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
37045         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
37046         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
37047         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
37048         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
37049         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
37050         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
37051         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
37052         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
37053         Likewise.
37054         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
37055         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
37056         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
37057         Likewise.
37058         * tests/test-spawn.c (main): Make it work when
37059         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
37060
37061 2010-03-07  Bruno Haible  <bruno@clisp.org>
37062
37063         Fix incorrect Makefile.am generation in German locale.
37064         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37065         Execute sed command with character range in C locale.
37066
37067 2010-03-06  Bruno Haible  <bruno@clisp.org>
37068
37069         Tests for module 'iconv-h'.
37070         * modules/iconv-h-tests: New file.
37071         * tests/test-iconv-h.c: New file.
37072
37073         New module 'iconv-h'.
37074         * modules/iconv-h: New file.
37075         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
37076         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
37077         (configure.ac): Remove gl_ICONV_H.
37078         (Makefile.am): Remove rule for iconv.h.
37079
37080 2010-03-06  Bruno Haible  <bruno@clisp.org>
37081
37082         More consistent naming of *.m4 files.
37083         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
37084         * modules/wctype (Files): Update.
37085
37086         More consistent naming of *.m4 files.
37087         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
37088         * modules/wchar (Files): Update.
37089
37090 2010-03-06  Jim Meyering  <meyering@redhat.com>
37091
37092         euidaccess: relax license to LGPLv2+
37093         * modules/euidaccess (License): Relax to LGPLv2+.
37094
37095 2010-03-06  Bruno Haible  <bruno@clisp.org>
37096
37097         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
37098         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
37099         (Makefile.am): Augment lib_SOURCES instead.
37100
37101 2010-03-04  Jim Meyering  <meyering@redhat.com>
37102
37103         utime: remove obsolete module
37104         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
37105         unnecessary for years, and has been marked as obsolete for 10 months.
37106         * modules/utime: Remove file.
37107         * lib/utime.c: Remove file.
37108         * m4/utime.m4: Remove file.
37109         * m4/utimes-null.m4: Remove file.
37110         * doc/posix-functions/utime.texi (utime): Remove reference to
37111         the module.  Move the sole "fixed by gnulib" item into the
37112         "problems not fixed by Gnulib" list.
37113         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
37114
37115 2010-03-05  Simon Josefsson  <simon@josefsson.org>
37116
37117         * modules/exit (License): Relax license to LGPLv2+.
37118         (Status): Mark as obsolete.
37119         * NEWS: Mention deprecated 'exit' module.
37120         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
37121         of now obsolete 'exit'.
37122
37123 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37124
37125         fts-lgpl: remove unused module
37126         * modules/fts-lgpl: Remove.
37127         * MODULES.html.sh (func_all_modules): Adjust.
37128         * check-module (find_included_lib_files): Adjust.
37129         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
37130
37131 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
37132
37133         copy-acl: enhance Solaris ACL error handling
37134         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
37135         * lib/set-mode-acl.c (qset_acl): Likewise.
37136
37137 2010-03-02  Bruno Haible  <bruno@clisp.org>
37138
37139         spawn: Don't override the system defined values on FreeBSD 8.
37140         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
37141         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
37142         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
37143         if HAVE_POSIX_SPAWN is 1.
37144         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
37145
37146 2010-03-01  Bruno Haible  <bruno@clisp.org>
37147
37148         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
37149         regarding Automake.
37150
37151 2010-02-25  Bruno Haible  <bruno@clisp.org>
37152
37153         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
37154         * gnulib-tool: Define 'echo' as a function only before the ksh alias
37155         setting, not afterwards.
37156         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
37157
37158 2010-02-24  Eric Blake  <eblake@redhat.com>
37159
37160         bootstrap, git-version-gen: use timestamp
37161         * build-aux/git-version-gen (scriptversion): Force UTC.
37162         * build-aux/bootstrap (scriptversion): New variable.
37163
37164         bootstrap: allow older git
37165         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
37166         older than 1.6.4.  Requested by the libvirt project.
37167
37168 2010-02-23  Eric Blake  <eblake@redhat.com>
37169
37170         warn-on-use: work with old autoconf
37171         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
37172         AS_VAR semantics of autoconf 2.60.
37173         Reported by Bruno Haible.
37174
37175         bootstrap: improve some comments
37176         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
37177         clarification comments.
37178
37179         gettimeofday: provide correct function
37180         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
37181         when replacement is declared, otherwise provide gettimeofday.
37182         Reported by Michael Goffioul.
37183
37184 2010-02-23  Jim Meyering  <meyering@redhat.com>
37185
37186         lib-ignore: relax license to "unlimited", not LGPLv2+
37187         * modules/lib-ignore (License): Relax to "unlimited".
37188
37189 2010-02-23  Jim Meyering  <meyering@redhat.com>
37190
37191         lib-ignore: relax license to LGPLv2+
37192         * modules/lib-ignore (License): Relax to LGPLv2+.
37193
37194 2010-02-22  Eric Blake  <eblake@redhat.com>
37195
37196         lseek: avoid bash 3.2 broken pipe bug
37197         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
37198         warning from bash 3.2.
37199         Reported by Ben Pfaff, with analysis from Bruno Haible.
37200
37201         bootstrap: support non-FSF copyright holder
37202         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
37203         bootstrap.conf override of COPYRIGHT_HOLDER.
37204         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
37205
37206         bootstrap: interoperate with gettext 0.14.1
37207         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
37208
37209         bootstrap: allow for alternate submodule location
37210         * build-aux/bootstrap (gnulib_path): New variable; use instead of
37211         hardcoding submodule location.
37212         (gnulib_mk): Allow direct use of Makefile.am.
37213
37214         bootstrap: use GNULIB_SRCDIR to reduce disk usage
37215         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
37216         rather than reconfiguring where the submodule points.
37217
37218         gettimeofday: restore support for platforms that lack function
37219         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
37220         replacement if function is missing.
37221         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
37222         * modules/sys_time (Makefile.am): Substitute it.
37223         * lib/sys_time.in.h (gettimeofday): Check it.
37224         Reported by Michael Goffioul.
37225
37226 2010-02-21  Bruno Haible  <bruno@clisp.org>
37227
37228         * lib/stdio.in.h (obstack_printf): Fix typo.
37229
37230 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
37231
37232         vc-list-files: use bzr ls's -R option
37233         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
37234         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
37235
37236 2010-02-21  Jim Meyering  <meyering@redhat.com>
37237
37238         init.sh: fix EXEEXT shims to work also for names like test-prog
37239         * tests/init.sh: Re-exec a better shell, when needed.
37240         If the current shell lacks support for posix $(...), an init.sh-using
37241         test will now try to find a shell that supports that.  If EXEEXT is
37242         nonempty, we also require support for hyphen-in-alias-name and shell
37243         substitutions like ${var#glob}.  Failure to find such a shell results
37244         in a skipped test.
37245
37246 2010-02-21  Bruno Haible  <bruno@clisp.org>
37247
37248         Really work around around "broken pipe" error message from bash 3.2.
37249         * gnulib-tool (func_reset_sigpipe): Remove function.
37250         (echo): In bash 3.2, define to a function that uses printf.
37251         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
37252
37253 2010-02-20  Bruno Haible  <bruno@clisp.org>
37254
37255         Restore support for automake 1.9.6 with autoconf 2.61.
37256         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
37257         Reported by James Youngman <jay@gnu.org>.
37258
37259 2010-02-20  Bruno Haible  <bruno@clisp.org>
37260
37261         Improve *printf warning condition.
37262         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
37263         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
37264         and the function is overridden due to SIGPIPE emulation.
37265
37266 2010-02-20  Bruno Haible  <bruno@clisp.org>
37267
37268         * lib/stdio.in.h: Tweak comments.
37269
37270 2010-02-19  Bruno Haible  <bruno@clisp.org>
37271
37272         Make it easier to find modules. New gnulib-tool option '--find'.
37273         * gnulib-tool: New option --find.
37274         (func_usage): Document it.
37275         (func_sanitize_modulelist): New function, extracted from
37276         func_all_modules.
37277         (func_all_modules): Invoke it.
37278         * doc/gnulib-tool.texi (Which modules?): New node.
37279
37280 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
37281
37282         * lib/sys_select.in.h: Provide select replacement even if
37283         sys/select.h exists on a system, for Interix.
37284
37285 2010-02-18  Jim Meyering  <meyering@redhat.com>
37286
37287         init.sh: don't use $(...) just yet
37288         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
37289         to accommodate e.g., Solaris' /bin/sh.
37290
37291 2010-02-17  Bruno Haible  <bruno@clisp.org>
37292
37293         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
37294         Reported by Ludovic Courtès <ludo@gnu.org>.
37295
37296 2010-02-16  Simon Josefsson  <simon@josefsson.org>
37297
37298         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
37299         linking with -lintl.
37300
37301 2010-02-17  Simon Josefsson  <simon@josefsson.org>
37302
37303         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
37304         if not provided by the system's netdb.h.  Reported by
37305         ludo@gnu.org (Ludovic Courtès).
37306
37307 2010-02-15  Jim Meyering  <meyering@redhat.com>
37308
37309         init.sh: improve portability and efficiency
37310         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
37311         "dummy" in a for loop.
37312         Use '!', not '^' to select the complement of a character set used
37313         in a "case" statement.
37314         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
37315         Suggestions from Eric Blake.
37316
37317         init.sh: automatically accommodate programs with the .exe suffix
37318         Automatically arrange for an invocation of "prog" to execute the
37319         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
37320         may use the simpler "prog", yet still work when built on a system
37321         that requires specifying the added suffix.
37322         Do this by constructing a function named "prog" that invokes
37323         "prog.exe" for each .exe file in selected directories.
37324         * tests/init.sh (find_exe_basenames_): New function.
37325         (create_exe_shim_functions_): New function.
37326         (path_prepend_): Use it.
37327
37328         maint.mk: mark syntax-check sc_*.m rules as .PHONY
37329         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
37330         "make -t syntax-check" doesn't create a ton of sc_*.m files.
37331
37332 2010-02-14  Jim Meyering  <meyering@redhat.com>
37333
37334         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
37335         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
37336         (sc_prohibit_hash_pjw_without_use): New rule.
37337
37338         maint.mk: allow the default upload destination dir to be overridden
37339         * top/maint.mk (upload_dest_dir_): Define with a default that
37340         preserves the status quo.
37341         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
37342         Reported by Peter Simons.
37343
37344         maint.mk: prohibit inclusion of "hash.h" without_use
37345         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
37346
37347 2010-02-10  Jim Meyering  <meyering@redhat.com>
37348
37349         maint.mk: prohibit inclusion of "ignore-value.h" without_use
37350         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
37351
37352 2010-02-09  Eric Blake  <ebb9@byu.net>
37353         and Bruno Haible  <bruno@clisp.org>
37354
37355         obstack-printf-posix: ensure declaration
37356         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
37357         extracted from gl_FUNC_OBSTACK_PRINTF.
37358         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
37359         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37360         Likewise.
37361         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
37362         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
37363         0.
37364
37365 2010-02-08  Bruno Haible  <bruno@clisp.org>
37366
37367         gnulib-tool: Fix typo in 2010-02-07 commit.
37368         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
37369         Reported by Eric Blake.
37370
37371 2010-02-07  Bruno Haible  <bruno@clisp.org>
37372
37373         gnulib-tool: Fix up caching patches.
37374         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
37375         option --no-cache. Use associative arrays when supported by the shell.
37376         (sed_comments): New variable.
37377         (modcache): Renamed from do_cache.
37378         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
37379         abbreviate unnecessarily.
37380         (have_associative): New variable.
37381         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
37382         way also for ksh and zsh.
37383         (func_init_sed_convert_to_cache_statements): New function, extracted
37384         from func_cache_lookup_module. Add support for associative arrays.
37385         Don't set the c_MODULE_cached variable here. Ignore all lines before
37386         the first field header. Remove only the final newline, not all trailing
37387         newlines. Support empty fields correctly. Limit the use of 'eval' to
37388         assignments.
37389         (func_get_description, func_get_status, func_get_notice,
37390         func_get_applicability, func_get_filelist, func_get_dependencies,
37391         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
37392         func_get_automake_snippet, func_get_include_directive,
37393         func_get_link_directive, func_get_license, func_get_maintainer):
37394         Update documentation. List the unoptimized code first. Add support for
37395         associative arrays. Limit the use of 'eval' to assignments.
37396         (func_get_applicability): Undo stylistic pessimisations.
37397         (func_get_automake_snippet, func_get_include_directive): Reduce code
37398         duplication.
37399         (func_modules_transitive_closure, func_modules_add_dummy,
37400         func_modules_notice, func_modules_to_filelist, func_add_file,
37401         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
37402         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
37403         func_create_testdir, func_create_megatestdir): Update documentation.
37404
37405 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37406
37407         * gnulib-tool (func_cache_lookup_module): Store the module name
37408         belonging to the cache variable; error out if two different
37409         module names map to the same cache variable name.
37410
37411 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37412
37413         gnulib-tool: Make caching optional.
37414         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
37415         Update matching short versions of --no-changelog.
37416         (func_usage): Update.
37417         (sed_extract_cache_prog): Renamed from ...
37418         (sed_extract_prog): ... this; revert to old extraction script.
37419         (func_get_description, func_get_status)
37420         (func_get_notice, func_get_applicability, func_get_filelist)
37421         (func_get_dependencies, func_get_autoconf_early_snippet)
37422         (func_get_autoconf_snippet, func_get_automake_snippet)
37423         (func_get_include_directive, func_get_link_directive)
37424         (func_get_license, func_get_maintainer): If $do_cache is false,
37425         use old, non-caching extraction scripts.
37426         Suggestion by Bruno Haible.
37427
37428 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37429
37430         gnulib-tool: cache module metainformation.
37431         * gnulib-tool (sed_extract_prog): Match newline before each
37432         header, and rewrite header to a shell variable suffix.
37433         (func_cache_var, func_cache_lookup_module): New functions,
37434         to turn a module name into a cache variable prefix, and to
37435         look up and cache module metainformation.
37436         (func_get_description, func_get_status)
37437         (func_get_notice, func_get_applicability, func_get_filelist)
37438         (func_get_dependencies, func_get_autoconf_early_snippet)
37439         (func_get_autoconf_snippet, func_get_automake_snippet)
37440         (func_get_include_directive, func_get_link_directive)
37441         (func_get_license, func_get_maintainer): Use
37442         func_cache_lookup_module.
37443
37444 2010-02-07  Bruno Haible  <bruno@clisp.org>
37445
37446         fnctl: Fix missing dependency.
37447         * modules/fcntl (Depends-on): Add getdtablesize.
37448         Reported by John W. Eaton <jwe@gnu.org>.
37449
37450 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37451
37452         Argp: fix recognition of short alias options.
37453
37454         * lib/argp-parse.c (convert_options): Fix improper use of
37455         `|' between character values.
37456         * tests/test-argp.c (group1_option): New alias option
37457         --read (-r).
37458         (group1_parser): Special handling for 'r'.
37459         (test15): New test case.
37460         (test_fun): Add test15.
37461         * tests/test-argp-2.sh: Update expected --help and --usage
37462         outputs.
37463
37464 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37465
37466         * tests/test-argp.c: Fix indentation.
37467
37468 2010-02-04  Eric Blake  <ebb9@byu.net>
37469
37470         gettimeofday: expose type of second argument
37471         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37472         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37473         * tests/test-gettimeofday.c: Use it to silence warning.
37474         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37475         the issue.
37476
37477 2010-02-03  Jim Meyering  <meyering@redhat.com>
37478
37479         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37480         * lib/regcomp.c (TYPE_SIGNED): Define.
37481         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37482
37483         regcomp.c: avoid a new -Wshadow warning
37484         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37485
37486 2010-02-01  Jim Meyering  <meyering@redhat.com>
37487
37488         removing useless parentheses in cpp #define directives
37489         For motivation, see commit c0221df4, "define STREQ(a,b)
37490         consistently, removing useless parentheses"
37491         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37492         * lib/mountlist.c (MNT_IGNORE): Likewise.
37493         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37494
37495 2010-02-01  Eric Blake  <ebb9@byu.net>
37496
37497         sys_time: use link-warning
37498         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37499         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37500         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37501         * modules/sys_time (Depends-on): Add warn-on-use.
37502         (Makefile.am): Always build replacement.
37503         (configure.ac): Update substitutions.
37504         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37505         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37506         bother with SYS_TIME_H.
37507         * modules/gettimeofday (configure.ac): Declare indicator.
37508         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37509         in use.
37510
37511         closein-tests: silence compiler warning
37512         * tests/test-closein.c (main): Ignore fread result.
37513         * modules/closein-tests (Depends-on): Add ignore-value.
37514
37515         tests: silence warning about system return
37516         * tests/test-areadlink-with-size.c (main): Ignore system result.
37517         * tests/test-areadlink.c (main): Likewise.
37518         * tests/test-areadlinkat-with-size.c (main): Likewise.
37519         * tests/test-areadlinkat.c (main): Likewise.
37520         * tests/test-canonicalize-lgpl.c (main): Likewise.
37521         * tests/test-canonicalize.c (main): Likewise.
37522         * tests/test-chown.c (main): Likewise.
37523         * tests/test-fchownat.c (main): Likewise.
37524         * tests/test-fdutimensat.c (main): Likewise.
37525         * tests/test-fstatat.c (main): Likewise.
37526         * tests/test-futimens.c (main): Likewise.
37527         * tests/test-lchown.c (main): Likewise.
37528         * tests/test-link.c (main): Likewise.
37529         * tests/test-linkat.c (main): Likewise.
37530         * tests/test-lstat.c (main): Likewise.
37531         * tests/test-mkdir.c (main): Likewise.
37532         * tests/test-mkdirat.c (main): Likewise.
37533         * tests/test-mkfifo.c (main): Likewise.
37534         * tests/test-mkfifoat.c (main): Likewise.
37535         * tests/test-mknod.c (main): Likewise.
37536         * tests/test-readlink.c (main): Likewise.
37537         * tests/test-remove.c (main): Likewise.
37538         * tests/test-rename.c (main): Likewise.
37539         * tests/test-renameat.c (main): Likewise.
37540         * tests/test-rmdir.c (main): Likewise.
37541         * tests/test-symlink.c (main): Likewise.
37542         * tests/test-symlinkat.c (main): Likewise.
37543         * tests/test-unlink.c (main): Likewise.
37544         * tests/test-unlinkat.c (main): Likewise.
37545         * tests/test-utimens.c (main): Likewise.
37546         * tests/test-utimensat.c (main): Likewise.
37547         * modules/areadlink-tests (Depends-on): Add ignore-value.
37548         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37549         * modules/areadlinkat-tests (Depends-on): Likewise.
37550         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37551         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37552         * modules/canonicalize-tests (Depends-on): Likewise.
37553         * modules/chown-tests (Depends-on): Likewise.
37554         * modules/fdutimensat-tests (Depends-on): Likewise.
37555         * modules/futimens-tests (Depends-on): Likewise.
37556         * modules/lchown-tests (Depends-on): Likewise.
37557         * modules/link-tests (Depends-on): Likewise.
37558         * modules/linkat-tests (Depends-on): Likewise.
37559         * modules/lstat-tests (Depends-on): Likewise.
37560         * modules/mkdir-tests (Depends-on): Likewise.
37561         * modules/mkfifo-tests (Depends-on): Likewise.
37562         * modules/mkfifoat-tests (Depends-on): Likewise.
37563         * modules/mknod-tests (Depends-on): Likewise.
37564         * modules/openat-tests (Depends-on): Likewise.
37565         * modules/readlink-tests (Depends-on): Likewise.
37566         * modules/remove-tests (Depends-on): Likewise.
37567         * modules/rename-tests (Depends-on): Likewise.
37568         * modules/renameat-tests (Depends-on): Likewise.
37569         * modules/rmdir-tests (Depends-on): Likewise.
37570         * modules/symlink-tests (Depends-on): Likewise.
37571         * modules/symlinkat-tests (Depends-on): Likewise.
37572         * modules/unlink-tests (Depends-on): Likewise.
37573         * modules/utimens-tests (Depends-on): Likewise.
37574         * modules/utimensat-tests (Depends-on): Likewise.
37575
37576 2010-01-31  Bruno Haible  <bruno@clisp.org>
37577
37578         Perform the same test for many <math.h> functions.
37579         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37580         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37581         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37582         of gl_MATHFUNC.
37583         * modules/acos (configure.ac): Likewise.
37584         * modules/asin (configure.ac): Likewise.
37585         * modules/atan (configure.ac): Likewise.
37586         * modules/atan2 (configure.ac): Likewise.
37587         * modules/cbrt (configure.ac): Likewise.
37588         * modules/copysign (configure.ac): Likewise.
37589         * modules/cos (configure.ac): Likewise.
37590         * modules/cosh (configure.ac): Likewise.
37591         * modules/erf (configure.ac): Likewise.
37592         * modules/erfc (configure.ac): Likewise.
37593         * modules/exp (configure.ac): Likewise.
37594         * modules/fmod (configure.ac): Likewise.
37595         * modules/hypot (configure.ac): Likewise.
37596         * modules/j0 (configure.ac): Likewise.
37597         * modules/j1 (configure.ac): Likewise.
37598         * modules/jn (configure.ac): Likewise.
37599         * modules/lgamma (configure.ac): Likewise.
37600         * modules/log (configure.ac): Likewise.
37601         * modules/log10 (configure.ac): Likewise.
37602         * modules/log1p (configure.ac): Likewise.
37603         * modules/pow (configure.ac): Likewise.
37604         * modules/remainder (configure.ac): Likewise.
37605         * modules/sin (configure.ac): Likewise.
37606         * modules/sinh (configure.ac): Likewise.
37607         * modules/tan (configure.ac): Likewise.
37608         * modules/tanh (configure.ac): Likewise.
37609         * modules/y0 (configure.ac): Likewise.
37610         * modules/y1 (configure.ac): Likewise.
37611         * modules/yn (configure.ac): Likewise.
37612         Suggested by Paolo Bonzini.
37613
37614 2010-01-31  Bruno Haible  <bruno@clisp.org>
37615
37616         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37617
37618 2010-01-31  Bruno Haible  <bruno@clisp.org>
37619
37620         Work around getdelim() bug on FreeBSD 8.0.
37621         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37622         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37623         not work.
37624         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37625         is 1.
37626         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37627         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37628         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37629         a non-zero size.
37630         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37631
37632 2010-01-31  Bruno Haible  <bruno@clisp.org>
37633
37634         Work around getline() bug on FreeBSD 8.0.
37635         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37636         and a non-zero size.
37637         * tests/test-getline.c (main): Likewise.
37638         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37639         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37640
37641 2010-01-28  Eric Blake  <ebb9@byu.net>
37642
37643         regex: fix build failure
37644         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37645         platforms.
37646
37647 2010-01-28  Jim Meyering  <meyering@redhat.com>
37648
37649         regex: do not ignore memory allocation failure
37650         * lib/regex_internal.c (create_cd_newstate): Detect
37651         re_node_set_init_copy failure.   Extracted from glibc commit
37652         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37653
37654         regex: sync more white-space changes from libc
37655         * lib/regex_internal.c: White-space only changes.
37656         * lib/regexec.c: Likewise.
37657
37658         regex: add many uses of __attribute_warn_unused_result__
37659         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37660         * lib/regexec.c: Likewise.
37661         Extracted from a messy glibc commit.
37662
37663         regcomp.c: spelling and merge-artifact from glibc
37664         * lib/regcomp.c: Merge remainder of glibc's
37665         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37666
37667         regcomp.c: sync white-space changes from glibc
37668         * lib/regcomp.c: Merge to accommodate white space
37669         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37670
37671         regcomp.c: do not ignore internal return values
37672         * lib/regcomp.c: Do not ignore internal return values.
37673         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37674         but without its white-space changes and spelling fixes.
37675
37676         regex_internal.h: define __attribute_warn_unused_result__
37677         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37678
37679         maint: add a syntax-check rule to check for vulnerable Makefile.in
37680         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37681
37682 2010-01-27  Jim Meyering  <meyering@redhat.com>
37683
37684         ncftpput-ftp: clean up spaces
37685         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37686         Remove trailing blanks.
37687
37688 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37689
37690         * build-aux/git-version-gen: Fix copyright statement.
37691         * build-aux/gnupload: Likewise.
37692         * tests/test-arcfour.c: Likewise.
37693         * tests/test-arctwo.c: Likewise.
37694         * tests/test-count-one-bits.c: Likewise.
37695         * tests/test-crc.c: Likewise.
37696         * tests/test-des.c: Likewise.
37697         * tests/test-gc-arcfour.c: Likewise.
37698         * tests/test-gc-arctwo.c: Likewise.
37699         * tests/test-gc-des.c: Likewise.
37700         * tests/test-gc-hmac-md5.c: Likewise.
37701         * tests/test-gc-hmac-sha1.c: Likewise.
37702         * tests/test-gc-md2.c: Likewise.
37703         * tests/test-gc-md4.c: Likewise.
37704         * tests/test-gc-md5.c: Likewise.
37705         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37706         * tests/test-gc-rijndael.c: Likewise.
37707         * tests/test-gc-sha1.c: Likewise.
37708         * tests/test-gc.c: Likewise.
37709         * tests/test-gethostname.c: Likewise.
37710         * tests/test-gettimeofday.c: Likewise.
37711         * tests/test-hash.c: Likewise.
37712         * tests/test-hmac-md5.c: Likewise.
37713         * tests/test-hmac-sha1.c: Likewise.
37714         * tests/test-md2.c: Likewise.
37715         * tests/test-md4.c: Likewise.
37716         * tests/test-md5.c: Likewise.
37717         * tests/test-memchr.c: Likewise.
37718         * tests/test-memchr2.c: Likewise.
37719         * tests/test-memcmp.c: Likewise.
37720         * tests/test-memmem.c: Likewise.
37721         * tests/test-memrchr.c: Likewise.
37722         * tests/test-rawmemchr.c: Likewise.
37723         * tests/test-read-file.c: Likewise.
37724         * tests/test-rijndael.c: Likewise.
37725         * tests/test-sockets.c: Likewise.
37726         * tests/test-strchrnul.c: Likewise.
37727         * tests/test-strstr.c: Likewise.
37728         * tests/test-strtod.c: Likewise.
37729         * build-aux/ncftpput-ftp: Likewise.
37730
37731 2010-01-26  Eric Blake  <ebb9@byu.net>
37732
37733         ignore-value: update recommended header name
37734         * modules/ignore-value (Include): Only use <> for headers that
37735         exist in glibc.
37736
37737 2010-01-26  Jim Meyering  <meyering@redhat.com>
37738
37739         test-userspec.c: avoid compiler warnings
37740         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37741         and "initialization discards qualifiers..." warnings.
37742         Put the first "uid" in its own scope, and make char* members "const".
37743
37744 2010-01-25  Bruno Haible  <bruno@clisp.org>
37745
37746         gnulib-tool: Make warning diagnostics consistent.
37747         * gnulib-tool (func_warning): New function.
37748         Use it everywhere where gnulib-tool produces output to stderr and it is
37749         not a fatal error.
37750
37751 2010-01-25  Bruno Haible  <bruno@clisp.org>
37752
37753         Fix test dependencies.
37754         * modules/xstrtol-tests (Depends-on): Add inttypes.
37755         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37756
37757 2010-01-25 Pádraig Brady <P@draigBrady.com>
37758
37759         syntax-check: detect incorrect boolean macro values in config.h
37760         * modules/maintainer-makefile (configure.ac): Parameterize the location
37761         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37762         The logic is from Eric Blake and the location indicated by Jim Meyering.
37763         Note the more natural CONFIG_HEADER name is prohibited by automake
37764         for backwards compatibility reasons.
37765         * top/maint.mk (sc_Wundef_boolean): New rule.
37766
37767 2010-01-25  Jim Meyering  <meyering@redhat.com>
37768
37769         bootstrap: detect MacOS 10.6's shasum, too
37770         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37771         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37772
37773 2010-01-23  Jim Meyering  <meyering@redhat.com>
37774
37775         xstrtoll: new module
37776         * modules/xstrtoll: New file.
37777         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37778         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37779         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37780         ./configure fails if you use this module and lack "long long".
37781         * modules/xstrtoll-tests: New module.
37782         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37783         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37784         new init.sh-based test framework.
37785
37786 2010-01-24  Bruno Haible  <bruno@clisp.org>
37787
37788         Tests for module 'yn'.
37789         * modules/yn-tests: New file.
37790         * tests/test-yn.c: New file.
37791
37792         Tests for module 'y1'.
37793         * modules/y1-tests: New file.
37794         * tests/test-y1.c: New file.
37795
37796         Tests for module 'y0'.
37797         * modules/y0-tests: New file.
37798         * tests/test-y0.c: New file.
37799
37800         Tests for module 'tanh'.
37801         * modules/tanh-tests: New file.
37802         * tests/test-tanh.c: New file.
37803
37804         Tests for module 'tan'.
37805         * modules/tan-tests: New file.
37806         * tests/test-tan.c: New file.
37807
37808         Tests for module 'sqrt'.
37809         * modules/sqrt-tests: New file.
37810         * tests/test-sqrt.c: New file.
37811
37812         Tests for module 'sinh'.
37813         * modules/sinh-tests: New file.
37814         * tests/test-sinh.c: New file.
37815
37816         Tests for module 'sin'.
37817         * modules/sin-tests: New file.
37818         * tests/test-sin.c: New file.
37819
37820         Tests for module 'rint'.
37821         * modules/rint-tests: New file.
37822         * tests/test-rint.c: New file.
37823
37824         Tests for module 'remainder'.
37825         * modules/remainder-tests: New file.
37826         * tests/test-remainder.c: New file.
37827
37828         Tests for module 'pow'.
37829         * modules/pow-tests: New file.
37830         * tests/test-pow.c: New file.
37831
37832         Tests for module 'nextafter'.
37833         * modules/nextafter-tests: New file.
37834         * tests/test-nextafter.c: New file.
37835
37836         Tests for module 'modf'.
37837         * modules/modf-tests: New file.
37838         * tests/test-modf.c: New file.
37839
37840         Tests for module 'logb'.
37841         * modules/logb-tests: New file.
37842         * tests/test-logb.c: New file.
37843
37844         Tests for module 'log1p'.
37845         * modules/log1p-tests: New file.
37846         * tests/test-log1p.c: New file.
37847
37848         Tests for module 'log10'.
37849         * modules/log10-tests: New file.
37850         * tests/test-log10.c: New file.
37851
37852         Tests for module 'log'.
37853         * modules/log-tests: New file.
37854         * tests/test-log.c: New file.
37855
37856         Tests for module 'lgamma'.
37857         * modules/lgamma-tests: New file.
37858         * tests/test-lgamma.c: New file.
37859
37860         Tests for module 'ldexp'.
37861         * modules/ldexp-tests: New file.
37862         * tests/test-ldexp.c: New file.
37863
37864         Tests for module 'jn'.
37865         * modules/jn-tests: New file.
37866         * tests/test-jn.c: New file.
37867
37868         Tests for module 'j1'.
37869         * modules/j1-tests: New file.
37870         * tests/test-j1.c: New file.
37871
37872         Tests for module 'j0'.
37873         * modules/j0-tests: New file.
37874         * tests/test-j0.c: New file.
37875
37876         Tests for module 'hypot'.
37877         * modules/hypot-tests: New file.
37878         * tests/test-hypot.c: New file.
37879
37880         Tests for module 'fmod'.
37881         * modules/fmod-tests: New file.
37882         * tests/test-fmod.c: New file.
37883
37884         Tests for module 'fabs'.
37885         * modules/fabs-tests: New file.
37886         * tests/test-fabs.c: New file.
37887
37888         Tests for module 'exp'.
37889         * modules/exp-tests: New file.
37890         * tests/test-exp.c: New file.
37891
37892         Tests for module 'erfc'.
37893         * modules/erfc-tests: New file.
37894         * tests/test-erfc.c: New file.
37895
37896         Tests for module 'erf'.
37897         * modules/erf-tests: New file.
37898         * tests/test-erf.c: New file.
37899
37900         Tests for module 'cosh'.
37901         * modules/cosh-tests: New file.
37902         * tests/test-cosh.c: New file.
37903
37904         Tests for module 'cos'.
37905         * modules/cos-tests: New file.
37906         * tests/test-cos.c: New file.
37907
37908         Tests for module 'copysign'.
37909         * modules/copysign-tests: New file.
37910         * tests/test-copysign.c: New file.
37911
37912         Tests for module 'cbrt'.
37913         * modules/cbrt-tests: New file.
37914         * tests/test-cbrt.c: New file.
37915
37916         Tests for module 'atan2'.
37917         * modules/atan2-tests: New file.
37918         * tests/test-atan2.c: New file.
37919
37920         Tests for module 'atan'.
37921         * modules/atan-tests: New file.
37922         * tests/test-atan.c: New file.
37923
37924         Tests for module 'asin'.
37925         * modules/asin-tests: New file.
37926         * tests/test-asin.c: New file.
37927
37928         Tests for module 'acos'.
37929         * modules/acos-tests: New file.
37930         * tests/test-acos.c: New file.
37931
37932 2010-01-24  Bruno Haible  <bruno@clisp.org>
37933
37934         Fix tests for common <math.h> functions.
37935         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37936         code snippet that references the function pointer, rather than merely
37937         calling the function. Substitute the FUNC_LIBM variable.
37938         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37939         * modules/acos (configure.ac): Likewise.
37940         * modules/asin (configure.ac): Likewise.
37941         * modules/atan (configure.ac): Likewise.
37942         * modules/atan2 (configure.ac): Likewise.
37943         * modules/cbrt (configure.ac): Likewise.
37944         * modules/copysign (configure.ac): Likewise.
37945         * modules/cos (configure.ac): Likewise.
37946         * modules/cosh (configure.ac): Likewise.
37947         * modules/erf (configure.ac): Likewise.
37948         * modules/erfc (configure.ac): Likewise.
37949         * modules/exp (configure.ac): Likewise.
37950         * modules/fabs (configure.ac): Likewise.
37951         * modules/fmod (configure.ac): Likewise.
37952         * modules/hypot (configure.ac): Likewise.
37953         * modules/j0 (configure.ac): Likewise.
37954         * modules/j1 (configure.ac): Likewise.
37955         * modules/jn (configure.ac): Likewise.
37956         * modules/ldexp (configure.ac): Likewise.
37957         * modules/lgamma (configure.ac): Likewise.
37958         * modules/log (configure.ac): Likewise.
37959         * modules/log10 (configure.ac): Likewise.
37960         * modules/log1p (configure.ac): Likewise.
37961         * modules/logb (configure.ac): Likewise.
37962         * modules/modf (configure.ac): Likewise.
37963         * modules/nextafter (configure.ac): Likewise.
37964         * modules/pow (configure.ac): Likewise.
37965         * modules/remainder (configure.ac): Likewise.
37966         * modules/rint (configure.ac): Likewise.
37967         * modules/sin (configure.ac): Likewise.
37968         * modules/sinh (configure.ac): Likewise.
37969         * modules/tan (configure.ac): Likewise.
37970         * modules/tanh (configure.ac): Likewise.
37971         * modules/y0 (configure.ac): Likewise.
37972         * modules/y1 (configure.ac): Likewise.
37973         * modules/yn (configure.ac): Likewise.
37974
37975 2010-01-24  Bruno Haible  <bruno@clisp.org>
37976
37977         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37978         * tests/test-acosl.c (x): New variable.
37979         (main): Store argument in x and fetch it from x.
37980         * tests/test-asinl.c (x): New variable.
37981         (main): Store argument in x and fetch it from x.
37982         * tests/test-atanl.c (x): New variable.
37983         (main): Store argument in x and fetch it from x.
37984         * tests/test-cosl.c (x): New variable.
37985         (main): Store argument in x and fetch it from x.
37986         * tests/test-expl.c (x): New variable.
37987         (main): Store argument in x and fetch it from x.
37988         * tests/test-logl.c (x): New variable.
37989         (main): Store argument in x and fetch it from x.
37990         * tests/test-sinl.c (x): New variable.
37991         (main): Store argument in x and fetch it from x.
37992         * tests/test-sqrtl.c (x): New variable.
37993         (main): Store argument in x and fetch it from x.
37994         * tests/test-tanl.c (x): New variable.
37995         (main): Store argument in x and fetch it from x.
37996
37997 2010-01-24  Bruno Haible  <bruno@clisp.org>
37998
37999         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
38000         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
38001         assignments to the initial TESTS_ENVIRONMENT.
38002         * doc/gnulib.texi (Unit test modules): Document it.
38003         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
38004         TESTS_ENVIRONMENT.
38005         * modules/btowc-tests (Makefile.am): Likewise.
38006         * modules/c-stack-tests (Makefile.am): Likewise.
38007         * modules/c-strcase-tests (Makefile.am): Likewise.
38008         * modules/copy-file-tests (Makefile.am): Likewise.
38009         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
38010         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
38011         * modules/mbrtowc-tests (Makefile.am): Likewise.
38012         * modules/mbscasecmp-tests (Makefile.am): Likewise.
38013         * modules/mbscasestr-tests (Makefile.am): Likewise.
38014         * modules/mbschr-tests (Makefile.am): Likewise.
38015         * modules/mbscspn-tests (Makefile.am): Likewise.
38016         * modules/mbsinit-tests (Makefile.am): Likewise.
38017         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
38018         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
38019         * modules/mbspbrk-tests (Makefile.am): Likewise.
38020         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
38021         * modules/mbsrchr-tests (Makefile.am): Likewise.
38022         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
38023         * modules/mbsspn-tests (Makefile.am): Likewise.
38024         * modules/mbsstr-tests (Makefile.am): Likewise.
38025         * modules/nl_langinfo-tests (Makefile.am): Likewise.
38026         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
38027         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
38028         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
38029         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
38030         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
38031         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
38032         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
38033         * modules/wcrtomb-tests (Makefile.am): Likewise.
38034         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
38035         * modules/wcsrtombs-tests (Makefile.am): Likewise.
38036         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
38037         assignments from TESTS_ENVIRONMENT.
38038         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
38039         augmentation.
38040         * modules/argp-version-etc-tests (Makefile.am): Likewise.
38041         * modules/atexit-tests (Makefile.am): Likewise.
38042         * modules/binary-io-tests (Makefile.am): Likewise.
38043         * modules/closein-tests (Makefile.am): Likewise.
38044         * modules/dprintf-posix-tests (Makefile.am): Likewise.
38045         * modules/exclude-tests (Makefile.am): Likewise.
38046         * modules/fflush-tests (Makefile.am): Likewise.
38047         * modules/fpending-tests (Makefile.am): Likewise.
38048         * modules/fprintf-posix-tests (Makefile.am): Likewise.
38049         * modules/freadahead-tests (Makefile.am): Likewise.
38050         * modules/freadptr-tests (Makefile.am): Likewise.
38051         * modules/freadseek-tests (Makefile.am): Likewise.
38052         * modules/fseek-tests (Makefile.am): Likewise.
38053         * modules/fseeko-tests (Makefile.am): Likewise.
38054         * modules/ftell-tests (Makefile.am): Likewise.
38055         * modules/ftello-tests (Makefile.am): Likewise.
38056         * modules/idpriv-drop-tests (Makefile.am): Likewise.
38057         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
38058         * modules/lseek-tests (Makefile.am): Likewise.
38059         * modules/parse-duration-tests (Makefile.am): Likewise.
38060         * modules/perror-tests (Makefile.am): Likewise.
38061         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
38062         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
38063         * modules/pipe-tests (Makefile.am): Likewise.
38064         * modules/pread-tests (Makefile.am): Likewise.
38065         * modules/printf-posix-tests (Makefile.am): Likewise.
38066         * modules/select-tests (Makefile.am): Likewise.
38067         * modules/sigpipe-tests (Makefile.am): Likewise.
38068         * modules/tsearch-tests (Makefile.am): Likewise.
38069         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
38070         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
38071         * modules/uniname/uniname-tests (Makefile.am): Likewise.
38072         * modules/uniwidth/width-tests (Makefile.am): Likewise.
38073         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
38074         * modules/version-etc-tests (Makefile.am): Likewise.
38075         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
38076         * modules/vprintf-posix-tests (Makefile.am): Likewise.
38077         * modules/xalloc-die-tests (Makefile.am): Likewise.
38078         * modules/xprintf-posix-tests (Makefile.am): Likewise.
38079         * modules/xstrtoimax-tests (Makefile.am): Likewise.
38080         * modules/xstrtol-tests (Makefile.am): Likewise.
38081         * modules/xstrtoumax-tests (Makefile.am): Likewise.
38082         * modules/yesno-tests (Makefile.am): Likewise.
38083         Suggested by Jim Meyering.
38084
38085 2010-01-24  Bruno Haible  <bruno@clisp.org>
38086
38087         More documentation.
38088         * doc/gnulib.texi (Writing modules): New chapter.
38089         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
38090         the new chapter.
38091
38092 2010-01-24  Jim Meyering  <meyering@redhat.com>
38093
38094         maint.mk: do not prepend "./" after filtering
38095         * top/maint.mk (_prepend_srcdir_prefix): New variable
38096         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
38097         "./" when $(srcdir) is ".".
38098
38099         define STREQ(a,b) consistently, removing useless parentheses
38100         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
38101         since the only risk is that "a" or "b" contains an unparenthesized
38102         comma, but if either did that, STREQ would have 3 or more arguments.
38103         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
38104         * lib/fts.c (STREQ): Remove unnecessary parentheses.
38105         * lib/hash-triple.c (STREQ): Likewise.
38106         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
38107         * lib/getugroups.c (STREQ): Likewise.
38108
38109 2010-01-23  Jim Meyering  <meyering@redhat.com>
38110
38111         maint.mk: fix syntax-check in a non-srcdir build directory
38112         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
38113         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
38114
38115 2010-01-22  Jim Meyering  <meyering@redhat.com>
38116
38117         userspec: add unit tests
38118         * tests/test-userspec.c: New file.
38119         * modules/userspec-tests: Likewise.
38120
38121 2010-01-21  Jim Meyering  <meyering@redhat.com>
38122
38123         maint.mk: handle source file names containing "." robustly
38124         * top/maint.mk (_dot_escaped_srcdir): Define.
38125         (VC_LIST): Use it in LHS of sed substitution.
38126
38127 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
38128
38129         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
38130         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
38131         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
38132         from a non-srcdir build.
38133
38134 2010-01-20  Eric Blake  <ebb9@byu.net>
38135
38136         warn-on-use: use instead of link-warning
38137         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
38138         * modules/unistd (Depends-on, Makefile.am): Likewise.
38139         * modules/arpa_inet (Depends-on): Replace link-warning with
38140         warn-on-use.
38141         (Makefile.am): Update rules accordingly.
38142         * modules/ctype (Depends-on, Makefile.am): Likewise.
38143         * modules/dirent (Depends-on, Makefile.am): Likewise.
38144         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
38145         * modules/inttypes (Depends-on, Makefile.am): Likewise.
38146         * modules/langinfo (Depends-on, Makefile.am): Likewise.
38147         * modules/locale (Depends-on, Makefile.am): Likewise.
38148         * modules/math (Depends-on, Makefile.am): Likewise.
38149         * modules/search (Depends-on, Makefile.am): Likewise.
38150         * modules/signal (Depends-on, Makefile.am): Likewise.
38151         * modules/spawn (Depends-on, Makefile.am): Likewise.
38152         * modules/stdlib (Depends-on, Makefile.am): Likewise.
38153         * modules/string (Depends-on, Makefile.am): Likewise.
38154         * modules/strings (Depends-on, Makefile.am): Likewise.
38155         * modules/sys_file (Depends-on, Makefile.am): Likewise.
38156         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
38157         * modules/sys_select (Depends-on, Makefile.am): Likewise.
38158         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
38159         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
38160         * modules/sys_times (Depends-on, Makefile.am): Likewise.
38161         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38162         * modules/wchar (Depends-on, Makefile.am): Likewise.
38163         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
38164         should be poisoned.
38165         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
38166         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
38167         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
38168         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38169         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38170         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
38171         * m4/math_h.m4 (gl_MATH_H): Likewise.
38172         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38173         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
38174         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38175         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
38176         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
38177         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
38178         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
38179         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
38180         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
38181         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38182         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38183         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
38184         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38185         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
38186         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38187         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38188         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
38189         GL_LINK_WARNING.
38190         * lib/ctype.in.h: Likewise.
38191         * lib/dirent.in.h: Likewise.
38192         * lib/fcntl.in.h: Likewise.
38193         * lib/inttypes.in.h: Likewise.
38194         * lib/langinfo.in.h: Likewise.
38195         * lib/locale.in.h: Likewise.
38196         * lib/math.in.h: Likewise.
38197         * lib/search.in.h: Likewise.
38198         * lib/signal.in.h: Likewise.
38199         * lib/spawn.in.h: Likewise.
38200         * lib/stdio.in.h: Likewise.
38201         * lib/stdlib.in.h: Likewise.
38202         * lib/string.in.h: Likewise.
38203         * lib/strings.in.h: Likewise.
38204         * lib/sys_file.in.h: Likewise.
38205         * lib/sys_ioctl.in.h: Likewise.
38206         * lib/sys_select.in.h: Likewise.
38207         * lib/sys_socket.in.h: Likewise.
38208         * lib/sys_stat.in.h: Likewise.
38209         * lib/sys_times.in.h: Likewise.
38210         * lib/sys_utsname.in.h: Likewise.
38211         * lib/unistd.in.h: Likewise.
38212         * lib/wchar.in.h: Likewise.
38213
38214 2010-01-20  Bruno Haible  <bruno@clisp.org>
38215
38216         Avoid duplicate -lm.
38217         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
38218         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
38219         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
38220         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
38221         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
38222         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
38223         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
38224         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
38225         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
38226         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
38227         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
38228         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
38229         Reported by Paolo Bonzini.
38230
38231 2010-01-19  Bruno Haible  <bruno@clisp.org>
38232
38233         langinfo, nl_langinfo: Relicense under LGPLv2+.
38234         * modules/langinfo (License): Change to LGPLv2+.
38235         * modules/nl_langinfo (License): Likewise.
38236         Patch by David Lutterkort <lutter@redhat.com>.
38237
38238 2010-01-19  Bruno Haible  <bruno@clisp.org>
38239
38240         Avoid compilation error with cc on OSF/1 5.1.
38241         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
38242         statement, not before.
38243         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38244
38245 2010-01-18  Bruno Haible  <bruno@clisp.org>
38246
38247         Avoid a link error due to the __printf__ symbol.
38248         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
38249         and 2.6.x.
38250         (__format__, __printf__): Remove definitions.
38251         * lib/argp-fmtstream.h: Likewise.
38252         * lib/argp.h: Likewise.
38253         * lib/error.h: Likewise.
38254         * lib/vasnprintf.h: Likewise.
38255         * lib/xprintf.h: Likewise.
38256         * lib/xvasprintf.h: Likewise.
38257         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38258
38259 2010-01-18  Bruno Haible  <bruno@clisp.org>
38260
38261         Tests for module 'tanl'.
38262         * modules/tanl-tests: New file.
38263         * tests/test-tanl.c: New file.
38264
38265         Tests for module 'sqrtl'.
38266         * modules/sqrtl-tests: New file.
38267         * tests/test-sqrtl.c: New file.
38268
38269         Tests for module 'sinl'.
38270         * modules/sinl-tests: New file.
38271         * tests/test-sinl.c: New file.
38272
38273         Tests for module 'logl'.
38274         * modules/logl-tests: New file.
38275         * tests/test-logl.c: New file.
38276
38277         Tests for module 'expl'.
38278         * modules/expl-tests: New file.
38279         * tests/test-expl.c: New file.
38280
38281         Tests for module 'cosl'.
38282         * modules/cosl-tests: New file.
38283         * tests/test-cosl.c: New file.
38284
38285         Tests for module 'atanl'.
38286         * modules/atanl-tests: New file.
38287         * tests/test-atanl.c: New file.
38288
38289         Tests for module 'asinl'.
38290         * modules/asinl-tests: New file.
38291         * tests/test-asinl.c: New file.
38292
38293         Tests for module 'acosl'.
38294         * modules/acosl-tests: New file.
38295         * tests/test-acosl.c: New file.
38296
38297         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38298         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
38299         tanl): Use the standard gnulib idiom.
38300         * lib/cosl.c: Don't include trigl.c and sincosl.c.
38301         * lib/sinl.c: Likewise.
38302         * lib/tanl.c: Don't include trigl.c.
38303         (kernel_tanl): Make static.
38304         * lib/sincosl.c: Include trigl.h first.
38305         * lib/trigl.c: Likewise.
38306         * m4/acosl.m4: New file.
38307         * m4/asinl.m4: New file.
38308         * m4/atanl.m4: New file.
38309         * m4/cosl.m4: New file.
38310         * m4/expl.m4: New file.
38311         * m4/logl.m4: New file.
38312         * m4/sinl.m4: New file.
38313         * m4/sqrtl.m4: New file.
38314         * m4/tanl.m4: New file.
38315         * m4/mathl.m4: Remove file.
38316         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
38317         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38318         Don't initialize GNULIB_MATHL.
38319         * modules/acosl: New file.
38320         * modules/asinl: New file.
38321         * modules/atanl: New file.
38322         * modules/cosl: New file.
38323         * modules/expl: New file.
38324         * modules/logl: New file.
38325         * modules/sinl: New file.
38326         * modules/sqrtl: New file.
38327         * modules/tanl: New file.
38328         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
38329         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
38330         substitute GNULIB_MATHL.
38331         * modules/mathl: Rewritten.
38332         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
38333         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
38334         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
38335         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
38336         * doc/posix-functions/expl.texi: Mention the 'expl' module.
38337         * doc/posix-functions/logl.texi: Mention the 'logl' module.
38338         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
38339         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
38340         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
38341
38342 2010-01-18  Bruno Haible  <bruno@clisp.org>
38343
38344         sqrt: Make gl_FUNC_SQRT requirable.
38345         * m4/sqrt.m4: New file.
38346         * modules/sqrt (Files): Add it.
38347         (configure.ac): Invoke gl_FUNC_SQRT.
38348
38349 2010-01-18  Bruno Haible  <bruno@clisp.org>
38350
38351         New modules for common <math.h> functions.
38352         * m4/mathfunc.m4: New file.
38353         * modules/acos: New file.
38354         * modules/asin: New file.
38355         * modules/atan: New file.
38356         * modules/atan2: New file.
38357         * modules/cbrt: New file.
38358         * modules/copysign: New file.
38359         * modules/cos: New file.
38360         * modules/cosh: New file.
38361         * modules/erf: New file.
38362         * modules/erfc: New file.
38363         * modules/exp: New file.
38364         * modules/fabs: New file.
38365         * modules/fmod: New file.
38366         * modules/hypot: New file.
38367         * modules/j0: New file.
38368         * modules/j1: New file.
38369         * modules/jn: New file.
38370         * modules/ldexp: New file.
38371         * modules/lgamma: New file.
38372         * modules/log: New file.
38373         * modules/log10: New file.
38374         * modules/log1p: New file.
38375         * modules/logb: New file.
38376         * modules/modf: New file.
38377         * modules/nextafter: New file.
38378         * modules/pow: New file.
38379         * modules/remainder: New file.
38380         * modules/rint: New file.
38381         * modules/sin: New file.
38382         * modules/sinh: New file.
38383         * modules/sqrt: New file.
38384         * modules/tan: New file.
38385         * modules/tanh: New file.
38386         * modules/y0: New file.
38387         * modules/y1: New file.
38388         * modules/yn: New file.
38389         * doc/posix-functions/acos.texi: Mention the 'acos' module.
38390         * doc/posix-functions/asin.texi: Mention the 'asin' module.
38391         * doc/posix-functions/atan.texi: Mention the 'atan' module.
38392         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
38393         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
38394         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
38395         * doc/posix-functions/cos.texi: Mention the 'cos' module.
38396         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
38397         * doc/posix-functions/erf.texi: Mention the 'erf' module.
38398         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
38399         * doc/posix-functions/exp.texi: Mention the 'exp' module.
38400         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
38401         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
38402         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
38403         * doc/posix-functions/j0.texi: Mention the 'j0' module.
38404         * doc/posix-functions/j1.texi: Mention the 'j1' module.
38405         * doc/posix-functions/jn.texi: Mention the 'jn' module.
38406         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
38407         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
38408         * doc/posix-functions/log.texi: Mention the 'log' module.
38409         * doc/posix-functions/log10.texi: Mention the 'log10' module.
38410         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
38411         * doc/posix-functions/logb.texi: Mention the 'logb' module.
38412         * doc/posix-functions/modf.texi: Mention the 'modf' module.
38413         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
38414         * doc/posix-functions/pow.texi: Mention the 'pow' module.
38415         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
38416         * doc/posix-functions/rint.texi: Mention the 'rint' module.
38417         * doc/posix-functions/sin.texi: Mention the 'sin' module.
38418         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
38419         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
38420         * doc/posix-functions/tan.texi: Mention the 'tan' module.
38421         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
38422         * doc/posix-functions/y0.texi: Mention the 'y0' module.
38423         * doc/posix-functions/y1.texi: Mention the 'y1' module.
38424         * doc/posix-functions/yn.texi: Mention the 'yn' module.
38425
38426 2010-01-18  Jim Meyering  <meyering@redhat.com>
38427
38428         ignore-value: relax license to LGPLv2+
38429         * modules/ignore-value (License): Relax to LGPLv2+.
38430
38431         getdate: don't leak when TZ contains two or more '"'s
38432         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
38433         double quote in TZ after the first one.
38434
38435         readtokens: do not leak internal token_lengths buffer
38436         * lib/readtokens.c (readtokens): Free the local, lengths,
38437         when the supplied "token_lengths" parameter is NULL.
38438
38439 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38440
38441         Fix a couple of missing LIBTHREAD link failures on AIX.
38442         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
38443         $(LIBTHREAD).
38444         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
38445
38446         Link test-poll against INET_PTON_LIB.
38447         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
38448         for inet_pton on Solaris 10.
38449
38450 2010-01-17  Bruno Haible  <bruno@clisp.org>
38451
38452         unistdio/*-sprintf: Fix typo in module description.
38453         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
38454         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
38455         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38456         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38457         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38458         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38459         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38460         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38461
38462 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38463
38464         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38465         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38466         variables in shell case patterns, for AIX and HP-UX ksh.
38467
38468         Split large sed scripts, for HP-UX sed.
38469         * modules/stdio: Split sed scripts around 50 sed commands,
38470         to avoid HP-UX limit of 99 commands, in the near future.
38471         * modules/string: Likewise.
38472         * modules/unistd: Likewise.
38473
38474         gnulib-tool: avoid writing in the current directory.
38475         * gnulib-tool (func_emit_lib_Makefile_am)
38476         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38477         not in the current directory, so concurrent gnulib-tool
38478         instances do not interfere.
38479
38480 2010-01-16  Jim Meyering  <meyering@redhat.com>
38481
38482         doc: update users.txt
38483         * users.txt: Add grep.
38484         (diffutils, gzip): Update URLs.
38485
38486 2010-01-12  Bruno Haible  <bruno@clisp.org>
38487
38488         posix_spawn: Avoid test failure on Cygwin.
38489         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38490         characters.
38491         Reported by Simon Josefsson.
38492
38493 2010-01-12  Bruno Haible  <bruno@clisp.org>
38494
38495         * tests/test-cond.c (main): When skipping the test, show the reason.
38496
38497 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38498
38499         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38500
38501 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38502
38503         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38504         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38505
38506 2010-01-12  Eric Blake  <ebb9@byu.net>
38507
38508         build: guarantee AS_VAR_IF
38509         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38510         (gl_AS_VAR_IF): Move...
38511         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38512         Reported by Simon Josefsson.
38513
38514 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38515
38516         * lib/stdio.in.h: Fix typo.
38517
38518 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38519
38520         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38521         libgpg-error.
38522
38523 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38524
38525         * tests/test-xalloc-die.sh: Use $EXEEXT.
38526
38527 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38528             Bruno Haible  <bruno@clisp.org>
38529
38530         getlogin, getlogin_r: Avoid test failure.
38531         * tests/test-getlogin.c: Include <stdio.h>.
38532         (main): Skip the test when the function fails because stdin is not a
38533         tty.
38534         * tests/test-getlogin_r.c: Include <stdio.h>.
38535         (main): Skip the test when the function fails because stdin is not a
38536         tty.
38537
38538 2010-01-11  Eric Blake  <ebb9@byu.net>
38539
38540         tests: avoid more large file warnings
38541         * tests/test-fflush.c: Avoid warning about ftell use.
38542         * tests/test-fseek.c: Avoid warning about fseek use.
38543
38544 2010-01-10  Bruno Haible  <bruno@clisp.org>
38545
38546         nproc: Work better on Linux when /proc and /sys are not mounted.
38547         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38548         as lower bound when, on glibc/Linux systems,
38549         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38550         Suggested by Pádraig Brady <P@draigbrady.com>.
38551         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38552
38553         nproc: Refactor.
38554         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38555         extracted from num_processors.
38556         (num_processors): Call it.
38557
38558 2010-01-11  Jim Meyering  <meyering@redhat.com>
38559
38560         utimecmp: avoid new warning from upcoming gcc-4.5.0
38561         * lib/utimecmp.c (BILLION): Define using #define rather than an
38562         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38563
38564 2010-01-11  Eric Blake  <ebb9@byu.net>
38565
38566         math: add portability warnings for classification macros
38567         * modules/math (Depends-on): Add warn-on-use.
38568         (Makefile.am): Provide new substitutions.
38569         * m4/math_h.m4 (gl_MATH_H): Require inline.
38570         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38571         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38572         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38573         implement warnings.
38574
38575         unistd: warn on use of environ without module
38576         * modules/unistd (Depends-on): Add warn-on-use.
38577         (Makefile.am): Provide new substitutions.
38578         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38579         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38580
38581         stdio: warn on suspicious uses
38582         * modules/stdio (Depends-on): Add warn-on-use.
38583         (Makefile.am): Provide new substitutions.
38584         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38585         fseeko.
38586         * lib/stdio.in.h (gets): Always warn on use.
38587         (fseek, ftell): Adjust when warnings are issued, and honor
38588         _GL_NO_LARGE_FILES as a way to silence the warning.
38589         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38590         any warning about large file offsets.
38591         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38592         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38593         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38594         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38595         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38596         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38597         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38598         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38599
38600         warn-on-use: new module
38601         * modules/warn-on-use: New file.
38602         * build-aux/warn-on-use.h: Likewise.
38603         * m4/warn-on-use.m4: Likewise.
38604         * MODULES.html.sh (Support for building): Mention it.
38605
38606 2010-01-10  Bruno Haible  <bruno@clisp.org>
38607
38608         Tests for module 'unistr/u32-strdup'.
38609         * modules/unistr/u32-strdup-tests: New file.
38610         * tests/unistr/test-u32-strdup.c: New file.
38611
38612         Tests for module 'unistr/u16-strdup'.
38613         * modules/unistr/u16-strdup-tests: New file.
38614         * tests/unistr/test-u16-strdup.c: New file.
38615
38616         Tests for module 'unistr/u8-strdup'.
38617         * modules/unistr/u8-strdup-tests: New file.
38618         * tests/unistr/test-u8-strdup.c: New file.
38619         * tests/unistr/test-strdup.h: New file.
38620
38621         Tests for module 'unistr/u32-strncmp'.
38622         * modules/unistr/u32-strncmp-tests: New file.
38623         * tests/unistr/test-u32-strncmp.c: New file.
38624
38625         Tests for module 'unistr/u16-strncmp'.
38626         * modules/unistr/u16-strncmp-tests: New file.
38627         * tests/unistr/test-u16-strncmp.c: New file.
38628
38629         Tests for module 'unistr/u8-strncmp'.
38630         * modules/unistr/u8-strncmp-tests: New file.
38631         * tests/unistr/test-u8-strncmp.c: New file.
38632         * tests/unistr/test-strncmp.h: New file.
38633
38634         Tests for module 'unistr/u32-strcoll'.
38635         * modules/unistr/u32-strcoll-tests: New file.
38636         * tests/unistr/test-u32-strcoll.c: New file.
38637
38638         Tests for module 'unistr/u16-strcoll'.
38639         * modules/unistr/u16-strcoll-tests: New file.
38640         * tests/unistr/test-u16-strcoll.c: New file.
38641
38642         Tests for module 'unistr/u8-strcoll'.
38643         * modules/unistr/u8-strcoll-tests: New file.
38644         * tests/unistr/test-u8-strcoll.c: New file.
38645
38646         Tests for module 'unistr/u32-strcmp'.
38647         * modules/unistr/u32-strcmp-tests: New file.
38648         * tests/unistr/test-u32-strcmp.c: New file.
38649         * tests/unistr/test-u32-strcmp.h: New file.
38650
38651         Tests for module 'unistr/u16-strcmp'.
38652         * modules/unistr/u16-strcmp-tests: New file.
38653         * tests/unistr/test-u16-strcmp.c: New file.
38654         * tests/unistr/test-u16-strcmp.h: New file.
38655
38656         Tests for module 'unistr/u8-strcmp'.
38657         * modules/unistr/u8-strcmp-tests: New file.
38658         * tests/unistr/test-u8-strcmp.c: New file.
38659         * tests/unistr/test-u8-strcmp.h: New file.
38660         * tests/unistr/test-strcmp.h: New file.
38661
38662         Tests for module 'unistr/u32-strncat'.
38663         * modules/unistr/u32-strncat-tests: New file.
38664         * tests/unistr/test-u32-strncat.c: New file.
38665
38666         Tests for module 'unistr/u16-strncat'.
38667         * modules/unistr/u16-strncat-tests: New file.
38668         * tests/unistr/test-u16-strncat.c: New file.
38669
38670         Tests for module 'unistr/u8-strncat'.
38671         * modules/unistr/u8-strncat-tests: New file.
38672         * tests/unistr/test-u8-strncat.c: New file.
38673         * tests/unistr/test-strncat.h: New file.
38674
38675         Tests for module 'unistr/u32-strcat'.
38676         * modules/unistr/u32-strcat-tests: New file.
38677         * tests/unistr/test-u32-strcat.c: New file.
38678
38679         Tests for module 'unistr/u16-strcat'.
38680         * modules/unistr/u16-strcat-tests: New file.
38681         * tests/unistr/test-u16-strcat.c: New file.
38682
38683         Tests for module 'unistr/u8-strcat'.
38684         * modules/unistr/u8-strcat-tests: New file.
38685         * tests/unistr/test-u8-strcat.c: New file.
38686         * tests/unistr/test-strcat.h: New file.
38687
38688         Tests for module 'unistr/u32-stpncpy'.
38689         * modules/unistr/u32-stpncpy-tests: New file.
38690         * tests/unistr/test-u32-stpncpy.c: New file.
38691
38692         Tests for module 'unistr/u16-stpncpy'.
38693         * modules/unistr/u16-stpncpy-tests: New file.
38694         * tests/unistr/test-u16-stpncpy.c: New file.
38695
38696         Tests for module 'unistr/u8-stpncpy'.
38697         * modules/unistr/u8-stpncpy-tests: New file.
38698         * tests/unistr/test-u8-stpncpy.c: New file.
38699         * tests/unistr/test-stpncpy.h: New file.
38700
38701         Tests for module 'unistr/u32-strncpy'.
38702         * modules/unistr/u32-strncpy-tests: New file.
38703         * tests/unistr/test-u32-strncpy.c: New file.
38704
38705         Tests for module 'unistr/u16-strncpy'.
38706         * modules/unistr/u16-strncpy-tests: New file.
38707         * tests/unistr/test-u16-strncpy.c: New file.
38708
38709         Tests for module 'unistr/u8-strncpy'.
38710         * modules/unistr/u8-strncpy-tests: New file.
38711         * tests/unistr/test-u8-strncpy.c: New file.
38712         * tests/unistr/test-strncpy.h: New file.
38713
38714         Tests for module 'unistr/u32-stpcpy'.
38715         * modules/unistr/u32-stpcpy-tests: New file.
38716         * tests/unistr/test-u32-stpcpy.c: New file.
38717
38718         Tests for module 'unistr/u16-stpcpy'.
38719         * modules/unistr/u16-stpcpy-tests: New file.
38720         * tests/unistr/test-u16-stpcpy.c: New file.
38721
38722         Tests for module 'unistr/u8-stpcpy'.
38723         * modules/unistr/u8-stpcpy-tests: New file.
38724         * tests/unistr/test-u8-stpcpy.c: New file.
38725         * tests/unistr/test-stpcpy.h: New file.
38726
38727         Tests for module 'unistr/u32-strcpy'.
38728         * modules/unistr/u32-strcpy-tests: New file.
38729         * tests/unistr/test-u32-strcpy.c: New file.
38730
38731         Tests for module 'unistr/u16-strcpy'.
38732         * modules/unistr/u16-strcpy-tests: New file.
38733         * tests/unistr/test-u16-strcpy.c: New file.
38734
38735         Tests for module 'unistr/u8-strcpy'.
38736         * modules/unistr/u8-strcpy-tests: New file.
38737         * tests/unistr/test-u8-strcpy.c: New file.
38738         * tests/unistr/test-strcpy.h: New file.
38739
38740         Tests for module 'unistr/u32-strnlen'.
38741         * modules/unistr/u32-strnlen-tests: New file.
38742         * tests/unistr/test-u32-strnlen.c: New file.
38743
38744         Tests for module 'unistr/u16-strnlen'.
38745         * modules/unistr/u16-strnlen-tests: New file.
38746         * tests/unistr/test-u16-strnlen.c: New file.
38747
38748         Tests for module 'unistr/u8-strnlen'.
38749         * modules/unistr/u8-strnlen-tests: New file.
38750         * tests/unistr/test-u8-strnlen.c: New file.
38751         * tests/unistr/test-strnlen.h: New file.
38752
38753         Tests for module 'unistr/u32-strlen'.
38754         * modules/unistr/u32-strlen-tests: New file.
38755         * tests/unistr/test-u32-strlen.c: New file.
38756
38757         Tests for module 'unistr/u16-strlen'.
38758         * modules/unistr/u16-strlen-tests: New file.
38759         * tests/unistr/test-u16-strlen.c: New file.
38760
38761         Tests for module 'unistr/u8-strlen'.
38762         * modules/unistr/u8-strlen-tests: New file.
38763         * tests/unistr/test-u8-strlen.c: New file.
38764
38765         Tests for module 'unistr/u32-prev'.
38766         * modules/unistr/u32-prev-tests: New file.
38767         * tests/unistr/test-u32-prev.c: New file.
38768
38769         Tests for module 'unistr/u16-prev'.
38770         * modules/unistr/u16-prev-tests: New file.
38771         * tests/unistr/test-u16-prev.c: New file.
38772
38773         Tests for module 'unistr/u8-prev'.
38774         * modules/unistr/u8-prev-tests: New file.
38775         * tests/unistr/test-u8-prev.c: New file.
38776
38777         Tests for module 'unistr/u32-next'.
38778         * modules/unistr/u32-next-tests: New file.
38779         * tests/unistr/test-u32-next.c: New file.
38780
38781         Tests for module 'unistr/u16-next'.
38782         * modules/unistr/u16-next-tests: New file.
38783         * tests/unistr/test-u16-next.c: New file.
38784
38785         Tests for module 'unistr/u8-next'.
38786         * modules/unistr/u8-next-tests: New file.
38787         * tests/unistr/test-u8-next.c: New file.
38788
38789         Tests for module 'unistr/u32-strmbtouc'.
38790         * modules/unistr/u32-strmbtouc-tests: New file.
38791         * tests/unistr/test-u32-strmbtouc.c: New file.
38792
38793         Tests for module 'unistr/u16-strmbtouc'.
38794         * modules/unistr/u16-strmbtouc-tests: New file.
38795         * tests/unistr/test-u16-strmbtouc.c: New file.
38796
38797         Tests for module 'unistr/u8-strmbtouc'.
38798         * modules/unistr/u8-strmbtouc-tests: New file.
38799         * tests/unistr/test-u8-strmbtouc.c: New file.
38800
38801         Tests for module 'unistr/u32-strmblen'.
38802         * modules/unistr/u32-strmblen-tests: New file.
38803         * tests/unistr/test-u32-strmblen.c: New file.
38804
38805         Tests for module 'unistr/u16-strmblen'.
38806         * modules/unistr/u16-strmblen-tests: New file.
38807         * tests/unistr/test-u16-strmblen.c: New file.
38808
38809         Tests for module 'unistr/u8-strmblen'.
38810         * modules/unistr/u8-strmblen-tests: New file.
38811         * tests/unistr/test-u8-strmblen.c: New file.
38812
38813         Tests for module 'unistr/u32-cpy-alloc'.
38814         * modules/unistr/u32-cpy-alloc-tests: New file.
38815         * tests/unistr/test-u32-cpy-alloc.c: New file.
38816
38817         Tests for module 'unistr/u16-cpy-alloc'.
38818         * modules/unistr/u16-cpy-alloc-tests: New file.
38819         * tests/unistr/test-u16-cpy-alloc.c: New file.
38820
38821         Tests for module 'unistr/u8-cpy-alloc'.
38822         * modules/unistr/u8-cpy-alloc-tests: New file.
38823         * tests/unistr/test-u8-cpy-alloc.c: New file.
38824         * tests/unistr/test-cpy-alloc.h: New file.
38825
38826         Tests for module 'unistr/u32-mbsnlen'.
38827         * modules/unistr/u32-mbsnlen-tests: New file.
38828         * tests/unistr/test-u32-mbsnlen.c: New file.
38829
38830         Tests for module 'unistr/u16-mbsnlen'.
38831         * modules/unistr/u16-mbsnlen-tests: New file.
38832         * tests/unistr/test-u16-mbsnlen.c: New file.
38833
38834         Tests for module 'unistr/u8-mbsnlen'.
38835         * modules/unistr/u8-mbsnlen-tests: New file.
38836         * tests/unistr/test-u8-mbsnlen.c: New file.
38837
38838         Tests for module 'unistr/u32-chr'.
38839         * modules/unistr/u32-chr-tests: New file.
38840         * tests/unistr/test-u32-chr.c: New file.
38841
38842         Tests for module 'unistr/u16-chr'.
38843         * modules/unistr/u16-chr-tests: New file.
38844         * tests/unistr/test-u16-chr.c: New file.
38845
38846         Tests for module 'unistr/u8-chr'.
38847         * modules/unistr/u8-chr-tests: New file.
38848         * tests/unistr/test-u8-chr.c: New file.
38849         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38850
38851         Tests for module 'unistr/u32-cmp2'.
38852         * modules/unistr/u32-cmp2-tests: New file.
38853         * tests/unistr/test-u32-cmp2.c: New file.
38854
38855         Tests for module 'unistr/u16-cmp2'.
38856         * modules/unistr/u16-cmp2-tests: New file.
38857         * tests/unistr/test-u16-cmp2.c: New file.
38858
38859         Tests for module 'unistr/u8-cmp2'.
38860         * modules/unistr/u8-cmp2-tests: New file.
38861         * tests/unistr/test-u8-cmp2.c: New file.
38862         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38863
38864         Tests for module 'unistr/u32-cmp'.
38865         * modules/unistr/u32-cmp-tests: New file.
38866         * tests/unistr/test-u32-cmp.c: New file.
38867
38868         Tests for module 'unistr/u16-cmp'.
38869         * modules/unistr/u16-cmp-tests: New file.
38870         * tests/unistr/test-u16-cmp.c: New file.
38871
38872         Tests for module 'unistr/u8-cmp'.
38873         * modules/unistr/u8-cmp-tests: New file.
38874         * tests/unistr/test-u8-cmp.c: New file.
38875         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38876
38877         Tests for module 'unistr/u32-set'.
38878         * modules/unistr/u32-set-tests: New file.
38879         * tests/unistr/test-u32-set.c: New file.
38880
38881         Tests for module 'unistr/u16-set'.
38882         * modules/unistr/u16-set-tests: New file.
38883         * tests/unistr/test-u16-set.c: New file.
38884
38885         Tests for module 'unistr/u8-set'.
38886         * modules/unistr/u8-set-tests: New file.
38887         * tests/unistr/test-u8-set.c: New file.
38888         * tests/unistr/test-set.h: New file.
38889
38890         Tests for module 'unistr/u32-move'.
38891         * modules/unistr/u32-move-tests: New file.
38892         * tests/unistr/test-u32-move.c: New file.
38893
38894         Tests for module 'unistr/u16-move'.
38895         * modules/unistr/u16-move-tests: New file.
38896         * tests/unistr/test-u16-move.c: New file.
38897
38898         Tests for module 'unistr/u8-move'.
38899         * modules/unistr/u8-move-tests: New file.
38900         * tests/unistr/test-u8-move.c: New file.
38901         * tests/unistr/test-move.h: New file.
38902
38903         Tests for module 'unistr/u32-cpy'.
38904         * modules/unistr/u32-cpy-tests: New file.
38905         * tests/unistr/test-u32-cpy.c: New file.
38906
38907         Tests for module 'unistr/u16-cpy'.
38908         * modules/unistr/u16-cpy-tests: New file.
38909         * tests/unistr/test-u16-cpy.c: New file.
38910
38911         Tests for module 'unistr/u8-cpy'.
38912         * modules/unistr/u8-cpy-tests: New file.
38913         * tests/unistr/test-u8-cpy.c: New file.
38914         * tests/unistr/test-cpy.h: New file.
38915
38916 2010-01-09  Bruno Haible  <bruno@clisp.org>
38917
38918         Tests for module 'unistr/u32-uctomb'.
38919         * modules/unistr/u32-uctomb-tests: New file.
38920         * tests/unistr/test-u32-uctomb.c: New file.
38921
38922         Tests for module 'unistr/u16-uctomb'.
38923         * modules/unistr/u16-uctomb-tests: New file.
38924         * tests/unistr/test-u16-uctomb.c: New file.
38925
38926         Tests for module 'unistr/u8-uctomb'.
38927         * modules/unistr/u8-uctomb-tests: New file.
38928         * tests/unistr/test-u8-uctomb.c: New file.
38929
38930         Tests for module 'unistr/u32-mbtoucr'.
38931         * modules/unistr/u32-mbtoucr-tests: New file.
38932         * tests/unistr/test-u32-mbtoucr.c: New file.
38933
38934         Tests for module 'unistr/u16-mbtoucr'.
38935         * modules/unistr/u16-mbtoucr-tests: New file.
38936         * tests/unistr/test-u16-mbtoucr.c: New file.
38937
38938         Tests for module 'unistr/u8-mbtoucr'.
38939         * modules/unistr/u8-mbtoucr-tests: New file.
38940         * tests/unistr/test-u8-mbtoucr.c: New file.
38941
38942         Tests for module 'unistr/u32-mbtouc'.
38943         * modules/unistr/u32-mbtouc-tests: New file.
38944         * tests/unistr/test-u32-mbtouc.c: New file.
38945
38946         Tests for module 'unistr/u16-mbtouc'.
38947         * modules/unistr/u16-mbtouc-tests: New file.
38948         * tests/unistr/test-u16-mbtouc.c: New file.
38949
38950         Tests for module 'unistr/u8-mbtouc'.
38951         * modules/unistr/u8-mbtouc-tests: New file.
38952         * tests/unistr/test-u8-mbtouc.c: New file.
38953
38954         Tests for module 'unistr/u32-mbtouc-unsafe'.
38955         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38956         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38957         * tests/unistr/test-u32-mbtouc.h: New file.
38958
38959         Tests for module 'unistr/u16-mbtouc-unsafe'.
38960         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38961         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38962         * tests/unistr/test-u16-mbtouc.h: New file.
38963
38964         Tests for module 'unistr/u8-mbtouc-unsafe'.
38965         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38966         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38967         * tests/unistr/test-u8-mbtouc.h: New file.
38968
38969         Tests for module 'unistr/u32-mblen'.
38970         * modules/unistr/u32-mblen-tests: New file.
38971         * tests/unistr/test-u32-mblen.c: New file.
38972
38973         Tests for module 'unistr/u16-mblen'.
38974         * modules/unistr/u16-mblen-tests: New file.
38975         * tests/unistr/test-u16-mblen.c: New file.
38976
38977         Tests for module 'unistr/u8-mblen'.
38978         * modules/unistr/u8-mblen-tests: New file.
38979         * tests/unistr/test-u8-mblen.c: New file.
38980
38981         Tests for module 'unistr/u32-to-u16'.
38982         * modules/unistr/u32-to-u16-tests: New file.
38983         * tests/unistr/test-u32-to-u16.c: New file.
38984
38985         Tests for module 'unistr/u32-to-u8'.
38986         * modules/unistr/u32-to-u8-tests: New file.
38987         * tests/unistr/test-u32-to-u8.c: New file.
38988
38989         Tests for module 'unistr/u16-to-u32'.
38990         * modules/unistr/u16-to-u32-tests: New file.
38991         * tests/unistr/test-u16-to-u32.c: New file.
38992
38993         Tests for module 'unistr/u16-to-u8'.
38994         * modules/unistr/u16-to-u8-tests: New file.
38995         * tests/unistr/test-u16-to-u8.c: New file.
38996
38997         Tests for module 'unistr/u8-to-u32'.
38998         * modules/unistr/u8-to-u32-tests: New file.
38999         * tests/unistr/test-u8-to-u32.c: New file.
39000
39001         Tests for module 'unistr/u8-to-u16'.
39002         * modules/unistr/u8-to-u16-tests: New file.
39003         * tests/unistr/test-u8-to-u16.c: New file.
39004
39005         Tests for module 'unistr/u32-check'.
39006         * modules/unistr/u32-check-tests: New file.
39007         * tests/unistr/test-u32-check.c: New file.
39008
39009         Tests for module 'unistr/u16-check'.
39010         * modules/unistr/u16-check-tests: New file.
39011         * tests/unistr/test-u16-check.c: New file.
39012
39013         Tests for module 'unistr/u8-check'.
39014         * modules/unistr/u8-check-tests: New file.
39015         * tests/unistr/test-u8-check.c: New file.
39016
39017         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
39018         (category_equals): New function.
39019         (main): Add more tests.
39020         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
39021
39022         * tests/unictype/test-bidi_byname.c (main): Add more tests.
39023
39024 2010-01-10  Bruno Haible  <bruno@clisp.org>
39025
39026         unistr/u*-strcoll: Try harder to distinguish different strings.
39027         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
39028         compare s1 and s2 to see if they are different.
39029
39030 2010-01-10  Bruno Haible  <bruno@clisp.org>
39031
39032         unistr/u*-stpncpy: Fix the return value.
39033         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
39034         description of the return value consistent with stpncpy in glibc.
39035         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
39036         written non-NUL unit.
39037
39038 2010-01-10  Bruno Haible  <bruno@clisp.org>
39039
39040         unistr/u*-next: Add missing dependencies.
39041         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
39042         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
39043         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
39044
39045 2010-01-10  Bruno Haible  <bruno@clisp.org>
39046
39047         unistr/u8-mbsnlen: Fix return value for incomplete character.
39048         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
39049         u8_mblen.
39050         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
39051         Remove unistr/u8-mblen.
39052         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
39053         u16_mblen.
39054         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
39055         Remove unistr/u16-mblen.
39056
39057 2010-01-10  Bruno Haible  <bruno@clisp.org>
39058
39059         wchar: Fix compilation error when <wchar.h> is used from coreutils.
39060         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
39061         Reported by Brian Gough <bjg@gnu.org> and
39062         Chris Clayton <chris2553@googlemail.com> via
39063         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
39064
39065 2010-01-09  Bruno Haible  <bruno@clisp.org>
39066
39067         unistr/u16-to-u32: Reject invalid input.
39068         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
39069         u16_mbtouc.
39070         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
39071         Remove unistr/u16-mbtouc.
39072
39073         unistr/u16-to-u8: Reject invalid input.
39074         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
39075         u16_mbtouc.
39076         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
39077         Remove unistr/u16-mbtouc.
39078
39079         unistr/u8-to-u32: Reject invalid input.
39080         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
39081         u8_mbtouc.
39082         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
39083         Remove unistr/u8-mbtouc.
39084
39085         unistr/u8-to-u16: Reject invalid input.
39086         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
39087         u8_mbtouc.
39088         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
39089         Remove unistr/u8-mbtouc.
39090
39091 2010-01-09  Bruno Haible  <bruno@clisp.org>
39092
39093         Tests for module 'getlogin'.
39094         * modules/getlogin-tests: New file.
39095         * tests/test-getlogin.c: New file.
39096
39097         New module 'getlogin'.
39098         * lib/unistd.in.h (getlogin): New declaration.
39099         * lib/getlogin.c: New file.
39100         * m4/getlogin.m4: New file.
39101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
39102         HAVE_GETLOGIN.
39103         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
39104         HAVE_GETLOGIN.
39105         * modules/getlogin: New file.
39106         * doc/posix-functions/getlogin.texi: Mention the new module.
39107         Reported by John W. Eaton <jwe@gnu.org>.
39108
39109 2010-01-09  Bruno Haible  <bruno@clisp.org>
39110
39111         getlogin_r: Support for native Windows.
39112         * lib/getlogin_r.c: Include <windows.h>
39113         (getlogin_r): Implement for native Windows.
39114         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
39115         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
39116         via John W. Eaton <jwe@gnu.org>.
39117
39118 2010-01-09  Bruno Haible  <bruno@clisp.org>
39119
39120         getlogin_r: Small fixes.
39121         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
39122         succeeds.
39123         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
39124         before testing whether getlogin_r is declared. No need to set
39125         HAVE_DECL_GETLOGIN_R to 1.
39126         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
39127
39128 2010-01-09  Bruno Haible  <bruno@clisp.org>
39129
39130         * lib/unistd.in.h (getlogin_r): Add comment.
39131
39132 2010-01-09  Bruno Haible  <bruno@clisp.org>
39133
39134         Tests for module 'getlogin_r'.
39135         * modules/getlogin_r-tests: New file.
39136         * tests/test-getlogin_r.c: New file.
39137
39138 2010-01-09  Jim Meyering  <meyering@redhat.com>
39139
39140         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
39141         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
39142         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
39143
39144 2010-01-08  Simon Josefsson  <simon@josefsson.org>
39145
39146         * lib/dup2.c (rpl_dup2): Improve comment.
39147
39148 2010-01-08  Eric Blake  <ebb9@byu.net>
39149
39150         maint.mk: allow packages to add makefile @@ exceptions
39151         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
39152         (sc_makefile_check): Rename...
39153         (sc_makefile_at_at_check): ...to this, and use hook.
39154
39155         dup2: work around mingw bug
39156         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
39157         Reported by Simon Josefsson.
39158
39159 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
39160
39161         glob: Fix C++ compilation.
39162         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
39163         C++.
39164
39165 2010-01-07  Bruno Haible  <bruno@clisp.org>
39166
39167         Fix indentation of wctype.in.h, broken since 2007-01-06.
39168         * lib/wctype.in.h: Fix indentation of preprocessor directives.
39169
39170 2010-01-07  Bruno Haible  <bruno@clisp.org>
39171
39172         mbslen: Avoid collision with system function.
39173         * lib/string.in.h [MirBSD]: Include <wchar.h>.
39174         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
39175         * m4/mbslen.m4: New file.
39176         * modules/mbslen (Files): Add it.
39177         (configure.ac): Invoke gl_MBSLEN.
39178         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
39179         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
39180         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
39181         via Ian Beckwith <ianb@erislabs.net>.
39182
39183 2010-01-07  Bruno Haible  <bruno@clisp.org>
39184
39185         dirent: Document the last fix.
39186         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
39187
39188 2010-01-07  Bruno Haible  <bruno@clisp.org>
39189
39190         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
39191         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
39192         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
39193         va_list are defined.
39194         * doc/posix-headers/stdio.texi: Document the bug of missing types.
39195         Reported by Eric Blake.
39196
39197 2010-01-07  Bruno Haible  <bruno@clisp.org>
39198
39199         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
39200         * modules/xlist (Depends-on): Add 'list',
39201         * modules/xoset (Depends-on): Add 'oset'.
39202         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39203
39204 2010-01-07  Bruno Haible  <bruno@clisp.org>
39205
39206         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
39207         * doc/posix-functions/strncasecmp.texi: Likewise.
39208
39209 2010-01-07  Bruno Haible  <bruno@clisp.org>
39210
39211         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
39212
39213 2010-01-07  John W. Eaton  <jwe@octave.org>
39214
39215         wctype: allow C++ use
39216         * lib/wctype.in.h: Add extern "C" block for C++.
39217
39218 2010-01-06  Eric Blake  <ebb9@byu.net>
39219
39220         maint.mk: detect incorrect GFDL usage
39221         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
39222
39223 2010-01-06  Jim Meyering  <meyering@redhat.com>
39224         and Eric Blake  <ebb9@byu.net>
39225
39226         maint.mk: ignore multi-line copyright in NEWS
39227         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
39228
39229 2010-01-06  Eric Blake  <ebb9@byu.net>
39230
39231         select: add missing dependency
39232         * modules/select-tests (Depends-on): Move sockets dependency...
39233         * modules/select (Depends-on): ...here.
39234         Reported by Ian Beckwith.
39235
39236         doc: regenerate INSTALL
39237         * doc/INSTALL: Reflect recent autoconf update.
39238         * doc/INSTALL.ISO: Likewise.
39239         * doc/INSTALL.UTF-8: Likewise.
39240
39241         pread: fix compilation on glibc
39242         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
39243         Reported by Ralf Wildenhues.
39244
39245         dirent: fix test failure
39246         * lib/dirent.in.h (includes): Guarantee ino_t.
39247         Reported by Ralf Wildenhues.
39248
39249 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
39250
39251         linkat, renameat: avoid bad free
39252         * lib/at-func2.c (at_func2): Fix typo.
39253         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
39254
39255 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39256
39257         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
39258         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
39259         to avoid failure of symlink test later.
39260
39261 2010-01-06  Eric Blake  <ebb9@byu.net>
39262
39263         stdio, unistd: guarantee ssize_t
39264         * lib/unistd.in.h (includes): Ensure that types required by POSIX
39265         2008 are exposed when needed.
39266         * lib/stdio.in.h (includes): Likewise.
39267         Reported by Ralf Wildenhues.
39268
39269 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
39270
39271         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
39272         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
39273         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
39274
39275 2010-01-06  Jim Meyering  <meyering@redhat.com>
39276
39277         readtokens: this module *does* require xalloc.h
39278         It uses only functions that were omitted by the old syntax-check rule.
39279         * lib/readtokens.c: Include "xalloc.h" once again.
39280         * modules/readtokens (Depends-on): Add xalloc.
39281         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
39282
39283 2010-01-05  Eric Blake  <ebb9@byu.net>
39284
39285         maint: support 'make announcement' from a VPATH build
39286         * top/maint.mk (announcement): Look for correct NEWS file.
39287
39288 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
39289
39290         utimens (fdutimens): ignore a negative FD, per contract
39291         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
39292         when we have a valid file descriptor.  Otherwise, using a brand
39293         new glibc (with just-patched futimens that now fails with EBADF)
39294         would cause this function to fail with ENOSYS.
39295         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
39296         See also http://bugzilla.redhat.com/552320.
39297
39298 2010-01-05  Eric Blake  <ebb9@byu.net>
39299
39300         strcase: document what it provides
39301         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
39302         gnulib module.
39303         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
39304         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
39305
39306 2010-01-05  Jim Meyering  <meyering@redhat.com>
39307
39308         maint: remove useless inclusions of "xalloc.h"
39309         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
39310         * lib/readtokens.c: Likewise.
39311         * lib/same.c: Likewise.
39312         * modules/getloadavg (Depends-on): Remove xalloc.
39313         * modules/readtokens: Likewise.
39314         * modules/same: Likewise.
39315
39316         maint.mk: include 4 more function names in alloca.h-checking regexp
39317         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
39318         regexp.  Before, we would give a false-positive (saying alloca.h
39319         is included unnecessarily) when the only uses involved omitted symbols.
39320
39321         xalloc.h: use consistent formatting
39322         * lib/xalloc.h: Move declarations to start in the first column.
39323
39324 2010-01-05  Eric Blake  <ebb9@byu.net>
39325
39326         mkdir: avoid xalloc
39327         * lib/mkdir.c (includes): Drop unused header.
39328         Reported by John W. Eaton.
39329
39330 2010-01-04  Jim Meyering  <meyering@redhat.com>
39331
39332         nl_langinfo: avoid configure-time syntax error
39333         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
39334         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
39335         the empty string.  Don't let that provoke a shell syntax error.
39336
39337         regcomp, regexec, fnmatch: avoid array bounds read error
39338         * lib/regcomp.c (build_equiv_class): From glibc:
39339         Use only the low 24 bits of a findidx return value as an index
39340         into the weights array.  Patch by Ulrich Drepper:
39341         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
39342         * lib/regexec.c (check_node_accept_bytes): Likewise.
39343         * lib/fnmatch_loop.c (FCT): Likewise.
39344
39345         regcomp: skip collseq lookup when there are no rules
39346         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
39347         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
39348
39349         regcomp: recognize ill-formed { } expressions
39350         * lib/regcomp.c (parse_dup_op): From glibc:
39351         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
39352
39353         regcomp: fix typo in comment
39354         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
39355         s/satisfy/satisfies/.
39356
39357         regcomp: sync from glibc: remove dead store
39358         * lib/regcomp.c (duplicate_node_closure): Remove useless
39359         search_duplicated_node call and dead store.
39360
39361         regcomp: sync from glibc; always use nl_langinfo
39362         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
39363         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
39364         * modules/regex (Depends-on): Add nl_langinfo.
39365
39366 2010-01-04  Eric Blake  <ebb9@byu.net>
39367
39368         fdopendir: fix configure test
39369         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
39370
39371 2010-01-01  Bruno Haible  <bruno@clisp.org>
39372
39373         wchar: Remove unused configure check.
39374         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
39375
39376 2010-01-01  Eric Blake  <ebb9@byu.net>
39377
39378         headers: make check of system header explicit
39379         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
39380         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
39381         ourselves.
39382         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39383         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39384         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39385         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
39386         internals.
39387         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
39388         missing.
39389         Suggested by Bruno Haible.
39390
39391 2010-01-01  Jim Meyering  <meyering@redhat.com>
39392
39393         ChangeLog: tweak to eliminate unnecessary copyright line
39394         * ChangeLog: Remove a copyright line that was mistakenly updated
39395         by today's update-copyright run.  Reported by Eric Blake.
39396
39397         test-update-copyright: don't let envvar setting cause test failure
39398         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39399
39400 2010-01-01  Bruno Haible  <bruno@clisp.org>
39401
39402         localename: Avoid gcc warning.
39403         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
39404         function if it is not used.
39405
39406 2010-01-01  Jim Meyering  <meyering@redhat.com>
39407
39408         update nearly all FSF copyright year lists to include 2010
39409         Use the same procedure as for 2009, outlined in
39410         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
39411
39412         version-etc: set COPYRIGHT_YEAR to 2010
39413         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
39414
39415 2009-12-31  Eric Blake  <ebb9@byu.net>
39416
39417         doc: correct availability of cygwin 1.5.x getopt
39418         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
39419         variables.
39420         * doc/posix-functions/opterr.texi (opterr): Likewise.
39421         * doc/posix-functions/optind.texi (optind): Likewise.
39422         * doc/posix-functions/optopt.texi (optopt): Likewise.
39423         * doc/posix-functions/tzname.texi (tzname): Likewise.
39424
39425         openat: update maintainer
39426         * modules/openat (Maintainer): Add myself.
39427
39428         utimens: avoid shadowing warning
39429         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
39430         buffers into one, to avoid shadowing, as well as avoiding a
39431         redundant stat.
39432         Reported by Jim Meyering.
39433
39434         test-dup2: avoid compiler warning
39435         * tests/test-dup2.c (is_inheritable): Only define if used.
39436
39437 2010-01-01  Bruno Haible  <bruno@clisp.org>
39438
39439         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
39440         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
39441         defined, use wctomb instead of wcrtomb.
39442
39443 2010-01-01  Bruno Haible  <bruno@clisp.org>
39444
39445         iconv: Reject native Solaris iconv.
39446         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
39447         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
39448
39449 2009-12-31  Bruno Haible  <bruno@clisp.org>
39450
39451         * tests/test-signal.c (main): Remove test of 'SIG'.
39452
39453 2009-12-31  Bruno Haible  <bruno@clisp.org>
39454
39455         spawn: Fix incomplete fix.
39456         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39457         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39458         warnings for GNULIB_POSIXCHECK again.
39459         Reported by Eric Blake.
39460
39461 2009-12-31  Bruno Haible  <bruno@clisp.org>
39462
39463         Avoid namespace pollution on glibc systems.
39464         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39465         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39466         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39467         glibc systems.
39468
39469 2009-12-31  Bruno Haible  <bruno@clisp.org>
39470
39471         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39472         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39473         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39474         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39475         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39476         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39477         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39478
39479 2009-12-31  Bruno Haible  <bruno@clisp.org>
39480
39481         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39482         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39483         afterwards.
39484
39485 2009-12-31  Bruno Haible  <bruno@clisp.org>
39486
39487         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39488         SYS_UTSNAME_H.
39489
39490 2009-12-31  Bruno Haible  <bruno@clisp.org>
39491
39492         spawn: Fix misapplied patch.
39493         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39494         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39495         warnings for GNULIB_POSIXCHECK.
39496
39497 2009-12-31  Bruno Haible  <bruno@clisp.org>
39498
39499         times: Update after sys_times changed.
39500         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39501         * modules/times (Files): Add it.
39502         (configure.ac): Invoke gl_FUNC_TIMES.
39503
39504 2009-12-31  Bruno Haible  <bruno@clisp.org>
39505
39506         Use AC_C_INLINE where necessary.
39507         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39508         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39509         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39510         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39511         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39512         * m4/mbiter.m4 (gl_MBITER): Likewise.
39513         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39514         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39515         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39516         * modules/u64 (configure.ac): Likewise.
39517
39518 2009-12-31  Bruno Haible  <bruno@clisp.org>
39519
39520         Use AC_C_INLINE instead of module 'inline' where possible.
39521         * modules/inline (Description): Clarify purpose.
39522         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39523         * modules/count-one-bits (Depends-on): Remove inline.
39524         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39525         * modules/openat (Depends-on): Remove inline.
39526         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39527         instead of depending on module 'inline'.
39528         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39529         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39530         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39531         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39532         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39533         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39534         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39535         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39536         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39537         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39538         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39539         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39540         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39541         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39542         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39543         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39544         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39545         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39546         Likewise.
39547         * modules/unictype/property-ascii-hex-digit (Depends-on,
39548         configure.ac): Likewise.
39549         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39550         configure.ac): Likewise.
39551         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39552         configure.ac): Likewise.
39553         * modules/unictype/property-bidi-block-separator (Depends-on,
39554         configure.ac): Likewise.
39555         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39556         configure.ac): Likewise.
39557         * modules/unictype/property-bidi-common-separator (Depends-on,
39558         configure.ac): Likewise.
39559         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39560         Likewise.
39561         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39562         configure.ac): Likewise.
39563         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39564         configure.ac): Likewise.
39565         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39566         configure.ac): Likewise.
39567         * modules/unictype/property-bidi-european-digit (Depends-on,
39568         configure.ac): Likewise.
39569         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39570         configure.ac): Likewise.
39571         * modules/unictype/property-bidi-left-to-right (Depends-on,
39572         configure.ac): Likewise.
39573         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39574         configure.ac): Likewise.
39575         * modules/unictype/property-bidi-other-neutral (Depends-on,
39576         configure.ac): Likewise.
39577         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39578         Likewise.
39579         * modules/unictype/property-bidi-segment-separator (Depends-on,
39580         configure.ac): Likewise.
39581         * modules/unictype/property-bidi-whitespace (Depends-on,
39582         configure.ac): Likewise.
39583         * modules/unictype/property-combining (Depends-on, configure.ac):
39584         Likewise.
39585         * modules/unictype/property-composite (Depends-on, configure.ac):
39586         Likewise.
39587         * modules/unictype/property-currency-symbol (Depends-on,
39588         configure.ac): Likewise.
39589         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39590         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39591         Likewise.
39592         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39593         configure.ac): Likewise.
39594         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39595         Likewise.
39596         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39597         Likewise.
39598         * modules/unictype/property-extender (Depends-on, configure.ac):
39599         Likewise.
39600         * modules/unictype/property-format-control (Depends-on, configure.ac):
39601         Likewise.
39602         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39603         Likewise.
39604         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39605         Likewise.
39606         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39607         Likewise.
39608         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39609         Likewise.
39610         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39611         Likewise.
39612         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39613         Likewise.
39614         * modules/unictype/property-id-start (Depends-on, configure.ac):
39615         Likewise.
39616         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39617         Likewise.
39618         * modules/unictype/property-ids-binary-operator (Depends-on,
39619         configure.ac): Likewise.
39620         * modules/unictype/property-ids-trinary-operator (Depends-on,
39621         configure.ac): Likewise.
39622         * modules/unictype/property-ignorable-control (Depends-on,
39623         configure.ac): Likewise.
39624         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39625         Likewise.
39626         * modules/unictype/property-join-control (Depends-on, configure.ac):
39627         Likewise.
39628         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39629         Likewise.
39630         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39631         Likewise.
39632         * modules/unictype/property-logical-order-exception (Depends-on,
39633         configure.ac): Likewise.
39634         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39635         Likewise.
39636         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39637         * modules/unictype/property-non-break (Depends-on, configure.ac):
39638         Likewise.
39639         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39640         Likewise.
39641         * modules/unictype/property-numeric (Depends-on, configure.ac):
39642         Likewise.
39643         * modules/unictype/property-other-alphabetic (Depends-on,
39644         configure.ac): Likewise.
39645         * modules/unictype/property-other-default-ignorable-code-point
39646         (Depends-on, configure.ac): Likewise.
39647         * modules/unictype/property-other-grapheme-extend (Depends-on,
39648         configure.ac): Likewise.
39649         * modules/unictype/property-other-id-continue (Depends-on,
39650         configure.ac): Likewise.
39651         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39652         Likewise.
39653         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39654         Likewise.
39655         * modules/unictype/property-other-math (Depends-on, configure.ac):
39656         Likewise.
39657         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39658         Likewise.
39659         * modules/unictype/property-paired-punctuation (Depends-on,
39660         configure.ac): Likewise.
39661         * modules/unictype/property-paragraph-separator (Depends-on,
39662         configure.ac): Likewise.
39663         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39664         Likewise.
39665         * modules/unictype/property-pattern-white-space (Depends-on,
39666         configure.ac): Likewise.
39667         * modules/unictype/property-private-use (Depends-on, configure.ac):
39668         Likewise.
39669         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39670         Likewise.
39671         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39672         Likewise.
39673         * modules/unictype/property-radical (Depends-on, configure.ac):
39674         Likewise.
39675         * modules/unictype/property-sentence-terminal (Depends-on,
39676         configure.ac): Likewise.
39677         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39678         Likewise.
39679         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39680         * modules/unictype/property-terminal-punctuation (Depends-on,
39681         configure.ac): Likewise.
39682         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39683         Likewise.
39684         * modules/unictype/property-unassigned-code-value (Depends-on,
39685         configure.ac): Likewise.
39686         * modules/unictype/property-unified-ideograph (Depends-on,
39687         configure.ac): Likewise.
39688         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39689         Likewise.
39690         * modules/unictype/property-variation-selector (Depends-on,
39691         configure.ac): Likewise.
39692         * modules/unictype/property-white-space (Depends-on, configure.ac):
39693         Likewise.
39694         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39695         Likewise.
39696         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39697         Likewise.
39698         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39699         Likewise.
39700         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39701         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39702         Likewise.
39703
39704 2009-12-31  Bruno Haible  <bruno@clisp.org>
39705
39706         Remove unnecessary AC_C_INLINE invocation.
39707         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39708         since 2009-08-21.
39709
39710 2009-12-31  Jim Meyering  <meyering@redhat.com>
39711
39712         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39713         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39714         With this change, we can all remove the gpg_key_ID = ... definition
39715         from our respective cfg.mk files.
39716
39717         maint.mk: create announcement template in ~/, not in /tmp
39718         * top/maint.mk (emit_upload_commands): Adjust.
39719         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39720         Remove temporary file, .ci-msg.
39721
39722 2009-12-31  Eric Blake  <ebb9@byu.net>
39723
39724         link-warning: always build headers with link warnings
39725         * modules/arpa_inet (Makefile.am): Always build replacement
39726         header.
39727         * modules/ctype (Makefile.am): Likewise.
39728         * modules/dirent (Makefile.am): Likewise.
39729         * modules/inttypes (Makefile.am): Likewise.
39730         * modules/langinfo (Makefile.am): Likewise.
39731         * modules/locale (Makefile.am): Likewise.
39732         * modules/spawn (Makefile.am): Likewise.
39733         * modules/sys_file (Makefile.am): Likewise.
39734         * modules/sys_ioctl (Makefile.am): Likewise.
39735         * modules/sys_select (Makefile.am): Likewise.
39736         * modules/sys_socket (Makefile.am): Likewise.
39737         * modules/sys_times (Makefile.am): Likewise.
39738         * modules/sys_utsname (Makefile.am): Likewise.
39739         * modules/sys_wait (Makefile.am): Likewise.
39740         * modules/wchar (Makefile.am): Likewise.
39741         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39742         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39743         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39744         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39745         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39746         Likewise.
39747         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39748         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39749         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39750         Likewise.
39751         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39752         Likewise.
39753         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39754         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39755         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39756         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39757         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39758         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39759         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39760         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39761         (gl_WCHAR_H_DEFAULTS): Likewise.
39762
39763 2009-12-31  Eric Blake  <ebb9@byu.net>
39764
39765         signal, spawn: use link warnings
39766         * lib/signal.in.h (sigset_t): Make unconditional.
39767         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39768         (sigpending, sigprocmask, sigaction): Add link warnings.
39769         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39770         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39771         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39772         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39773         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39774         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39775         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39776         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39777         (posix_spawn_file_actions_destroy)
39778         (posix_spawn_file_actions_addopen)
39779         (posix_spawn_file_actions_addclose)
39780         (posix_spawn_file_actions_adddup2): Likewise.
39781         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39782         * tests/test-signal.c (main): Enhance test.
39783
39784         spawn: improve wrapper support
39785         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39786         (gl_SPAWN_H_DEFAULTS): New defaults.
39787         * modules/spawn (Makefile.am): Substitute them.
39788         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39789         Only declare if missing or broken.
39790
39791         sys_times, sys_utsname: use include_next
39792         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39793         header.
39794         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39795         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39796         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39797         * modules/sys_times (Depends-on): Add include_next.
39798         (Makefile.am): Substitute additional values.
39799         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39800         * lib/sys_times.in.h (includes): Include native header, if
39801         available.
39802         * lib/sys_utsname.in.h (includes): Likewise.
39803         * tests/test-sys_times.c (main): Enhance test.
39804
39805         fdutimensat: revert prior patch
39806         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39807         utimens.h.
39808         Reported by Bruno Haible.
39809
39810 2009-12-30  Eric Blake  <ebb9@byu.net>
39811
39812         sys_wait: drop link-warning dependency
39813         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39814         link-warning efforts.
39815         * lib/sys_wait.in.h: Likewise.
39816
39817         fdutimensat: remove bogus dependency
39818         * modules/fdutimensat (Depends-on): Drop inline.
39819
39820         unistd: fix typo
39821         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39822
39823 2009-12-30  Bruno Haible  <bruno@clisp.org>
39824
39825         Fix compilation error with Solaris cc.
39826         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39827         * lib/unicase/u16-is-invariant.c: Likewise.
39828         * lib/unicase/u32-is-invariant.c: Likewise.
39829         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39830
39831 2009-12-30  Bruno Haible  <bruno@clisp.org>
39832
39833         Fix test crash.
39834         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39835         locales.
39836         Reported by Simon Josefsson <simon@josefsson.org>.
39837
39838 2009-12-30  Bruno Haible  <bruno@clisp.org>
39839
39840         Fix compilation error on most platforms.
39841         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39842         Reported by Simon Josefsson <simon@josefsson.org>
39843         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39844
39845 2009-12-30  Eric Blake  <ebb9@byu.net>
39846
39847         futimens, utimensat: work around ntfs-3g bug
39848         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39849         a ctime bug is present, and expand workaround to cover ntfs-3g.
39850         * lib/utimens.c (fdutimens, lutimens): Likewise.
39851         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39852         (validate_timespec): Adjust return value.
39853         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39854         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39855         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39856
39857 2009-12-29  Eric Blake  <ebb9@byu.net>
39858
39859         link-warning: make usage consistent
39860         * modules/ctype (Depends-on): Add link-warning.
39861         (Makefile.am): Update rules accordingly.
39862         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39863         * modules/locale (Depends-on, Makefile.am): Likewise.
39864         * modules/sys_file (Makefile.am): Likewise.
39865         * modules/getopt-posix (Makefile.am): Delete unused link warning
39866         efforts.
39867         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39868         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39869         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39870         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39871
39872         stdio: remove unused variables
39873         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39874         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39875         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39876
39877         tests: test more substitute headers
39878         * modules/ctype-tests: New file.
39879         * modules/dirent-tests: Likewise.
39880         * modules/spawn-tests: Likewise.
39881         * modules/sys_file-tests: Likewise.
39882         * modules/sys_ioctl-tests: Likewise.
39883         * modules/sys_wait-tests: Likewise.
39884         * tests/test-ctype.c: Likewise.
39885         * tests/test-dirent.c: Likewise.
39886         * tests/test-spawn.c: Likewise.
39887         * tests/test-sys_file.c: Likewise.
39888         * tests/test-sys_ioctl.c: Likewise.
39889         * tests/test-sys_wait.c: Likewise.
39890         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39891         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39892         whether or not flock is in use.
39893
39894         tests: remove License section from module
39895         * modules/arpa_inet-tests: Remove unneeded section.
39896         * modules/byteswap-tests: Likewise.
39897         * modules/ceilf-tests: Likewise.
39898         * modules/ceill-tests: Likewise.
39899         * modules/crypto/des-tests: Likewise.
39900         * modules/crypto/gc-arcfour-tests: Likewise.
39901         * modules/crypto/gc-arctwo-tests: Likewise.
39902         * modules/crypto/gc-des-tests: Likewise.
39903         * modules/crypto/gc-hmac-md5-tests: Likewise.
39904         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39905         * modules/crypto/gc-md2-tests: Likewise.
39906         * modules/crypto/gc-md4-tests: Likewise.
39907         * modules/crypto/gc-md5-tests: Likewise.
39908         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39909         * modules/crypto/gc-rijndael-tests: Likewise.
39910         * modules/crypto/gc-sha1-tests: Likewise.
39911         * modules/crypto/gc-tests: Likewise.
39912         * modules/crypto/md2-tests: Likewise.
39913         * modules/crypto/md4-tests: Likewise.
39914         * modules/fcntl-h-tests: Likewise.
39915         * modules/floorf-tests: Likewise.
39916         * modules/floorl-tests: Likewise.
39917         * modules/frexp-nolibm-tests: Likewise.
39918         * modules/frexp-tests: Likewise.
39919         * modules/frexpl-nolibm-tests: Likewise.
39920         * modules/frexpl-tests: Likewise.
39921         * modules/getaddrinfo-tests: Likewise.
39922         * modules/inttypes-tests: Likewise.
39923         * modules/isfinite-tests: Likewise.
39924         * modules/isinf-tests: Likewise.
39925         * modules/ldexpl-tests: Likewise.
39926         * modules/locale-tests: Likewise.
39927         * modules/math-tests: Likewise.
39928         * modules/netdb-tests: Likewise.
39929         * modules/netinet_in-tests: Likewise.
39930         * modules/printf-frexp-tests: Likewise.
39931         * modules/printf-frexpl-tests: Likewise.
39932         * modules/priv-set-tests: Likewise.
39933         * modules/random_r-tests: Likewise.
39934         * modules/round-tests: Likewise.
39935         * modules/roundf-tests: Likewise.
39936         * modules/roundl-tests: Likewise.
39937         * modules/search-tests: Likewise.
39938         * modules/select-tests: Likewise.
39939         * modules/signal-tests: Likewise.
39940         * modules/stdbool-tests: Likewise.
39941         * modules/stddef-tests: Likewise.
39942         * modules/stdint-tests: Likewise.
39943         * modules/stdio-tests: Likewise.
39944         * modules/stdlib-tests: Likewise.
39945         * modules/string-tests: Likewise.
39946         * modules/strings-tests: Likewise.
39947         * modules/sys_select-tests: Likewise.
39948         * modules/sys_socket-tests: Likewise.
39949         * modules/sys_stat-tests: Likewise.
39950         * modules/sys_time-tests: Likewise.
39951         * modules/sys_utsname-tests: Likewise.
39952         * modules/sysexits-tests: Likewise.
39953         * modules/time-tests: Likewise.
39954         * modules/trunc-tests: Likewise.
39955         * modules/truncf-tests: Likewise.
39956         * modules/truncl-tests: Likewise.
39957         * modules/tsearch-tests: Likewise.
39958         * modules/unistd-tests: Likewise.
39959         * modules/wchar-tests: Likewise.
39960         * modules/wctype-tests: Likewise.
39961
39962         tests: fix license on several tests
39963         * tests/test-des.c: Update to GPLv3+.
39964         * tests/test-flock.c: Likewise.
39965         * tests/test-fsync.c: Likewise.
39966         * tests/test-futimens.h: Likewise.
39967         * tests/test-gc-arcfour.c: Likewise.
39968         * tests/test-gc-arctwo.c: Likewise.
39969         * tests/test-gc-des.c: Likewise.
39970         * tests/test-gc-hmac-md5.c: Likewise.
39971         * tests/test-gc-hmac-sha1.c: Likewise.
39972         * tests/test-gc-md2.c: Likewise.
39973         * tests/test-gc-md4.c: Likewise.
39974         * tests/test-gc-md5.c: Likewise.
39975         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39976         * tests/test-gc-rijndael.c: Likewise.
39977         * tests/test-gc-sha1.c: Likewise.
39978         * tests/test-gc.c: Likewise.
39979         * tests/test-getcwd.c: Likewise.
39980         * tests/test-link.c: Likewise.
39981         * tests/test-link.h: Likewise.
39982         * tests/test-lutimens.h: Likewise.
39983         * tests/test-md2.c: Likewise.
39984         * tests/test-md4.c: Likewise.
39985         * tests/test-mkdir.h: Likewise.
39986         * tests/test-rename.c: Likewise.
39987         * tests/test-rename.h: Likewise.
39988         * tests/test-safe-alloc.c: Likewise.
39989         * tests/test-utimens-common.h: Likewise.
39990         * tests/test-utimens.h: Likewise.
39991
39992         maint: sync license texts
39993         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39994         * doc/gpl-3.0.texi: Revert copyright year update.
39995         * doc/lgpl-3.0.texi: Likewise.
39996
39997 2009-12-29  Jim Meyering  <meyering@redhat.com>
39998
39999         update nearly all FSF copyright year lists to include 2009
40000         The files named by the following are exempted:
40001             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
40002               test -f "$dst" && { echo "$dst"; continue; }
40003               test -d "$dst" || continue
40004               echo "$dst"/$(basename "$src")
40005             done > exempt
40006             git ls-files tests/unictype >> exempt
40007         In the remaining files, convert to all-interval notation if
40008         - there is already at least one year interval like 2000-2003
40009         - the file is maintained by me
40010         - the file is in lib/uni*/, where that style already prevails
40011         Otherwise, use update-copyright's default.
40012
40013 2009-12-29  Simon Josefsson  <simon@josefsson.org>
40014         and Eric Blake  <ebb9@byu.net>
40015
40016         tests: don't require debug system() to pass
40017         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
40018         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40019         * tests/test-unlink.h (test_unlink_func): Likewise.
40020         * tests/test-fstatat.c (main): ...into callers.
40021         * tests/test-lstat.c (main): Likewise.
40022         * tests/test-rmdir.c (main): Likewise.
40023         * tests/test-unlink.c (main): Likewise.
40024         * tests/test-unlinkat.c (main): Likewise.
40025         * tests/test-areadlink-with-size.c (main): Don't require a
40026         debug-only system call to pass, aiding cross-testing to mingw.
40027         * tests/test-areadlink.c (main): Likewise.
40028         * tests/test-areadlinkat-with-size.c (main): Likewise.
40029         * tests/test-areadlinkat.c (main): Likewise.
40030         * tests/test-canonicalize-lgpl.c (main): Likewise.
40031         * tests/test-canonicalize.c (main): Likewise.
40032         * tests/test-chown.c (main): Likewise.
40033         * tests/test-fchownat.c (main): Likewise.
40034         * tests/test-lchown.c (main): Likewise.
40035         * tests/test-fdutimensat.c (main): Likewise.
40036         * tests/test-futimens.c (main): Likewise.
40037         * tests/test-link.c (main): Likewise.
40038         * tests/test-linkat.c (main): Likewise.
40039         * tests/test-mkdir.c (main): Likewise.
40040         * tests/test-mkdirat.c (main): Likewise.
40041         * tests/test-mkfifo.c (main): Likewise.
40042         * tests/test-mkfifoat.c (main): Likewise.
40043         * tests/test-mknod.c (main): Likewise.
40044         * tests/test-readlink.c (main): Likewise.
40045         * tests/test-remove.c (main): Likewise.
40046         * tests/test-rename.c (main): Likewise.
40047         * tests/test-renameat.c (main): Likewise.
40048         * tests/test-symlink.c (main): Likewise.
40049         * tests/test-symlinkat.c (main): Likewise.
40050         * tests/test-utimens.c (main): Likewise.
40051         * tests/test-utimensat.c (main): Likewise.
40052
40053 2009-12-29  Simon Josefsson  <simon@josefsson.org>
40054
40055         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
40056         on $(UNUSED_PARAMETER_H) to avoid build failure.
40057
40058 2009-12-28  Jim Meyering  <meyering@redhat.com>
40059
40060         update-copyright: you may specify a max. line length other than 72
40061         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
40062
40063         maint: use consistent FSF copyright line syntax
40064         * lib/posixtm.c: Add missing comma in FSF copyright line.
40065         * lib/posixtm.h: Likewise.
40066         * lib/getugroups.c: Add missing ", Inc.".
40067
40068         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
40069         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
40070         FSF copyright line.  Remove trailing blanks.
40071
40072 2009-12-28  Eric Blake  <ebb9@byu.net>
40073
40074         test-dup2: reduce dependencies
40075         * modules/cloexec (Configure.ac): Set witness.
40076         * modules/dup2-tests (Depends-on): Drop cloexec.
40077         * tests/test-dup2.c (main): Skip portion of test if cloexec module
40078         not present.
40079         Suggested by Bruno Haible.
40080
40081 2009-12-26  Bruno Haible  <bruno@clisp.org>
40082
40083         Remove an unneeded dependency.
40084         * modules/fseterr (Depends-on): Remove dup2.
40085
40086 2009-12-26  Eric Blake  <ebb9@byu.net>
40087
40088         tests: use macros.h in more places
40089         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
40090         (ASSERT_STREAM): Provide default of stderr.
40091         * tests/test-dirent-safer.c: Include macros.h, using alternate
40092         stream for assertions.
40093         * tests/test-dup-safer.c: Likewise.
40094         * tests/test-freopen-safer.c: Likewise.
40095         * tests/test-getopt.c: Likewise.
40096         * tests/test-openat-safer.c: Likewise.
40097         * tests/test-pipe.c: Likewise.
40098         * tests/test-popen-safer.c: Likewise.
40099         * modules/dirent-safer-tests (Files): Include macros.h.
40100         * modules/unistd-safer-tests (Files): Likewise.
40101         * modules/freopen-safer-tests (Files): Likewise.
40102         * modules/getopt-posix-tests (Files): Likewise.
40103         * modules/openat-safer-tests (Files): Likewise.
40104         * modules/pipe-tests (Files): Likewise.
40105
40106 2009-12-26  Bruno Haible  <bruno@clisp.org>
40107
40108         javacomp: Portability fix.
40109         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
40110         that it also works on Solaris.
40111
40112 2009-12-26  Bruno Haible  <bruno@clisp.org>
40113
40114         localename: Fix storage allocation of gl_locale_name_thread's result.
40115         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
40116         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
40117         all platforms that have 'uselocale'.
40118         (gl_locale_name_thread_unsafe): New function, extracted from
40119         gl_locale_name_thread.
40120         (gl_locale_name_thread): Call struniq on all platforms that have
40121         'uselocale'.
40122         * tests/test-localename.c (test_locale_name_thread): Check that the
40123         resulting strings are permanently allocated.
40124         * modules/localename-tests (Depends-on): Add strdup.
40125
40126 2009-12-26  Bruno Haible  <bruno@clisp.org>
40127
40128         * tests/test-localename.c (categories): Fill in the strings.
40129
40130 2009-12-26  Jim Meyering  <meyering@redhat.com>
40131
40132         isdir: complete the removal of m4/isdir.m4
40133         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
40134
40135         isdir: clean up, since at least grep still uses it
40136         * lib/isdir.c: Include "isdir.h".
40137         (S_ISDIR): Remove now-unneeded definition.
40138         * modules/isdir (Files): Add lib/isdir.h.
40139         * lib/isdir.h: New file, with declaration.
40140         * m4/isdir.m4: Remove file -- unneeded.
40141
40142 2009-12-25  Bruno Haible  <bruno@clisp.org>
40143
40144         selinux-h: Make generated .h files standalone.
40145         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
40146         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
40147         * lib/se-selinux.in.h: Likewise.
40148         * modules/selinux-h (Depends-on): Add unused-parameter.
40149         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
40150         selinux/selinux.h and selinux/context.h.
40151         Suggested by Eric Blake.
40152
40153 2009-12-25  Bruno Haible  <bruno@clisp.org>
40154
40155         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
40156         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
40157         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
40158         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
40159         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
40160
40161 2009-12-24  Bruno Haible  <bruno@clisp.org>
40162
40163         openat: Fix warning.
40164         * lib/openat-proc.c: Include <unistd.h>.
40165
40166 2009-12-24  Bruno Haible  <bruno@clisp.org>
40167
40168         New module 'unused-parameter'.
40169         * build-aux/unused-parameter.h: New file, extracted from earlier
40170         gnulib-common.m4.
40171         * modules/unused-parameter: New file.
40172         * lib/unistr.h: Include unused-parameter.h.
40173         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
40174         _GL_UNUSED.
40175         * modules/unistr/base (Depends-on): Add unused-parameter.
40176
40177 2009-12-24  Bruno Haible  <bruno@clisp.org>
40178
40179         Add missing dependencies to 'extensions' module.
40180         * m4/extensions.m4: Add comment.
40181         * modules/accept4 (Depends-on): Add extensions.
40182         * modules/dup3 (Depends-on): Likewise.
40183         * modules/fcntl (Depends-on): Likewise.
40184         * modules/futimens (Depends-on): Likewise.
40185         * modules/mknod (Depends-on): Likewise.
40186         * modules/pipe2 (Depends-on): Likewise.
40187         * modules/stat-time (Depends-on): Likewise.
40188         * modules/strcasestr-simple (Depends-on): Likewise.
40189         * modules/strsignal (Depends-on): Likewise.
40190         * modules/utimensat (Depends-on): Likewise.
40191         * modules/localcharset (Depends-on): Likewise. Needed because of
40192         gl_FCNTL_O_FLAGS.
40193         * modules/wcrtomb (Depends-on): Likewise. Needed because of
40194         AC_TYPE_MBSTATE_T.
40195         * modules/wcsnrtombs (Depends-on): Likewise.
40196         * modules/wcsrtombs (Depends-on): Likewise.
40197
40198 2009-12-24  Bruno Haible  <bruno@clisp.org>
40199
40200         binary-io: Avoid gcc warning due to SET_BINARY.
40201         * lib/binary-io.h (SET_BINARY): Cast the result to void.
40202         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
40203
40204 2009-12-24  Bruno Haible  <bruno@clisp.org>
40205
40206         Avoid future namespace pollution on glibc systems.
40207         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
40208         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
40209         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
40210         glibc systems.
40211
40212 2009-12-24  Bruno Haible  <bruno@clisp.org>
40213
40214         Refactor common macros used in tests.
40215         * tests/macros.h: New file.
40216         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
40217         and/or <stdlib.h>, if appropriate.
40218         (ASSERT, SIZEOF): Remove macros.
40219         * tests/test-areadlink-with-size.c: Likewise.
40220         * tests/test-areadlinkat.c: Likewise.
40221         * tests/test-areadlinkat-with-size.c: Likewise.
40222         * tests/test-argmatch.c: Likewise.
40223         * tests/test-argv-iter.c: Likewise.
40224         * tests/test-array-mergesort.c: Likewise.
40225         * tests/test-array_list.c: Likewise.
40226         * tests/test-array_oset.c: Likewise.
40227         * tests/test-avltree_list.c: Likewise.
40228         * tests/test-avltree_oset.c: Likewise.
40229         * tests/test-avltreehash_list.c: Likewise.
40230         * tests/test-base64.c: Likewise.
40231         * tests/test-binary-io.c: Likewise.
40232         * tests/test-bitrotate.c: Likewise.
40233         * tests/test-btowc.c: Likewise.
40234         * tests/test-byteswap.c: Likewise.
40235         * tests/test-c-ctype.c: Likewise.
40236         * tests/test-c-stack.c: Likewise.
40237         * tests/test-c-strcasecmp.c: Likewise.
40238         * tests/test-c-strcasestr.c: Likewise.
40239         * tests/test-c-strncasecmp.c: Likewise.
40240         * tests/test-c-strstr.c: Likewise.
40241         * tests/test-canonicalize-lgpl.c: Likewise.
40242         * tests/test-canonicalize.c: Likewise.
40243         * tests/test-carray_list.c: Likewise.
40244         * tests/test-ceilf1.c: Likewise.
40245         * tests/test-ceilf2.c: Likewise.
40246         * tests/test-ceill.c: Likewise.
40247         * tests/test-chown.c: Likewise.
40248         * tests/test-cloexec.c: Likewise.
40249         * tests/test-copy-acl.c: Likewise.
40250         * tests/test-copy-file.c: Likewise.
40251         * tests/test-count-one-bits.c: Likewise.
40252         * tests/test-dprintf-posix.c: Likewise.
40253         * tests/test-dup2.c: Likewise.
40254         * tests/test-dup3.c: Likewise.
40255         * tests/test-duplocale.c: Likewise.
40256         * tests/test-fbufmode.c: Likewise.
40257         * tests/test-fchdir.c: Likewise.
40258         * tests/test-fchownat.c: Likewise.
40259         * tests/test-fcntl-safer.c: Likewise.
40260         * tests/test-fcntl.c: Likewise.
40261         * tests/test-fdopendir.c: Likewise.
40262         * tests/test-fdutimensat.c: Likewise.
40263         * tests/test-fflush2.c: Likewise.
40264         * tests/test-file-has-acl.c: Likewise.
40265         * tests/test-filevercmp.c: Likewise.
40266         * tests/test-flock.c: Likewise.
40267         * tests/test-floorf1.c: Likewise.
40268         * tests/test-floorf2.c: Likewise.
40269         * tests/test-floorl.c: Likewise.
40270         * tests/test-fnmatch.c: Likewise.
40271         * tests/test-fopen.h: Likewise.
40272         * tests/test-fpending.c: Likewise.
40273         * tests/test-fprintf-posix.c: Likewise.
40274         * tests/test-fpurge.c: Likewise.
40275         * tests/test-freadable.c: Likewise.
40276         * tests/test-freadahead.c: Likewise.
40277         * tests/test-freading.c: Likewise.
40278         * tests/test-freadptr.c: Likewise.
40279         * tests/test-freadptr2.c: Likewise.
40280         * tests/test-freadseek.c: Likewise.
40281         * tests/test-freopen.c: Likewise.
40282         * tests/test-frexp.c: Likewise.
40283         * tests/test-frexpl.c: Likewise.
40284         * tests/test-fseek.c: Likewise.
40285         * tests/test-fseeko.c: Likewise.
40286         * tests/test-fstatat.c: Likewise.
40287         * tests/test-fstrcmp.c: Likewise.
40288         * tests/test-fsync.c: Likewise.
40289         * tests/test-ftell.c: Likewise.
40290         * tests/test-ftello.c: Likewise.
40291         * tests/test-func.c: Likewise.
40292         * tests/test-futimens.c: Likewise.
40293         * tests/test-fwritable.c: Likewise.
40294         * tests/test-fwriting.c: Likewise.
40295         * tests/test-getcwd.c: Likewise.
40296         * tests/test-getdate.c: Likewise.
40297         * tests/test-getdelim.c: Likewise.
40298         * tests/test-getdtablesize.c: Likewise.
40299         * tests/test-getgroups.c: Likewise.
40300         * tests/test-getline.c: Likewise.
40301         * tests/test-getndelim2.c: Likewise.
40302         * tests/test-glob.c: Likewise.
40303         * tests/test-hash.c: Likewise.
40304         * tests/test-i-ring.c: Likewise.
40305         * tests/test-iconv-utf.c: Likewise.
40306         * tests/test-iconv.c: Likewise.
40307         * tests/test-idpriv-drop.c: Likewise.
40308         * tests/test-idpriv-droptemp.c: Likewise.
40309         * tests/test-inet_ntop.c: Likewise.
40310         * tests/test-inet_pton.c: Likewise.
40311         * tests/test-isblank.c: Likewise.
40312         * tests/test-isfinite.c: Likewise.
40313         * tests/test-isinf.c: Likewise.
40314         * tests/test-isnan.c: Likewise.
40315         * tests/test-isnand.h: Likewise.
40316         * tests/test-isnanf.h: Likewise.
40317         * tests/test-isnanl.h: Likewise.
40318         * tests/test-lchown.c: Likewise.
40319         * tests/test-ldexpl.c: Likewise.
40320         * tests/test-link.c: Likewise.
40321         * tests/test-linkat.c: Likewise.
40322         * tests/test-linked_list.c: Likewise.
40323         * tests/test-linkedhash_list.c: Likewise.
40324         * tests/test-localename.c: Likewise.
40325         * tests/test-lseek.c: Likewise.
40326         * tests/test-lstat.c: Likewise.
40327         * tests/test-mbmemcasecmp.c: Likewise.
40328         * tests/test-mbmemcasecoll.c: Likewise.
40329         * tests/test-mbrtowc.c: Likewise.
40330         * tests/test-mbscasecmp.c: Likewise.
40331         * tests/test-mbscasestr1.c: Likewise.
40332         * tests/test-mbscasestr2.c: Likewise.
40333         * tests/test-mbscasestr3.c: Likewise.
40334         * tests/test-mbscasestr4.c: Likewise.
40335         * tests/test-mbschr.c: Likewise.
40336         * tests/test-mbscspn.c: Likewise.
40337         * tests/test-mbsinit.c: Likewise.
40338         * tests/test-mbsncasecmp.c: Likewise.
40339         * tests/test-mbsnrtowcs.c: Likewise.
40340         * tests/test-mbspbrk.c: Likewise.
40341         * tests/test-mbspcasecmp.c: Likewise.
40342         * tests/test-mbsrchr.c: Likewise.
40343         * tests/test-mbsrtowcs.c: Likewise.
40344         * tests/test-mbsspn.c: Likewise.
40345         * tests/test-mbsstr1.c: Likewise.
40346         * tests/test-mbsstr2.c: Likewise.
40347         * tests/test-mbsstr3.c: Likewise.
40348         * tests/test-memchr.c: Likewise.
40349         * tests/test-memchr2.c: Likewise.
40350         * tests/test-memcmp.c: Likewise.
40351         * tests/test-memmem.c: Likewise.
40352         * tests/test-memrchr.c: Likewise.
40353         * tests/test-mkdir.c: Likewise.
40354         * tests/test-mkdirat.c: Likewise.
40355         * tests/test-mkfifo.c: Likewise.
40356         * tests/test-mkfifoat.c: Likewise.
40357         * tests/test-mknod.c: Likewise.
40358         * tests/test-nanosleep.c: Likewise.
40359         * tests/test-nl_langinfo.c: Likewise.
40360         * tests/test-obstack-printf.c: Likewise.
40361         * tests/test-open.c: Likewise.
40362         * tests/test-openat.c: Likewise.
40363         * tests/test-pipe-filter-gi1.c: Likewise.
40364         * tests/test-pipe-filter-gi2-main.c: Likewise.
40365         * tests/test-pipe-filter-ii1.c: Likewise.
40366         * tests/test-pipe-filter-ii2-main.c: Likewise.
40367         * tests/test-pipe2.c: Likewise.
40368         * tests/test-popen.h: Likewise.
40369         * tests/test-posixtm.c: Likewise.
40370         * tests/test-pread.c: Likewise.
40371         * tests/test-printf-frexp.c: Likewise.
40372         * tests/test-printf-frexpl.c: Likewise.
40373         * tests/test-printf-posix.c: Likewise.
40374         * tests/test-priv-set.c: Likewise.
40375         * tests/test-quotearg.c: Likewise.
40376         * tests/test-random_r.c: Likewise.
40377         * tests/test-rawmemchr.c: Likewise.
40378         * tests/test-rbtree_list.c: Likewise.
40379         * tests/test-rbtree_oset.c: Likewise.
40380         * tests/test-rbtreehash_list.c: Likewise.
40381         * tests/test-readlink.c: Likewise.
40382         * tests/test-remove.c: Likewise.
40383         * tests/test-rename.c: Likewise.
40384         * tests/test-renameat.c: Likewise.
40385         * tests/test-rmdir.c: Likewise.
40386         * tests/test-round1.c: Likewise.
40387         * tests/test-roundf1.c: Likewise.
40388         * tests/test-roundl.c: Likewise.
40389         * tests/test-safe-alloc.c: Likewise.
40390         * tests/test-sameacls.c: Likewise.
40391         * tests/test-set-mode-acl.c: Likewise.
40392         * tests/test-setenv.c: Likewise.
40393         * tests/test-sigaction.c: Likewise.
40394         * tests/test-signbit.c: Likewise.
40395         * tests/test-sleep.c: Likewise.
40396         * tests/test-snprintf-posix.c: Likewise.
40397         * tests/test-snprintf.c: Likewise.
40398         * tests/test-sprintf-posix.c: Likewise.
40399         * tests/test-stat-time.c: Likewise.
40400         * tests/test-stat.c: Likewise.
40401         * tests/test-strcasestr.c: Likewise.
40402         * tests/test-strchrnul.c: Likewise.
40403         * tests/test-strerror.c: Likewise.
40404         * tests/test-striconv.c: Likewise.
40405         * tests/test-striconveh.c: Likewise.
40406         * tests/test-striconveha.c: Likewise.
40407         * tests/test-strsignal.c: Likewise.
40408         * tests/test-strstr.c: Likewise.
40409         * tests/test-strtod.c: Likewise.
40410         * tests/test-strverscmp.c: Likewise.
40411         * tests/test-symlink.c: Likewise.
40412         * tests/test-symlinkat.c: Likewise.
40413         * tests/test-trunc1.c: Likewise.
40414         * tests/test-trunc2.c: Likewise.
40415         * tests/test-truncf1.c: Likewise.
40416         * tests/test-truncf2.c: Likewise.
40417         * tests/test-truncl.c: Likewise.
40418         * tests/test-uname.c: Likewise.
40419         * tests/test-unlink.c: Likewise.
40420         * tests/test-unlinkat.c: Likewise.
40421         * tests/test-unsetenv.c: Likewise.
40422         * tests/test-usleep.c: Likewise.
40423         * tests/test-utimens.c: Likewise.
40424         * tests/test-utimensat.c: Likewise.
40425         * tests/test-vasnprintf-posix.c: Likewise.
40426         * tests/test-vasnprintf-posix2.c: Likewise.
40427         * tests/test-vasnprintf.c: Likewise.
40428         * tests/test-vasprintf-posix.c: Likewise.
40429         * tests/test-vasprintf.c: Likewise.
40430         * tests/test-vdprintf-posix.c: Likewise.
40431         * tests/test-vfprintf-posix.c: Likewise.
40432         * tests/test-vprintf-posix.c: Likewise.
40433         * tests/test-vsnprintf-posix.c: Likewise.
40434         * tests/test-vsnprintf.c: Likewise.
40435         * tests/test-vsprintf-posix.c: Likewise.
40436         * tests/test-wcrtomb.c: Likewise.
40437         * tests/test-wcsnrtombs.c: Likewise.
40438         * tests/test-wcsrtombs.c: Likewise.
40439         * tests/test-wctype.c: Likewise.
40440         * tests/test-wcwidth.c: Likewise.
40441         * tests/test-xfprintf-posix.c: Likewise.
40442         * tests/test-xmemdup0.c: Likewise.
40443         * tests/test-xprintf-posix.c: Likewise.
40444         * tests/test-xvasprintf.c: Likewise.
40445         * tests/unicase/test-locale-language.c: Likewise.
40446         * tests/unicase/test-mapping-part1.h: Likewise.
40447         * tests/unicase/test-predicate-part1.h: Likewise.
40448         * tests/unicase/test-u8-casecmp.c: Likewise.
40449         * tests/unicase/test-u8-casecoll.c: Likewise.
40450         * tests/unicase/test-u8-casefold.c: Likewise.
40451         * tests/unicase/test-u8-is-cased.c: Likewise.
40452         * tests/unicase/test-u8-is-casefolded.c: Likewise.
40453         * tests/unicase/test-u8-is-lowercase.c: Likewise.
40454         * tests/unicase/test-u8-is-titlecase.c: Likewise.
40455         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40456         * tests/unicase/test-u8-tolower.c: Likewise.
40457         * tests/unicase/test-u8-totitle.c: Likewise.
40458         * tests/unicase/test-u8-toupper.c: Likewise.
40459         * tests/unicase/test-u16-casecmp.c: Likewise.
40460         * tests/unicase/test-u16-casecoll.c: Likewise.
40461         * tests/unicase/test-u16-casefold.c: Likewise.
40462         * tests/unicase/test-u16-is-cased.c: Likewise.
40463         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40464         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40465         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40466         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40467         * tests/unicase/test-u16-tolower.c: Likewise.
40468         * tests/unicase/test-u16-totitle.c: Likewise.
40469         * tests/unicase/test-u16-toupper.c: Likewise.
40470         * tests/unicase/test-u32-casecmp.c: Likewise.
40471         * tests/unicase/test-u32-casecoll.c: Likewise.
40472         * tests/unicase/test-u32-casefold.c: Likewise.
40473         * tests/unicase/test-u32-is-cased.c: Likewise.
40474         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40475         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40476         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40477         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40478         * tests/unicase/test-u32-tolower.c: Likewise.
40479         * tests/unicase/test-u32-totitle.c: Likewise.
40480         * tests/unicase/test-u32-toupper.c: Likewise.
40481         * tests/unicase/test-ulc-casecmp.c: Likewise.
40482         * tests/unicase/test-ulc-casecoll.c: Likewise.
40483         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40484         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40485         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40486         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40487         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40488         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40489         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40490         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40491         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40492         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40493         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40494         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40495         * tests/unictype/test-bidi_byname.c: Likewise.
40496         * tests/unictype/test-bidi_name.c: Likewise.
40497         * tests/unictype/test-bidi_of.c: Likewise.
40498         * tests/unictype/test-bidi_test.c: Likewise.
40499         * tests/unictype/test-block_list.c: Likewise.
40500         * tests/unictype/test-block_of.c: Likewise.
40501         * tests/unictype/test-block_test.c: Likewise.
40502         * tests/unictype/test-categ_and.c: Likewise.
40503         * tests/unictype/test-categ_and_not.c: Likewise.
40504         * tests/unictype/test-categ_byname.c: Likewise.
40505         * tests/unictype/test-categ_name.c: Likewise.
40506         * tests/unictype/test-categ_none.c: Likewise.
40507         * tests/unictype/test-categ_of.c: Likewise.
40508         * tests/unictype/test-categ_or.c: Likewise.
40509         * tests/unictype/test-categ_test_withtable.c: Likewise.
40510         * tests/unictype/test-combining.c: Likewise.
40511         * tests/unictype/test-decdigit.c: Likewise.
40512         * tests/unictype/test-digit.c: Likewise.
40513         * tests/unictype/test-mirror.c: Likewise.
40514         * tests/unictype/test-numeric.c: Likewise.
40515         * tests/unictype/test-pr_byname.c: Likewise.
40516         * tests/unictype/test-pr_test.c: Likewise.
40517         * tests/unictype/test-predicate-part1.h: Likewise.
40518         * tests/unictype/test-scripts.c: Likewise.
40519         * tests/unictype/test-sy_c_ident.c: Likewise.
40520         * tests/unictype/test-sy_java_ident.c: Likewise.
40521         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40522         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40523         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40524         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40525         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40526         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40527         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40528         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40529         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40530         * tests/uninorm/test-compat-decomposition.c: Likewise.
40531         * tests/uninorm/test-composition.c: Likewise.
40532         * tests/uninorm/test-decomposing-form.c: Likewise.
40533         * tests/uninorm/test-decomposition.c: Likewise.
40534         * tests/uninorm/test-u8-nfc.c: Likewise.
40535         * tests/uninorm/test-u8-nfd.c: Likewise.
40536         * tests/uninorm/test-u8-nfkc.c: Likewise.
40537         * tests/uninorm/test-u8-nfkd.c: Likewise.
40538         * tests/uninorm/test-u8-normcmp.c: Likewise.
40539         * tests/uninorm/test-u8-normcoll.c: Likewise.
40540         * tests/uninorm/test-u16-nfc.c: Likewise.
40541         * tests/uninorm/test-u16-nfd.c: Likewise.
40542         * tests/uninorm/test-u16-nfkc.c: Likewise.
40543         * tests/uninorm/test-u16-nfkd.c: Likewise.
40544         * tests/uninorm/test-u16-normcmp.c: Likewise.
40545         * tests/uninorm/test-u16-normcoll.c: Likewise.
40546         * tests/uninorm/test-u32-nfc.c: Likewise.
40547         * tests/uninorm/test-u32-nfd.c: Likewise.
40548         * tests/uninorm/test-u32-nfkc.c: Likewise.
40549         * tests/uninorm/test-u32-nfkd.c: Likewise.
40550         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40551         * tests/uninorm/test-u32-normcmp.c: Likewise.
40552         * tests/uninorm/test-u32-normcoll.c: Likewise.
40553         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40554         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40555         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40556         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40557         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40558         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40559         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40560         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40561         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40562         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40563         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40564         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40565         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40566         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40567         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40568         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40569         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40570         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40571         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40572         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40573         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40574         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40575         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40576         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40577         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40578         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40579         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40580         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40581         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40582         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40583         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40584         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40585         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40586         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40587         * tests/uniwidth/test-u8-width.c: Likewise.
40588         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40589         * tests/uniwidth/test-u16-width.c: Likewise.
40590         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40591         * tests/uniwidth/test-u32-width.c: Likewise.
40592         * tests/uniwidth/test-uc_width.c: Likewise.
40593         * tests/uniwidth/test-uc_width2.c: Likewise.
40594         * modules/acl-tests (Files): Add tests/macros.h.
40595         * modules/areadlink-tests (Files): Likewise.
40596         * modules/areadlink-with-size-tests (Files): Likewise.
40597         * modules/areadlinkat-tests (Files): Likewise.
40598         * modules/areadlinkat-with-size-tests (Files): Likewise.
40599         * modules/argmatch-tests (Files): Likewise.
40600         * modules/argv-iter-tests (Files): Likewise.
40601         * modules/array-list-tests (Files): Likewise.
40602         * modules/array-mergesort-tests (Files): Likewise.
40603         * modules/array-oset-tests (Files): Likewise.
40604         * modules/avltree-list-tests (Files): Likewise.
40605         * modules/avltree-oset-tests (Files): Likewise.
40606         * modules/avltreehash-list-tests (Files): Likewise.
40607         * modules/base64-tests (Files): Likewise.
40608         * modules/binary-io-tests (Files): Likewise.
40609         * modules/bitrotate-tests (Files): Likewise.
40610         * modules/btowc-tests (Files): Likewise.
40611         * modules/byteswap-tests (Files): Likewise.
40612         * modules/c-ctype-tests (Files): Likewise.
40613         * modules/c-stack-tests (Files): Likewise.
40614         * modules/c-strcase-tests (Files): Likewise.
40615         * modules/c-strcasestr-tests (Files): Likewise.
40616         * modules/c-strstr-tests (Files): Likewise.
40617         * modules/canonicalize-lgpl-tests (Files): Likewise.
40618         * modules/canonicalize-tests (Files): Likewise.
40619         * modules/carray-list-tests (Files): Likewise.
40620         * modules/ceilf-tests (Files): Likewise.
40621         * modules/ceill-tests (Files): Likewise.
40622         * modules/chown-tests (Files): Likewise.
40623         * modules/cloexec-tests (Files): Likewise.
40624         * modules/copy-file-tests (Files): Likewise.
40625         * modules/count-one-bits-tests (Files): Likewise.
40626         * modules/dprintf-posix-tests (Files): Likewise.
40627         * modules/dup2-tests (Files): Likewise.
40628         * modules/dup3-tests (Files): Likewise.
40629         * modules/duplocale-tests (Files): Likewise.
40630         * modules/fbufmode-tests (Files): Likewise.
40631         * modules/fchdir-tests (Files): Likewise.
40632         * modules/fcntl-safer-tests (Files): Likewise.
40633         * modules/fcntl-tests (Files): Likewise.
40634         * modules/fdopendir-tests (Files): Likewise.
40635         * modules/fdutimensat-tests (Files): Likewise.
40636         * modules/fflush-tests (Files): Likewise.
40637         * modules/filevercmp-tests (Files): Likewise.
40638         * modules/flock-tests (Files): Likewise.
40639         * modules/floorf-tests (Files): Likewise.
40640         * modules/floorl-tests (Files): Likewise.
40641         * modules/fnmatch-tests (Files): Likewise.
40642         * modules/fopen-safer-tests (Files): Likewise.
40643         * modules/fopen-tests (Files): Likewise.
40644         * modules/fpending-tests (Files): Likewise.
40645         * modules/fprintf-posix-tests (Files): Likewise.
40646         * modules/fpurge-tests (Files): Likewise.
40647         * modules/freadable-tests (Files): Likewise.
40648         * modules/freadahead-tests (Files): Likewise.
40649         * modules/freading-tests (Files): Likewise.
40650         * modules/freadptr-tests (Files): Likewise.
40651         * modules/freadseek-tests (Files): Likewise.
40652         * modules/freopen-tests (Files): Likewise.
40653         * modules/frexp-nolibm-tests (Files): Likewise.
40654         * modules/frexp-tests (Files): Likewise.
40655         * modules/frexpl-nolibm-tests (Files): Likewise.
40656         * modules/frexpl-tests (Files): Likewise.
40657         * modules/fseek-tests (Files): Likewise.
40658         * modules/fseeko-tests (Files): Likewise.
40659         * modules/fstrcmp-tests (Files): Likewise.
40660         * modules/fsync-tests (Files): Likewise.
40661         * modules/ftell-tests (Files): Likewise.
40662         * modules/ftello-tests (Files): Likewise.
40663         * modules/func-tests (Files): Likewise.
40664         * modules/futimens-tests (Files): Likewise.
40665         * modules/fwritable-tests (Files): Likewise.
40666         * modules/fwriting-tests (Files): Likewise.
40667         * modules/getcwd-tests (Files): Likewise.
40668         * modules/getdate-tests (Files): Likewise.
40669         * modules/getdelim-tests (Files): Likewise.
40670         * modules/getdtablesize-tests (Files): Likewise.
40671         * modules/getgroups-tests (Files): Likewise.
40672         * modules/getline-tests (Files): Likewise.
40673         * modules/getndelim2-tests (Files): Likewise.
40674         * modules/glob-tests (Files): Likewise.
40675         * modules/hash-tests (Files): Likewise.
40676         * modules/i-ring-tests (Files): Likewise.
40677         * modules/iconv-tests (Files): Likewise.
40678         * modules/iconv_open-utf-tests (Files): Likewise.
40679         * modules/idpriv-drop-tests (Files): Likewise.
40680         * modules/idpriv-droptemp-tests (Files): Likewise.
40681         * modules/inet_ntop-tests (Files): Likewise.
40682         * modules/inet_pton-tests (Files): Likewise.
40683         * modules/isblank-tests (Files): Likewise.
40684         * modules/isfinite-tests (Files): Likewise.
40685         * modules/isinf-tests (Files): Likewise.
40686         * modules/isnan-tests (Files): Likewise.
40687         * modules/isnand-nolibm-tests (Files): Likewise.
40688         * modules/isnand-tests (Files): Likewise.
40689         * modules/isnanf-nolibm-tests (Files): Likewise.
40690         * modules/isnanf-tests (Files): Likewise.
40691         * modules/isnanl-nolibm-tests (Files): Likewise.
40692         * modules/isnanl-tests (Files): Likewise.
40693         * modules/lchown-tests (Files): Likewise.
40694         * modules/ldexpl-tests (Files): Likewise.
40695         * modules/link-tests (Files): Likewise.
40696         * modules/linkat-tests (Files): Likewise.
40697         * modules/linked-list-tests (Files): Likewise.
40698         * modules/linkedhash-list-tests (Files): Likewise.
40699         * modules/localename-tests (Files): Likewise.
40700         * modules/lseek-tests (Files): Likewise.
40701         * modules/lstat-tests (Files): Likewise.
40702         * modules/mbmemcasecmp-tests (Files): Likewise.
40703         * modules/mbmemcasecoll-tests (Files): Likewise.
40704         * modules/mbrtowc-tests (Files): Likewise.
40705         * modules/mbscasecmp-tests (Files): Likewise.
40706         * modules/mbscasestr-tests (Files): Likewise.
40707         * modules/mbschr-tests (Files): Likewise.
40708         * modules/mbscspn-tests (Files): Likewise.
40709         * modules/mbsinit-tests (Files): Likewise.
40710         * modules/mbsncasecmp-tests (Files): Likewise.
40711         * modules/mbsnrtowcs-tests (Files): Likewise.
40712         * modules/mbspbrk-tests (Files): Likewise.
40713         * modules/mbspcasecmp-tests (Files): Likewise.
40714         * modules/mbsrchr-tests (Files): Likewise.
40715         * modules/mbsrtowcs-tests (Files): Likewise.
40716         * modules/mbsspn-tests (Files): Likewise.
40717         * modules/mbsstr-tests (Files): Likewise.
40718         * modules/memchr-tests (Files): Likewise.
40719         * modules/memchr2-tests (Files): Likewise.
40720         * modules/memcmp-tests (Files): Likewise.
40721         * modules/memmem-tests (Files): Likewise.
40722         * modules/memrchr-tests (Files): Likewise.
40723         * modules/mkdir-tests (Files): Likewise.
40724         * modules/mkfifo-tests (Files): Likewise.
40725         * modules/mkfifoat-tests (Files): Likewise.
40726         * modules/mknod-tests (Files): Likewise.
40727         * modules/nanosleep-tests (Files): Likewise.
40728         * modules/nl_langinfo-tests (Files): Likewise.
40729         * modules/obstack-printf-tests (Files): Likewise.
40730         * modules/open-tests (Files): Likewise.
40731         * modules/openat-tests (Files): Likewise.
40732         * modules/pipe-filter-gi-tests (Files): Likewise.
40733         * modules/pipe-filter-ii-tests (Files): Likewise.
40734         * modules/pipe2-tests (Files): Likewise.
40735         * modules/popen-safer-tests (Files): Likewise.
40736         * modules/popen-tests (Files): Likewise.
40737         * modules/posixtm-tests (Files): Likewise.
40738         * modules/pread-tests (Files): Likewise.
40739         * modules/printf-frexp-tests (Files): Likewise.
40740         * modules/printf-frexpl-tests (Files): Likewise.
40741         * modules/printf-posix-tests (Files): Likewise.
40742         * modules/priv-set-tests (Files): Likewise.
40743         * modules/quotearg-tests (Files): Likewise.
40744         * modules/random_r-tests (Files): Likewise.
40745         * modules/rawmemchr-tests (Files): Likewise.
40746         * modules/rbtree-list-tests (Files): Likewise.
40747         * modules/rbtree-oset-tests (Files): Likewise.
40748         * modules/rbtreehash-list-tests (Files): Likewise.
40749         * modules/readlink-tests (Files): Likewise.
40750         * modules/remove-tests (Files): Likewise.
40751         * modules/rename-tests (Files): Likewise.
40752         * modules/renameat-tests (Files): Likewise.
40753         * modules/rmdir-tests (Files): Likewise.
40754         * modules/round-tests (Files): Likewise.
40755         * modules/roundf-tests (Files): Likewise.
40756         * modules/roundl-tests (Files): Likewise.
40757         * modules/safe-alloc-tests (Files): Likewise.
40758         * modules/setenv-tests (Files): Likewise.
40759         * modules/sigaction-tests (Files): Likewise.
40760         * modules/signbit-tests (Files): Likewise.
40761         * modules/sleep-tests (Files): Likewise.
40762         * modules/snprintf-posix-tests (Files): Likewise.
40763         * modules/snprintf-tests (Files): Likewise.
40764         * modules/sprintf-posix-tests (Files): Likewise.
40765         * modules/stat-tests (Files): Likewise.
40766         * modules/stat-time-tests (Files): Likewise.
40767         * modules/strcasestr-tests (Files): Likewise.
40768         * modules/strchrnul-tests (Files): Likewise.
40769         * modules/strerror-tests (Files): Likewise.
40770         * modules/striconv-tests (Files): Likewise.
40771         * modules/striconveh-tests (Files): Likewise.
40772         * modules/striconveha-tests (Files): Likewise.
40773         * modules/strsignal-tests (Files): Likewise.
40774         * modules/strstr-tests (Files): Likewise.
40775         * modules/strtod-tests (Files): Likewise.
40776         * modules/strverscmp-tests (Files): Likewise.
40777         * modules/symlink-tests (Files): Likewise.
40778         * modules/symlinkat-tests (Files): Likewise.
40779         * modules/trunc-tests (Files): Likewise.
40780         * modules/truncf-tests (Files): Likewise.
40781         * modules/truncl-tests (Files): Likewise.
40782         * modules/uname-tests (Files): Likewise.
40783         * modules/unicase/cased-tests (Files): Likewise.
40784         * modules/unicase/ignorable-tests (Files): Likewise.
40785         * modules/unicase/locale-language-tests (Files): Likewise.
40786         * modules/unicase/tolower-tests (Files): Likewise.
40787         * modules/unicase/totitle-tests (Files): Likewise.
40788         * modules/unicase/toupper-tests (Files): Likewise.
40789         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40790         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40791         * modules/unicase/u8-casefold-tests (Files): Likewise.
40792         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40793         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40794         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40795         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40796         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40797         * modules/unicase/u8-tolower-tests (Files): Likewise.
40798         * modules/unicase/u8-totitle-tests (Files): Likewise.
40799         * modules/unicase/u8-toupper-tests (Files): Likewise.
40800         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40801         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40802         * modules/unicase/u16-casefold-tests (Files): Likewise.
40803         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40804         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40805         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40806         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40807         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40808         * modules/unicase/u16-tolower-tests (Files): Likewise.
40809         * modules/unicase/u16-totitle-tests (Files): Likewise.
40810         * modules/unicase/u16-toupper-tests (Files): Likewise.
40811         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40812         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40813         * modules/unicase/u32-casefold-tests (Files): Likewise.
40814         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40815         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40816         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40817         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40818         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40819         * modules/unicase/u32-tolower-tests (Files): Likewise.
40820         * modules/unicase/u32-totitle-tests (Files): Likewise.
40821         * modules/unicase/u32-toupper-tests (Files): Likewise.
40822         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40823         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40824         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40825         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40826         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40827         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40828         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40829         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40830         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40831         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40832         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40833         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40834         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40835         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40836         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40837         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40838         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40839         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40840         * modules/unictype/block-list-tests (Files): Likewise.
40841         * modules/unictype/block-of-tests (Files): Likewise.
40842         * modules/unictype/block-test-tests (Files): Likewise.
40843         * modules/unictype/category-C-tests (Files): Likewise.
40844         * modules/unictype/category-Cc-tests (Files): Likewise.
40845         * modules/unictype/category-Cf-tests (Files): Likewise.
40846         * modules/unictype/category-Cn-tests (Files): Likewise.
40847         * modules/unictype/category-Co-tests (Files): Likewise.
40848         * modules/unictype/category-Cs-tests (Files): Likewise.
40849         * modules/unictype/category-L-tests (Files): Likewise.
40850         * modules/unictype/category-Ll-tests (Files): Likewise.
40851         * modules/unictype/category-Lm-tests (Files): Likewise.
40852         * modules/unictype/category-Lo-tests (Files): Likewise.
40853         * modules/unictype/category-Lt-tests (Files): Likewise.
40854         * modules/unictype/category-Lu-tests (Files): Likewise.
40855         * modules/unictype/category-M-tests (Files): Likewise.
40856         * modules/unictype/category-Mc-tests (Files): Likewise.
40857         * modules/unictype/category-Me-tests (Files): Likewise.
40858         * modules/unictype/category-Mn-tests (Files): Likewise.
40859         * modules/unictype/category-N-tests (Files): Likewise.
40860         * modules/unictype/category-Nd-tests (Files): Likewise.
40861         * modules/unictype/category-Nl-tests (Files): Likewise.
40862         * modules/unictype/category-No-tests (Files): Likewise.
40863         * modules/unictype/category-P-tests (Files): Likewise.
40864         * modules/unictype/category-Pc-tests (Files): Likewise.
40865         * modules/unictype/category-Pd-tests (Files): Likewise.
40866         * modules/unictype/category-Pe-tests (Files): Likewise.
40867         * modules/unictype/category-Pf-tests (Files): Likewise.
40868         * modules/unictype/category-Pi-tests (Files): Likewise.
40869         * modules/unictype/category-Po-tests (Files): Likewise.
40870         * modules/unictype/category-Ps-tests (Files): Likewise.
40871         * modules/unictype/category-S-tests (Files): Likewise.
40872         * modules/unictype/category-Sc-tests (Files): Likewise.
40873         * modules/unictype/category-Sk-tests (Files): Likewise.
40874         * modules/unictype/category-Sm-tests (Files): Likewise.
40875         * modules/unictype/category-So-tests (Files): Likewise.
40876         * modules/unictype/category-Z-tests (Files): Likewise.
40877         * modules/unictype/category-Zl-tests (Files): Likewise.
40878         * modules/unictype/category-Zp-tests (Files): Likewise.
40879         * modules/unictype/category-Zs-tests (Files): Likewise.
40880         * modules/unictype/category-and-not-tests (Files): Likewise.
40881         * modules/unictype/category-and-tests (Files): Likewise.
40882         * modules/unictype/category-byname-tests (Files): Likewise.
40883         * modules/unictype/category-name-tests (Files): Likewise.
40884         * modules/unictype/category-none-tests (Files): Likewise.
40885         * modules/unictype/category-of-tests (Files): Likewise.
40886         * modules/unictype/category-or-tests (Files): Likewise.
40887         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40888         * modules/unictype/combining-class-tests (Files): Likewise.
40889         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40890         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40891         * modules/unictype/ctype-blank-tests (Files): Likewise.
40892         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40893         * modules/unictype/ctype-digit-tests (Files): Likewise.
40894         * modules/unictype/ctype-graph-tests (Files): Likewise.
40895         * modules/unictype/ctype-lower-tests (Files): Likewise.
40896         * modules/unictype/ctype-print-tests (Files): Likewise.
40897         * modules/unictype/ctype-punct-tests (Files): Likewise.
40898         * modules/unictype/ctype-space-tests (Files): Likewise.
40899         * modules/unictype/ctype-upper-tests (Files): Likewise.
40900         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40901         * modules/unictype/decimal-digit-tests (Files): Likewise.
40902         * modules/unictype/digit-tests (Files): Likewise.
40903         * modules/unictype/mirror-tests (Files): Likewise.
40904         * modules/unictype/numeric-tests (Files): Likewise.
40905         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40906         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40907         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40908         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40909         Likewise.
40910         * modules/unictype/property-bidi-block-separator-tests (Files):
40911         Likewise.
40912         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40913         Likewise.
40914         * modules/unictype/property-bidi-common-separator-tests (Files):
40915         Likewise.
40916         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40917         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40918         Likewise.
40919         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40920         Likewise.
40921         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40922         Likewise.
40923         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40924         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40925         Likewise.
40926         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40927         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40928         Likewise.
40929         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40930         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40931         * modules/unictype/property-bidi-segment-separator-tests (Files):
40932         Likewise.
40933         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40934         * modules/unictype/property-byname-tests (Files): Likewise.
40935         * modules/unictype/property-combining-tests (Files): Likewise.
40936         * modules/unictype/property-composite-tests (Files): Likewise.
40937         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40938         * modules/unictype/property-dash-tests (Files): Likewise.
40939         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40940         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40941         Likewise.
40942         * modules/unictype/property-deprecated-tests (Files): Likewise.
40943         * modules/unictype/property-diacritic-tests (Files): Likewise.
40944         * modules/unictype/property-extender-tests (Files): Likewise.
40945         * modules/unictype/property-format-control-tests (Files): Likewise.
40946         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40947         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40948         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40949         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40950         * modules/unictype/property-hyphen-tests (Files): Likewise.
40951         * modules/unictype/property-id-continue-tests (Files): Likewise.
40952         * modules/unictype/property-id-start-tests (Files): Likewise.
40953         * modules/unictype/property-ideographic-tests (Files): Likewise.
40954         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40955         * modules/unictype/property-ids-trinary-operator-tests (Files):
40956         Likewise.
40957         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40958         * modules/unictype/property-iso-control-tests (Files): Likewise.
40959         * modules/unictype/property-join-control-tests (Files): Likewise.
40960         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40961         * modules/unictype/property-line-separator-tests (Files): Likewise.
40962         * modules/unictype/property-logical-order-exception-tests (Files):
40963         Likewise.
40964         * modules/unictype/property-lowercase-tests (Files): Likewise.
40965         * modules/unictype/property-math-tests (Files): Likewise.
40966         * modules/unictype/property-non-break-tests (Files): Likewise.
40967         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40968         * modules/unictype/property-numeric-tests (Files): Likewise.
40969         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40970         * modules/unictype/property-other-default-ignorable-code-point-tests
40971         (Files): Likewise.
40972         * modules/unictype/property-other-grapheme-extend-tests (Files):
40973         Likewise.
40974         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40975         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40976         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40977         * modules/unictype/property-other-math-tests (Files): Likewise.
40978         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40979         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40980         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40981         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40982         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40983         * modules/unictype/property-private-use-tests (Files): Likewise.
40984         * modules/unictype/property-punctuation-tests (Files): Likewise.
40985         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40986         * modules/unictype/property-radical-tests (Files): Likewise.
40987         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40988         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40989         * modules/unictype/property-space-tests (Files): Likewise.
40990         * modules/unictype/property-terminal-punctuation-tests (Files):
40991         Likewise.
40992         * modules/unictype/property-test-tests (Files): Likewise.
40993         * modules/unictype/property-titlecase-tests (Files): Likewise.
40994         * modules/unictype/property-unassigned-code-value-tests (Files):
40995         Likewise.
40996         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40997         * modules/unictype/property-uppercase-tests (Files): Likewise.
40998         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40999         * modules/unictype/property-white-space-tests (Files): Likewise.
41000         * modules/unictype/property-xid-continue-tests (Files): Likewise.
41001         * modules/unictype/property-xid-start-tests (Files): Likewise.
41002         * modules/unictype/property-zero-width-tests (Files): Likewise.
41003         * modules/unictype/scripts-tests (Files): Likewise.
41004         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
41005         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
41006         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
41007         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
41008         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
41009         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
41010         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
41011         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
41012         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
41013         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
41014         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
41015         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
41016         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
41017         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
41018         * modules/uninorm/composition-tests (Files): Likewise.
41019         * modules/uninorm/decomposing-form-tests (Files): Likewise.
41020         * modules/uninorm/decomposition-tests (Files): Likewise.
41021         * modules/uninorm/filter-tests (Files): Likewise.
41022         * modules/uninorm/nfc-tests (Files): Likewise.
41023         * modules/uninorm/nfd-tests (Files): Likewise.
41024         * modules/uninorm/nfkc-tests (Files): Likewise.
41025         * modules/uninorm/nfkd-tests (Files): Likewise.
41026         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
41027         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
41028         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
41029         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
41030         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
41031         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
41032         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
41033         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
41034         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
41035         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
41036         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
41037         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
41038         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
41039         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
41040         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
41041         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
41042         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
41043         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
41044         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
41045         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
41046         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
41047         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
41048         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
41049         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
41050         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
41051         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
41052         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
41053         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
41054         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
41055         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
41056         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
41057         * modules/uniwidth/u8-width-tests (Files): Likewise.
41058         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
41059         * modules/uniwidth/u16-width-tests (Files): Likewise.
41060         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
41061         * modules/uniwidth/u32-width-tests (Files): Likewise.
41062         * modules/uniwidth/width-tests (Files): Likewise.
41063         * modules/unlink-tests (Files): Likewise.
41064         * modules/unsetenv-tests (Files): Likewise.
41065         * modules/usleep-tests (Files): Likewise.
41066         * modules/utimens-tests (Files): Likewise.
41067         * modules/utimensat-tests (Files): Likewise.
41068         * modules/vasnprintf-posix-tests (Files): Likewise.
41069         * modules/vasnprintf-tests (Files): Likewise.
41070         * modules/vasprintf-posix-tests (Files): Likewise.
41071         * modules/vasprintf-tests (Files): Likewise.
41072         * modules/vdprintf-posix-tests (Files): Likewise.
41073         * modules/vfprintf-posix-tests (Files): Likewise.
41074         * modules/vprintf-posix-tests (Files): Likewise.
41075         * modules/vsnprintf-posix-tests (Files): Likewise.
41076         * modules/vsnprintf-tests (Files): Likewise.
41077         * modules/vsprintf-posix-tests (Files): Likewise.
41078         * modules/wcrtomb-tests (Files): Likewise.
41079         * modules/wcsnrtombs-tests (Files): Likewise.
41080         * modules/wcsrtombs-tests (Files): Likewise.
41081         * modules/wctype-tests (Files): Likewise.
41082         * modules/wcwidth-tests (Files): Likewise.
41083         * modules/xmemdup0-tests (Files): Likewise.
41084         * modules/xprintf-posix-tests (Files): Likewise.
41085         * modules/xvasprintf-tests (Files): Likewise.
41086
41087 2009-12-24  Eric Blake  <ebb9@byu.net>
41088
41089         test-nanosleep: fix typo
41090         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
41091         patch.
41092         Reported by Bruno Haible.
41093
41094 2009-12-24  Bruno Haible  <bruno@clisp.org>
41095
41096         Reduce namespace pollution on glibc systems.
41097         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
41098         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
41099         systems.
41100         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
41101         <getopt.h> on glibc systems.
41102         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
41103         systems.
41104         * lib/fcntl.c: Include <unistd.h> here instead.
41105
41106 2009-12-24  Bruno Haible  <bruno@clisp.org>
41107
41108         * lib/stdlib.in.h (includes): Fix typo in today's commit.
41109
41110 2009-12-24  Eric Blake  <ebb9@byu.net>
41111
41112         tests: add signature checks
41113         * tests/signature.h (SIGNATURE_CHECK): New file.
41114         * modules/atexit-tests (Files): Use it.
41115         * modules/btowc-tests (Files): Likewise.
41116         * modules/canonicalize-lgpl-tests (Files): Likewise.
41117         * modules/ceilf-tests (Files): Likewise.
41118         * modules/ceill-tests (Files): Likewise.
41119         * modules/chown-tests (Files): Likewise.
41120         * modules/dprintf-posix-tests (Files): Likewise.
41121         * modules/dup2-tests (Files): Likewise.
41122         * modules/dup3-tests (Files): Likewise.
41123         * modules/duplocale-tests (Files): Likewise.
41124         * modules/fchdir-tests (Files): Likewise.
41125         * modules/fcntl-tests (Files): Likewise.
41126         * modules/fdopendir-tests (Files): Likewise.
41127         * modules/fflush-tests (Files): Likewise.
41128         * modules/flock-tests (Files): Likewise.
41129         * modules/floorf-tests (Files): Likewise.
41130         * modules/floorl-tests (Files): Likewise.
41131         * modules/fnmatch-tests (Files): Likewise.
41132         * modules/fopen-tests (Files): Likewise.
41133         * modules/fprintf-posix-tests (Files): Likewise.
41134         * modules/freopen-tests (Files): Likewise.
41135         * modules/frexp-nolibm-tests (Files): Likewise.
41136         * modules/frexp-tests (Files): Likewise.
41137         * modules/frexpl-nolibm-tests (Files): Likewise.
41138         * modules/frexpl-tests (Files): Likewise.
41139         * modules/fseek-tests (Files): Likewise.
41140         * modules/fseeko-tests (Files): Likewise.
41141         * modules/fsync-tests (Files): Likewise.
41142         * modules/ftell-tests (Files): Likewise.
41143         * modules/ftello-tests (Files): Likewise.
41144         * modules/futimens-tests (Files): Likewise.
41145         * modules/getaddrinfo-tests (Files): Likewise.
41146         * modules/getcwd-tests (Files): Likewise.
41147         * modules/getdelim-tests (Files): Likewise.
41148         * modules/getdtablesize-tests (Files): Likewise.
41149         * modules/getgroups-tests (Files): Likewise.
41150         * modules/gethostname-tests (Files): Likewise.
41151         * modules/getline-tests (Files): Likewise.
41152         * modules/getopt-posix-tests (Files): Likewise.
41153         * modules/gettimeofday-tests (Files): Likewise.
41154         * modules/glob-tests (Files): Likewise.
41155         * modules/iconv-tests (Files): Likewise.
41156         * modules/inet_ntop-tests (Files): Likewise.
41157         * modules/inet_pton-tests (Files): Likewise.
41158         * modules/isblank-tests (Files): Likewise.
41159         * modules/lchown-tests (Files): Likewise.
41160         * modules/ldexpl-tests (Files): Likewise.
41161         * modules/link-tests (Files): Likewise.
41162         * modules/linkat-tests (Files): Likewise.
41163         * modules/lseek-tests (Files): Likewise.
41164         * modules/lstat-tests (Files): Likewise.
41165         * modules/mbrtowc-tests (Files): Likewise.
41166         * modules/mbsinit-tests (Files): Likewise.
41167         * modules/mbsnrtowcs-tests (Files): Likewise.
41168         * modules/mbsrtowcs-tests (Files): Likewise.
41169         * modules/memchr-tests (Files): Likewise.
41170         * modules/memcmp-tests (Files): Likewise.
41171         * modules/memmem-tests (Files): Likewise.
41172         * modules/memrchr-tests (Files): Likewise.
41173         * modules/mkdir-tests (Files): Likewise.
41174         * modules/mkfifo-tests (Files): Likewise.
41175         * modules/mkfifoat-tests (Files): Likewise.
41176         * modules/mknod-tests (Files): Likewise.
41177         * modules/nanosleep-tests (Files): Likewise.
41178         * modules/nl_langinfo-tests (Files): Likewise.
41179         * modules/obstack-printf-tests (Files): Likewise.
41180         * modules/open-tests (Files): Likewise.
41181         * modules/openat-tests (Files): Likewise.
41182         * modules/perror-tests (Files): Likewise.
41183         * modules/pipe2-tests (Files): Likewise.
41184         * modules/poll-tests (Files): Likewise.
41185         * modules/popen-tests (Files): Likewise.
41186         * modules/posix_spawn-tests (Files): Likewise.
41187         * modules/posix_spawnp-tests (Files): Likewise.
41188         * modules/pread-tests (Files): Likewise.
41189         * modules/printf-posix-tests (Files): Likewise.
41190         * modules/pty-tests (Files): Likewise.
41191         * modules/random_r-tests (Files): Likewise.
41192         * modules/rawmemchr-tests (Files): Likewise.
41193         * modules/readlink-tests (Files): Likewise.
41194         * modules/remove-tests (Files): Likewise.
41195         * modules/rename-tests (Files): Likewise.
41196         * modules/renameat-tests (Files): Likewise.
41197         * modules/rmdir-tests (Files): Likewise.
41198         * modules/round-tests (Files): Likewise.
41199         * modules/roundf-tests (Files): Likewise.
41200         * modules/roundl-tests (Files): Likewise.
41201         * modules/select-tests (Files): Likewise.
41202         * modules/setenv-tests (Files): Likewise.
41203         * modules/sigaction-tests (Files): Likewise.
41204         * modules/sleep-tests (Files): Likewise.
41205         * modules/snprintf-posix-tests (Files): Likewise.
41206         * modules/snprintf-tests (Files): Likewise.
41207         * modules/sprintf-posix-tests (Files): Likewise.
41208         * modules/stat-tests (Files): Likewise.
41209         * modules/strcasestr-tests (Files): Likewise.
41210         * modules/strchrnul-tests (Files): Likewise.
41211         * modules/strerror-tests (Files): Likewise.
41212         * modules/strsignal-tests (Files): Likewise.
41213         * modules/strstr-tests (Files): Likewise.
41214         * modules/strtod-tests (Files): Likewise.
41215         * modules/strverscmp-tests (Files): Likewise.
41216         * modules/symlink-tests (Files): Likewise.
41217         * modules/symlinkat-tests (Files): Likewise.
41218         * modules/times-tests (Files): Likewise.
41219         * modules/trunc-tests (Files): Likewise.
41220         * modules/truncf-tests (Files): Likewise.
41221         * modules/truncl-tests (Files): Likewise.
41222         * modules/tsearch-tests (Files): Likewise.
41223         * modules/uname-tests (Files): Likewise.
41224         * modules/unlink-tests (Files): Likewise.
41225         * modules/unsetenv-tests (Files): Likewise.
41226         * modules/usleep-tests (Files): Likewise.
41227         * modules/utimensat-tests (Files): Likewise.
41228         * modules/vasprintf-tests (Files): Likewise.
41229         * modules/vdprintf-posix-tests (Files): Likewise.
41230         * modules/vfprintf-posix-tests (Files): Likewise.
41231         * modules/vprintf-posix-tests (Files): Likewise.
41232         * modules/vsnprintf-posix-tests (Files): Likewise.
41233         * modules/vsnprintf-tests (Files): Likewise.
41234         * modules/vsprintf-posix-tests (Files): Likewise.
41235         * modules/wcrtomb-tests (Files): Likewise.
41236         * modules/wcsnrtombs-tests (Files): Likewise.
41237         * modules/wcsrtombs-tests (Files): Likewise.
41238         * modules/wcwidth-tests (Files): Likewise.
41239         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
41240         * tests/test-isinf.c (isinf): Likewise.
41241         * tests/test-isnan.c (isnan): Likewise.
41242         * tests/test-signbit.c (signbit): Likewise.
41243         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
41244         declaration, either as macro or with correct signature.
41245         (select): Ensure function under test is declared with correct
41246         signature in correct header.
41247         * tests/test-atexit.c (atexit): Likewise.
41248         * tests/test-btowc.c (btowc): Likewise.
41249         * tests/test-canonicalize-lgpl.c (realpath)
41250         (canonicalize_file_name): Likewise.
41251         * tests/test-ceilf1.c (ceilf): Likewise.
41252         * tests/test-ceill.c (ceill): Likewise.
41253         * tests/test-chown.c (chown): Likewise.
41254         * tests/test-dprintf-posix.c (dprintf): Likewise.
41255         * tests/test-dup2.c (dup2): Likewise.
41256         * tests/test-dup3.c (dup3): Likewise.
41257         * tests/test-duplocale.c (duplocale): Likewise.
41258         * tests/test-fchdir.c (fchdir): Likewise.
41259         * tests/test-fchownat.c (fchownat): Likewise.
41260         * tests/test-fcntl.c (fcntl): Likewise.
41261         * tests/test-fdopendir.c (fdopendir): Likewise.
41262         * tests/test-fflush.c (fflush): Likewise.
41263         * tests/test-flock.c (flock): Likewise.
41264         * tests/test-floorf1.c (floorf): Likewise.
41265         * tests/test-floorl.c (floorl): Likewise.
41266         * tests/test-fnmatch.c (fnmatch): Likewise.
41267         * tests/test-fopen.c (fopen): Likewise.
41268         * tests/test-fprintf-posix.c (fprintf): Likewise.
41269         * tests/test-freopen.c (freopen): Likewise.
41270         * tests/test-frexp.c (frexp): Likewise.
41271         * tests/test-frexpl.c (frexpl): Likewise.
41272         * tests/test-fseek.c (fseek): Likewise.
41273         * tests/test-fseeko.c (fseeko): Likewise.
41274         * tests/test-fstatat.c (fstatat): Likewise.
41275         * tests/test-fsync.c (fsync): Likewise.
41276         * tests/test-ftell.c (ftell): Likewise.
41277         * tests/test-ftello.c (ftello): Likewise.
41278         * tests/test-futimens.c (futimens): Likewise.
41279         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
41280         (gai_strerror): Likewise.
41281         * tests/test-getcwd.c (getcwd): Likewise.
41282         * tests/test-getdelim.c (getdelim): Likewise.
41283         * tests/test-getdtablesize.c (getdtablesize): Likewise.
41284         * tests/test-getgroups.c (getgroups): Likewise.
41285         * tests/test-gethostname.c (gethostname): Likewise.
41286         * tests/test-getline.c (getline): Likewise.
41287         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
41288         Likewise.
41289         * tests/test-gettimeofday.c (gettimeofday): Likewise.
41290         * tests/test-glob.c (glob, globfree): Likewise.
41291         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
41292         * tests/test-inet_ntop.c (inet_ntop): Likewise.
41293         * tests/test-inet_pton.c (inet_pton): Likewise.
41294         * tests/test-isblank.c (isblank): Likewise.
41295         * tests/test-lchown.c (lchown): Likewise.
41296         * tests/test-ldexpl.c (ldexpl): Likewise.
41297         * tests/test-link.c (link): Likewise.
41298         * tests/test-linkat.c (linkat): Likewise.
41299         * tests/test-lseek.c (lseek): Likewise.
41300         * tests/test-lstat.c (lstat): Likewise.
41301         * tests/test-mbrtowc.c (mbrtowc): Likewise.
41302         * tests/test-mbsinit.c (mbsinit): Likewise.
41303         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
41304         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
41305         * tests/test-memchr.c (memchr): Likewise.
41306         * tests/test-memcmp.c (memcmp): Likewise.
41307         * tests/test-memmem.c (memmem): Likewise.
41308         * tests/test-memrchr.c (memrchr): Likewise.
41309         * tests/test-mkdir.c (mkdir): Likewise.
41310         * tests/test-mkdirat.c (mkdirat): Likewise.
41311         * tests/test-mkfifo.c (mkfifo): Likewise.
41312         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
41313         * tests/test-mknod.c (mknod): Likewise.
41314         * tests/test-nanosleep.c (nanosleep): Likewise.
41315         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
41316         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
41317         Likewise.
41318         * tests/test-open.c (open): Likewise.
41319         * tests/test-openat.c (openat): Likewise.
41320         * tests/test-perror.c (perror): Likewise.
41321         * tests/test-pipe2.c (pipe2): Likewise.
41322         * tests/test-poll.c (poll): Likewise.
41323         * tests/test-popen.c (popen, pclose): Likewise.
41324         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
41325         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
41326         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
41327         (posix_spawn_file_actions_destroy)
41328         (posix_spawn_file_actions_addclose)
41329         (posix_spawn_file_actions_addopen)
41330         (posix_spawn_file_actions_adddup2): Likewise.
41331         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
41332         * tests/test-pread.c (pread): Likewise.
41333         * tests/test-printf-posix.c (printf): Likewise.
41334         * tests/test-pty.c (openpty, forkpty): Likewise.
41335         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
41336         (random_r): Likewise.
41337         * tests/test-rawmemchr.c (rawmemchr): Likewise.
41338         * tests/test-readlink.c (readlink): Likewise.
41339         * tests/test-remove.c (remove): Likewise.
41340         * tests/test-rename.c (rename): Likewise.
41341         * tests/test-renameat.c (renameat): Likewise.
41342         * tests/test-rmdir.c (rmdir): Likewise.
41343         * tests/test-round1.c (round): Likewise.
41344         * tests/test-roundf1.c (roundf): Likewise.
41345         * tests/test-roundl.c (roundl): Likewise.
41346         * tests/test-setenv.c (setenv): Likewise.
41347         * tests/test-sigaction.c (sigaction): Likewise.
41348         * tests/test-sleep.c (sleep): Likewise.
41349         * tests/test-snprintf.c (snprintf): Likewise.
41350         * tests/test-sprintf-posix.c (sprintf): Likewise.
41351         * tests/test-stat.c (stat): Likewise.
41352         * tests/test-stpncpy.c (stpncpy): Likewise.
41353         * tests/test-strcasestr.c (strcasestr): Likewise.
41354         * tests/test-strchrnul.c (strchrnul): Likewise.
41355         * tests/test-strerror.c (strerror): Likewise.
41356         * tests/test-strsignal.c (strsignal): Likewise.
41357         * tests/test-strstr.c (strstr): Likewise.
41358         * tests/test-strtod.c (strtod): Likewise.
41359         * tests/test-strverscmp.c (strverscmp): Likewise.
41360         * tests/test-symlink.c (symlink): Likewise.
41361         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
41362         * tests/test-times.c (times): Likewise.
41363         * tests/test-trunc1.c (trunc): Likewise.
41364         * tests/test-truncf1.c (truncf): Likewise.
41365         * tests/test-truncl.c (truncl): Likewise.
41366         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
41367         Likewise.
41368         * tests/test-uname.c (uname): Likewise.
41369         * tests/test-unlink.c (unlink): Likewise.
41370         * tests/test-unlinkat.c (unlinkat): Likewise.
41371         * tests/test-unsetenv.c (unsetenv): Likewise.
41372         * tests/test-usleep.c (usleep): Likewise.
41373         * tests/test-utimensat.c (utimensat): Likewise.
41374         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
41375         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
41376         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
41377         * tests/test-vprintf-posix.c (vprintf): Likewise.
41378         * tests/test-vsnprintf.c (vsnprintf): Likewise.
41379         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
41380         * tests/test-wcrtomb.c (wcrtomb): Likewise.
41381         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
41382         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
41383         * tests/test-wcwidth.c (wcwidth): Likewise.
41384
41385         build: pull in conditional headers during GNULIB_POSIXCHECK
41386         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
41387         definitions from any conditionally-included headers.
41388         * lib/stdlib.in.h (includes): Likewise.
41389         * lib/unistd.in.h (includes): Likewise.
41390
41391 2009-12-24  Bruno Haible  <bruno@clisp.org>
41392
41393         * tests/test-argv-iter.c: Include header file being tested immediately
41394         after config.h.
41395         * tests/test-base64.c: Likewise.
41396         * tests/test-flock.c: Likewise.
41397         * tests/test-fsync.c: Likewise.
41398         * tests/test-getdate.c: Likewise.
41399         * tests/test-getndelim2.c: Likewise.
41400         * tests/test-isfinite.c: Likewise.
41401         * tests/test-isinf.c: Likewise.
41402         * tests/test-strerror.c: Likewise.
41403         * tests/test-strsignal.c: Likewise.
41404
41405 2009-12-23  Eric Blake  <ebb9@byu.net>
41406
41407         unistd: work around cygwin bug
41408         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
41409         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
41410         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41411
41412 2009-12-23  Bruno Haible  <bruno@clisp.org>
41413
41414         localename: More tests.
41415         * tests/test-localename.c (SIZEOF): New macro.
41416         (categories): New variable.
41417         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
41418         test_locale_name_default): Add test w.r.t. thread locale.
41419         (test_locale_name_thread): New function.
41420         (main): Invoke it.
41421
41422         localename: Make aware of thread locale.
41423         * lib/localename.h (gl_locale_name_thread): New declaration.
41424         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
41425         behaviour with respect to thread locale.
41426         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
41427         <langinfo.h>, glthread/lock.h.
41428         (SIZE_BITS): New macro.
41429         (string_hash): New function.
41430         (struct hash_node): New type.
41431         (HASH_TABLE_SIZE): New macro.
41432         (struniq_hash_table, struniq_lock): New variables.
41433         (struniq): New function.
41434         (gl_locale_name_thread): New function.
41435         (gl_locale_name): Invoke it.
41436         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
41437         * modules/localename (Depends-on): Add lock.
41438         Reported by Mike Gran <spk121@yahoo.com>.
41439
41440 2009-12-23  Eric Blake  <ebb9@byu.net>
41441
41442         va-args: new module
41443         * modules/va-args: New file.
41444         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
41445         * MODULES.html.sh (Core language properties): Mention it.
41446
41447         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
41448         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
41449         named alias for __attribute__((__unused__)).
41450         * lib/chown.c: Update client.
41451         * lib/fchmodat.c: Likewise.
41452         * lib/fts.c: Likewise.
41453         * lib/getdate.y: Likewise.
41454         * lib/getgroups.c: Likewise.
41455         * lib/getopt.c: Likewise.
41456         * lib/getugroups.c: Likewise.
41457         * lib/mkdir.c: Likewise.
41458         * lib/mkfifo.c: Likewise.
41459         * lib/mkfifoat.c: Likewise.
41460         * lib/mknod.c: Likewise.
41461         * lib/mknodat.c: Likewise.
41462         * lib/readlink.c: Likewise.
41463         * lib/se-context.in.h: Likewise.
41464         * lib/se-selinux.in.h: Likewise.
41465         * lib/sockets.c: Likewise.
41466         * lib/symlink.c: Likewise.
41467         * lib/symlinkat.c: Likewise.
41468         * lib/unicodeio.c: Likewise.
41469         * lib/unistr.h: Likewise.
41470         * tests/test-areadlink.c: Likewise.
41471         * tests/test-areadlinkat.c: Likewise.
41472         * tests/test-filenamecat.c: Likewise.
41473         * tests/test-fseeko.c: Likewise.
41474         * tests/test-ftello.c: Likewise.
41475         * tests/test-getdate.c: Likewise.
41476         * tests/test-getgroups.c: Likewise.
41477         * tests/test-gethostname.c: Likewise.
41478         * tests/test-quotearg.c: Likewise.
41479         * tests/test-version-etc.c: Likewise.
41480         * tests/test-xalloc-die.c: Likewise.
41481         * tests/test-xfprintf-posix.c: Likewise.
41482         * tests/test-xprintf-posix.c: Likewise.
41483         * tests/test-xvasprintf.c: Likewise.
41484
41485         tests: avoid compiler warnings
41486         * tests/test-fcntl.c (main): Delete unused parameters.
41487         * tests/test-freopen-safer.c (main): Likewise.
41488         * tests/test-xalloc-die.c (main): Mark unused parameters.
41489         * tests/test-fseeko.c (main): Likewise.
41490         * tests/test-ftello.c (main): Likewise.
41491         * tests/test-nanosleep.c (main): Avoid declaration warning.
41492         * tests/test-sleep.c (main): Likewise.
41493         * tests/test-unsetenv.c (main): Silence warning about string
41494         literal.
41495         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41496
41497 2009-12-23  Bruno Haible  <bruno@clisp.org>
41498
41499         * tests/test-localename.c (test_locale_name): New function, extracted
41500         from main. Also test mixed situations.
41501         (test_locale_name_posix, test_locale_name_environ,
41502         test_locale_name_default): New functions.
41503         (main): Invoke them all.
41504         * modules/localename-tests (configure.ac): Test for newlocale.
41505
41506 2009-12-23  Bruno Haible  <bruno@clisp.org>
41507
41508         unistd: Ensure getcwd gets declared before being overridden.
41509         * lib/unistd.in.h: Conditionally include <io.h>.
41510
41511 2009-12-22  Bruno Haible  <bruno@clisp.org>
41512
41513         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41514         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41515         (gl_WCHAR_H): Invoke it.
41516         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41517         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41518         Reported by Karl Berry <karl@freefriends.org>.
41519
41520 2009-12-22  Eric Blake  <ebb9@byu.net>
41521
41522         math, unistd: avoid redundant includes
41523         * lib/math.in.h (isnan): No need to re-include <math.h>.
41524         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41525
41526         getsubopt: work around cygwin bug
41527         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41528         avoid conflicting with system getsubopt.
41529         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41530         bug.
41531
41532         getopt: synchronize from glibc
41533         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41534         parameter order.  Adjust all callers.
41535         (_getopt_internal_r, main): Adjust quoting in error messages.
41536         Drop considerations for outdated POSIX 1003.2 error message.
41537         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41538         callers.
41539         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41540
41541         test-getopt: test stderr behavior
41542         * modules/getopt-posix-tests (Depends-on): Add dup2.
41543         * tests/test-getopt.c (ASSERT): Avoid stderr.
41544         (main): Move stderr to a temporary file.
41545         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41546         Instead, add parameter to inform caller if output occurred.
41547         (test_getopt): Adjust all existing tests to expect silence, and
41548         add new tests of leading ":".
41549         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41550         glibc shortcomings with leading "-:" or "+:" in optstring.
41551         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41552         Likewise.
41553         * doc/posix-functions/getopt.texi (getopt): Likewise.
41554
41555         test-getopt: enhance test
41556         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41557         supports optind=0.
41558         * tests/test-getopt.c (OPTIND_MIN): Move...
41559         * tests/test-getopt.h (OPTIND_MIN): ...here.
41560         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41561         Require that optind=0 works, since modern BSD supports it in
41562         addition to optreset, and since coreutils expects it.
41563         (test_getopt_long_only): New test.
41564         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41565         glibc shortcomings with 'W;', and enforcement of optind=0.
41566         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41567         Likewise.
41568
41569 2009-12-21  Bruno Haible  <bruno@clisp.org>
41570
41571         localename: Improvements for MacOS X and Cygwin.
41572         * lib/localename.h (gl_locale_name_environ): New declaration.
41573         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41574         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41575         (gl_locale_name_posix): Invoke it.
41576         (gl_locale_name_default): Add comments. Use Windows native API also on
41577         Cygwin.
41578
41579 2009-12-21  Bruno Haible  <bruno@clisp.org>
41580
41581         Update list of Win32 locale ids.
41582         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41583         (LANG_SAMI): Renamed from LANG_SAAMI.
41584         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41585         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41586         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41587         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41588         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41589         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41590         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41591         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41592         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41593         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41594         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41595         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41596         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41597         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41598         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41599         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41600         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41601         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41602         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41603         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41604         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41605         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41606         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41607         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41608         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41609         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41610         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41611         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41612         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41613         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41614         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41615         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41616         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41617         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41618         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41619         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41620         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41621         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41622         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41623         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41624         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41625         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41626         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41627         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41628         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41629         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41630         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41631         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41632         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41633         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41634         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41635         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41636         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41637         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41638         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41639         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41640         Add more languages and countries for Sami, Sorbian. Add more countries
41641         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41642         for Pashto. Change country for Syriac, Tswana.
41643
41644 2009-12-21  Eric Blake  <ebb9@byu.net>
41645
41646         test-utimens: avoid spurious failure
41647         * tests/test-chown.h (nap): Factor...
41648         * tests/nap.h: ...into new file.
41649         * tests/test-lchown.h (nap): Avoid duplication.
41650         * tests/test-utimens-common.h (nap): Use shared implementation,
41651         necessary on file systems with 1-second resolution.
41652         * modules/chown-tests (Files): Include new file.
41653         * modules/fdutimensat-tests (Files): Likewise.
41654         * modules/futimens-tests (Files): Likewise.
41655         * modules/lchown-tests (Files): Likewise.
41656         * modules/openat-tests (Files): Likewise.
41657         * modules/utimens-tests (Files): Likewise.
41658         * modules/utimensat-tests (Files): Likewise.
41659
41660 2009-12-19  Eric Blake  <ebb9@byu.net>
41661
41662         futimens, utimensat: work around Linux bug
41663         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41664         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41665         * lib/utimensat.c (rpl_utimensat): Work around it.
41666         * lib/futimens.c (rpl_futimens): Adjust comment.
41667
41668         utimens: work around Linux ctime bug
41669         * lib/utimens.c (detect_ctime_bug): New helper function.
41670         (update_timespec): Differentiate between workaround needed for
41671         this bug vs. what is needed for systems that lack utimensat.
41672         (fdutimens, lutimens): Work around bug.
41673
41674         utimens: check for ctime update
41675         * tests/test-utimens-common.h (check_ctime): Define.
41676         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41677         * tests/test-futimens.h (test_futimens): Likewise.
41678         * tests/test-lutimens.h (test_lutimens): Likewise.
41679         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41680         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41681
41682 2009-12-19  Bruno Haible  <bruno@clisp.org>
41683
41684         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41685         * tests/test-dprintf-posix2.sh: New file.
41686         * tests/test-dprintf-posix2.c: New file.
41687         * modules/dprintf-posix-tests (Files): Add them.
41688         (configure.ac): Check for getrlimit and setrlimit.
41689         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41690
41691 2009-12-19  Bruno Haible  <bruno@clisp.org>
41692
41693         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41694         * tests/test-fprintf-posix3.sh: New file.
41695         * tests/test-fprintf-posix3.c: New file.
41696         * modules/fprintf-posix-tests (Files): Add them.
41697         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41698
41699 2009-12-19  Eric Blake  <ebb9@byu.net>
41700
41701         dirfd: fix prototype
41702         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41703         * lib/dirfd.c (dirfd): Likewise.
41704
41705         canonicalize: reduce memory usage
41706         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41707         allocation to size.
41708         Reported by Solar Designer <solar@openwall.com>.
41709
41710 2009-12-19  Bruno Haible  <bruno@clisp.org>
41711
41712         New module attribute 'Applicability'.
41713         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41714         * gnulib-tool: New option --extract-applicability.
41715         (func_usage): Document it.
41716         (sed_extract_prog): Recognize it.
41717         (func_get_applicability): New function.
41718         (func_import): Generalize handling of 'link-warning' module.
41719         * modules/link-warning (Applicability): New section.
41720         * modules/arg-nonnull (Applicability): New section.
41721         Repoted by Simon Josefsson <simon@josefsson.org>.
41722
41723 2009-12-19  Bruno Haible  <bruno@clisp.org>
41724
41725         fflush: tweak
41726         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41727         * lib/fseeko.c (rpl_fseeko): Likewise.
41728
41729 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41730
41731         * lib/gl_list.h: Fix typo in comment.
41732
41733 2009-12-16  Eric Blake  <ebb9@byu.net>
41734
41735         fcntl: use to simplify other modules
41736         * modules/cloexec (Depends-on): Add fcntl.
41737         * modules/fchdir (Depends-on): Likewise.
41738         * modules/fd-safer-flag (Depends-on): Likewise.
41739         * modules/unistd-safer (Depends-on): Likewise.
41740         * modules/dup3 (configure.ac): Set module indicator.
41741         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41742         missing.
41743         * lib/fchdir.c (_gl_register_dup): Fix comment.
41744         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41745         * lib/dup-safer.c (dup_safer): Likewise.
41746         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41747         * lib/dup3.c (dup3): Likewise.
41748         * tests/test-fchdir.c (main): Enhance test.
41749         Fixes a dup_cloexec bug reported by Ondřej Vašík.
41750
41751         fcntl: port portions of fcntl to mingw
41752         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41753         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41754         replacement for mingw.
41755         * modules/fcntl (Description): Update.
41756         (Depends-on): Add dup2.
41757         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41758         * modules/fcntl-h (Makefile.am): Substitute it.
41759         * lib/fcntl.in.h (fcntl): Update declaration.
41760         (F_DUPFD, F_GETFD): New macros, when needed.
41761         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41762         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41763         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41764         we now guarantee.
41765
41766         fcntl: work around cygwin bug in F_DUPFD
41767         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41768         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41769         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41770         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41771         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41772
41773         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41774         * modules/fcntl (Files): List new files.
41775         (configure.ac): Run a test.
41776         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41777         * lib/fcntl.c (rpl_fcntl): Likewise.
41778         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41779         (gl_FCNTL_H): Always replace fcntl.h.
41780         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41781         * lib/fcntl.in.h (fcntl): Declare replacement.
41782         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41783         needed, plus a witness.
41784         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41785         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41786         * tests/test-fcntl.c: New file.
41787         * modules/fcntl-tests: Likewise.
41788
41789         binary-io: avoid potential compilation warning
41790         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41791         directives.
41792
41793         fflush: avoid compilation error on NetBSD
41794         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41795         between off_t and fpos_t, since the latter is sometimes a struct.
41796         * lib/fseeko.c (rpl_fseeko): Likewise.
41797         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41798
41799 2009-12-15  Eric Blake  <ebb9@byu.net>
41800
41801         fcntl-h, stdio, sys_ioctl: fix declarations
41802         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41803         function must not take arguments.
41804         * lib/sys_ioctl.in.h (ioctl): Likewise.
41805         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41806         (open): Add a link warning.
41807
41808 2009-12-15  Jim Meyering  <meyering@redhat.com>
41809
41810         areadlink, areadlink-with-size: relax license to LGPLv2+
41811         * modules/areadlink (License): Relax to LGPLv2+.
41812         * modules/areadlink-with-size (License): Likewise.
41813
41814 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41815             Bruno Haible  <bruno@clisp.org>
41816
41817         *printf: Fix memory leak.
41818         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41819         * lib/vfprintf.c (vfprintf): Likewise.
41820         * lib/dprintf.c (dprintf): Likewise.
41821         * lib/vdprintf.c (vdprintf): Likewise.
41822
41823 2009-12-14  Eric Blake  <ebb9@byu.net>
41824
41825         accept4: adjust module dependencies
41826         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41827
41828         utimens: one more try at avoiding compiler warning
41829         * lib/utimens.c (lutimens): Lower scope of result.
41830
41831 2009-12-13  Bruno Haible  <bruno@clisp.org>
41832
41833         Move the malloc checking from module 'list' to new module 'xlist'.
41834         * modules/xlist: New file.
41835         * lib/gl_xlist.h: New file.
41836         * lib/gl_xlist.c: New file.
41837         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41838         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41839         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41840         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41841         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41842         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41843         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41844         gl_sortedlist_nx_add): New declarations.
41845         (struct gl_list_implementation): Rename and change methods accordingly.
41846         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41847         (gl_list_nx_create): Renamed from gl_list_create.
41848         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41849         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41850         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41851         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41852         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41853         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41854         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41855         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41856         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41857         gl_list_create_empty.
41858         (gl_list_nx_create): Renamed from gl_list_create.
41859         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41860         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41861         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41862         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41863         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41864         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41865         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41866         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41867         * lib/gl_array_list.c: Don't include xalloc.h.
41868         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41869         NULL upon out-of-memory.
41870         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41871         out-of-memory.
41872         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41873         Change return type to 'int'.
41874         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41875         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41876         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41877         upon out-of-memory.
41878         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41879         upon out-of-memory.
41880         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41881         upon out-of-memory.
41882         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41883         upon out-of-memory.
41884         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41885         out-of-memory.
41886         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41887         Update.
41888         (gl_array_list_implementation): Update.
41889         * lib/gl_carray_list.c: Don't include xalloc.h.
41890         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41891         Return NULL upon out-of-memory.
41892         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41893         out-of-memory.
41894         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41895         Change return type to 'int'.
41896         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41897         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41898         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41899         upon out-of-memory.
41900         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41901         upon out-of-memory.
41902         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41903         out-of-memory.
41904         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41905         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41906         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41907         Update.
41908         (gl_carray_list_implementation): Update.
41909         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41910         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41911         gl_linked_create_empty. Return NULL upon out-of-memory.
41912         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41913         out-of-memory.
41914         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41915         Change return type to 'int'. Return -1 upon out-of-memory.
41916         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41917         out-of-memory.
41918         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41919         upon out-of-memory.
41920         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41921         upon out-of-memory.
41922         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41923         NULL upon out-of-memory.
41924         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41925         upon out-of-memory.
41926         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41927         out-of-memory.
41928         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41929         Update.
41930         * lib/gl_linked_list.c: Don't include xalloc.h.
41931         (gl_linked_list_implementation): Update.
41932         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41933         (add_to_bucket): Change return type to 'int'.
41934         (gl_linkedhash_list_implementation): Update.
41935         * lib/gl_anytree_list1.h (free_subtree): New function.
41936         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41937         gl_tree_create_empty. Return NULL upon out-of-memory.
41938         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41939         Change return type to 'int'. Return -1 upon out-of-memory.
41940         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41941         out-of-memory.
41942         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41943         (gl_tree_remove_node): New function, moved here from
41944         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41945         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41946         Update.
41947         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41948         malloc, not xmalloc. Return NULL upon out-of-memory.
41949         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41950         out-of-memory.
41951         (gl_tree_remove_node_from_tree): New function, extracted from
41952         gl_tree_remove_node.
41953         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41954         upon out-of-memory.
41955         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41956         out-of-memory.
41957         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41958         upon out-of-memory.
41959         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41960         upon out-of-memory.
41961         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41962         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41963         not xmalloc. Return NULL upon out-of-memory.
41964         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41965         out-of-memory.
41966         (gl_tree_remove_node_from_tree): New function, extracted from
41967         gl_tree_remove_node.
41968         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41969         upon out-of-memory.
41970         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41971         out-of-memory.
41972         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41973         upon out-of-memory.
41974         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41975         upon out-of-memory.
41976         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41977         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41978         gl_anytree_list1.h before gl_anyavltree_list2.h.
41979         (gl_avltree_list_implementation): Update.
41980         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41981         gl_anytree_list1.h before gl_anyavltree_list2.h.
41982         (gl_rbtree_list_implementation): Update.
41983         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41984         Change return type to 'int'. Return -1 upon out-of-memory. Use
41985         __builtin_expect.
41986         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41987         (gl_avltreehash_list_implementation): Update.
41988         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41989         (gl_rbtreehash_list_implementation): Update.
41990         * modules/array-list (Depends-on): Remove xalloc.
41991         * modules/carray-list (Depends-on): Likewise.
41992         * modules/linked-list (Depends-on): Likewise.
41993         * modules/linkedhash-list (Depends-on): Likewise.
41994         * modules/avltree-list (Depends-on): Likewise.
41995         * modules/rbtree-list (Depends-on): Likewise.
41996         * modules/avltreehash-list (Depends-on): Likewise.
41997         * modules/rbtreehash-list (Depends-on): Likewise.
41998
41999         * modules/xsublist: New file.
42000         * lib/gl_xsublist.h: New file.
42001         * lib/gl_xsublist.c: New file.
42002         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
42003         (gl_sublist_nx_create): New declaration.
42004         * lib/gl_sublist.c: Don't include xalloc.h.
42005         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
42006         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
42007         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
42008         Change return type to 'int'. Return -1 upon out-of-memory.
42009         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
42010         upon out-of-memory.
42011         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
42012         NULL upon out-of-memory.
42013         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
42014         upon out-of-memory.
42015         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
42016         NULL upon out-of-memory.
42017         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
42018         NULL upon out-of-memory.
42019         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
42020         upon out-of-memory.
42021         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
42022         (gl_sublist_list_implementation): Update.
42023         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
42024         upon out-of-memory.
42025         * modules/sublist (Depends-on): Remove xalloc.
42026
42027         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
42028         * tests/test-carray_list.c: Likewise.
42029         * tests/test-linked_list.c: Likewise.
42030         * tests/test-linkedhash_list.c: Likewise.
42031         * tests/test-avltree_list.c: Likewise.
42032         * tests/test-rbtree_list.c: Likewise.
42033         * tests/test-avltreehash_list.c: Likewise.
42034         * tests/test-rbtreehash_list.c: Likewise.
42035         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
42036         * modules/carray-list-tests (Makefile.am): Likewise.
42037         * modules/linked-list-tests (Makefile.am): Likewise.
42038         * modules/linkedhash-list-tests (Makefile.am): Likewise.
42039         * modules/avltree-list-tests (Makefile.am): Likewise.
42040         * modules/rbtree-list-tests (Makefile.am): Likewise.
42041         * modules/avltreehash-list-tests (Makefile.am): Likewise.
42042         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
42043
42044         * NEWS: Mention the changes.
42045
42046         * lib/clean-temp.c: Include gl_xlist.h.
42047         * modules/clean-temp (Depends-on): Add xlist.
42048
42049         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
42050         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
42051
42052         * tests/test-array_oset.c: Include gl_xlist.h.
42053         * modules/array-oset-tests (Depends-on): Add xlist.
42054
42055         Reported by José E. Marchesi <jemarch@gnu.org>.
42056
42057 2009-12-13  Bruno Haible  <bruno@clisp.org>
42058
42059         Move the malloc checking from module 'oset' to new module 'xoset'.
42060         * modules/xoset: New file.
42061         * lib/gl_xoset.h: New file.
42062         * lib/gl_xoset.c: New file.
42063         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
42064         declarations.
42065         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
42066         (struct gl_oset_implementation): Rename and change methods accordingly.
42067         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
42068         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
42069         'int'. Mark as __warn_unused_result__.
42070         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
42071         gl_oset_create_empty.
42072         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
42073         'int'.
42074         * lib/gl_array_oset.c: Don't include xalloc.h.
42075         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
42076         malloc, not xmalloc.
42077         (grow): Change return type to 'int'. Don't call xalloc_die.
42078         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
42079         to 'int'.
42080         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
42081         'int'.
42082         (gl_array_oset_implementation): Update.
42083         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
42084         gl_tree_create_empty.
42085         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
42086         'int'.
42087         * lib/gl_avltree_oset.c: Don't include xalloc.h.
42088         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
42089         xmalloc.
42090         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
42091         not xmalloc.
42092         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
42093         xmalloc.
42094         (gl_avltree_oset_implementation): Update.
42095         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
42096         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
42097         xmalloc.
42098         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
42099         not xmalloc.
42100         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
42101         xmalloc.
42102         (gl_rbtree_oset_implementation): Update.
42103         * modules/array-oset (Depends-on): Remove xalloc.
42104         * modules/avltree-oset (Depends-on): Likewise.
42105         * modules/rbtree-oset (Depends-on): Likewise.
42106         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
42107         * tests/test-avltree_oset.c: Likewise.
42108         * tests/test-rbtree_oset.c: Likewise.
42109         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42110         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
42111         * modules/rbtree-oset-tests (Makefile.am): Likewise.
42112         * NEWS: Mention the change.
42113
42114 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
42115
42116         maint.mk: allow a project to override release-prep commands
42117         * top/maint.mk (alpha, beta, stable): Move release-preparatory
42118         commands into a new rule.
42119         (release-prep): New rule.
42120         (release-prep-hook): New overridable variable.
42121
42122 2009-12-13  Bruno Haible  <bruno@clisp.org>
42123
42124         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
42125
42126 2009-12-13  Jim Meyering  <meyering@redhat.com>
42127
42128         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
42129         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
42130
42131 2009-12-12  Bruno Haible  <bruno@clisp.org>
42132
42133         duplocale: Tweak.
42134         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
42135
42136 2009-12-12  Karl Berry  <karl@gnu.org>
42137
42138         * config/srclist.txt (strtoll.c): tab changes, no more sync.
42139
42140 2009-12-12  Bruno Haible  <bruno@clisp.org>
42141
42142         * m4/po.m4: Undo incorrect untabification.
42143
42144 2009-12-12  Bruno Haible  <bruno@clisp.org>
42145
42146         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
42147         * modules/c-strtod (Depends-on): Add locale.
42148         * modules/c-strtold (Depends-on): Likewise.
42149
42150 2009-12-12  Bruno Haible  <bruno@clisp.org>
42151
42152         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
42153
42154 2009-12-11  Eric Blake  <ebb9@byu.net>
42155
42156         setenv: relax requirement in light of POSIX ruling
42157         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
42158         not NULL.
42159         * tests/test-setenv.c (main): Relax test.
42160         * tests/test-unsetenv.c (main): Likewise.
42161         * doc/posix-functions/setenv.texi (setenv): Document this.
42162         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42163
42164 2009-12-11  Bruno Haible  <bruno@clisp.org>
42165
42166         New module 'fd-safer-flag'.
42167         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
42168         * lib/dup-safer.c (dup_safer_flag): Remove function.
42169         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
42170         * lib/fd-safer.c (fd_safer_flag): Remove function.
42171         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
42172         * modules/cloexec (configure.ac): Drop indicator macro.
42173         * modules/fd-safer-flag: New file.
42174         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
42175         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
42176         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
42177
42178 2009-12-11  Bruno Haible  <bruno@clisp.org>
42179
42180         Tests for module 'nl_langinfo'.
42181         * modules/nl_langinfo-tests: New file.
42182         * tests/test-nl_langinfo.sh: New file.
42183         * tests/test-nl_langinfo.c: New file.
42184
42185         New module 'nl_langinfo'.
42186         * lib/nl_langinfo.c: New file.
42187         * m4/nl_langinfo.m4: New file.
42188         * modules/nl_langinfo: New file.
42189         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
42190
42191 2009-12-11  Bruno Haible  <bruno@clisp.org>
42192
42193         Tests for module 'langinfo'.
42194         * modules/langinfo-tests: New file.
42195         * tests/test-langinfo.c: New file.
42196
42197         New module 'langinfo'.
42198         * lib/langinfo.in.h: New file.
42199         * m4/langinfo_h.m4: New file.
42200         * modules/langinfo: New file.
42201         * doc/posix-headers/langinfo.texi: Mention the new module.
42202
42203 2009-12-11  Bruno Haible  <bruno@clisp.org>
42204
42205         * lib/config.charset: Untabify.
42206
42207 2009-12-11  Bruno Haible  <bruno@clisp.org>
42208
42209         * modules/unistd-safer (configure.ac): Drop indicator macro.
42210
42211 2009-12-11  Bruno Haible  <bruno@clisp.org>
42212
42213         Move pipe2-safer code to its own file.
42214         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
42215         * lib/pipe-safer.c (pipe2_safer): Remove function.
42216         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
42217         (Makefile.am): Add it to lib_SOURCES.
42218
42219 2009-12-10  Bruno Haible  <bruno@clisp.org>
42220
42221         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
42222
42223 2009-12-10  Bruno Haible  <bruno@clisp.org>
42224
42225         Declare which arguments expect non-NULL values, for GCC and clang.
42226         * build-aux/arg-nonnull.h: New file.
42227         * modules/arg-nonnull: New file.
42228         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
42229         (inet_ntop, inet_pton): Use it.
42230         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
42231         (closedir, dirfd, opendir, scandir, alphasort): Use it.
42232         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
42233         (open, openat): Use it.
42234         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
42235         (fnmatch): Use it.
42236         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
42237         (getopt, getopt_long, getopt_long_only): Use it.
42238         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
42239         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
42240         Use it.
42241         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
42242         (iconv_open): Use it.
42243         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
42244         (strtoimax, strtoumax): Use it.
42245         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
42246         (duplocale): Use it.
42247         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
42248         (frexp, frexpl): Use it.
42249         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
42250         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
42251         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
42252         (tsearch, tfind, tdelete, twalk): Use it.
42253         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
42254         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
42255         sigpending): Use it.
42256         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
42257         (posix_spawn, posix_spawnp, posix_spawnattr_init,
42258         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
42259         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
42260         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
42261         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
42262         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
42263         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
42264         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
42265         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
42266         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
42267         Use it.
42268         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
42269         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
42270         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
42271         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
42272         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
42273         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
42274         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
42275         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
42276         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
42277         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
42278         strtoull, unsetenv): Use it.
42279         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
42280         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
42281         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
42282         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
42283         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
42284         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
42285         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
42286         (strcasecmp, strncasecmp): Use it.
42287         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
42288         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
42289         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
42290         rpl_setsockopt): Use it.
42291         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
42292         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
42293         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
42294         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
42295         (gettimeofday): Use it.
42296         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
42297         (times): Use it.
42298         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
42299         (uname): Use it.
42300         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
42301         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
42302         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
42303         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
42304         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
42305         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
42306         unlinkat, write): Use it.
42307         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
42308         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
42309         * lib/argv-iter.h: Include arg-nonnull.h.
42310         (_ATTRIBUTE_NONNULL_): Remove macro.
42311         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
42312         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
42313         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
42314         optimization.
42315         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
42316         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
42317         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
42318         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
42319         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
42320         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
42321         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
42322         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
42323         * modules/arpa_inet (Depends-on): Add arg-nonnull.
42324         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
42325         * modules/dirent (Depends-on): Add arg-nonnull.
42326         (Makefile.am): Insert arg-nonnull.h into dirent.h.
42327         * modules/fcntl-h (Depends-on): Add arg-nonnull.
42328         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
42329         * modules/fnmatch (Depends-on): Add arg-nonnull.
42330         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
42331         * modules/getopt-posix (Depends-on): Add arg-nonnull.
42332         (Makefile.am): Insert arg-nonnull.h into getopt.h.
42333         * modules/glob (Depends-on): Add arg-nonnull.
42334         (Makefile.am): Insert arg-nonnull.h into glob.h.
42335         * modules/iconv_open (Depends-on): Add arg-nonnull.
42336         (Makefile.am): Insert arg-nonnull.h into iconv.h.
42337         * modules/inttypes (Depends-on): Add arg-nonnull.
42338         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
42339         * modules/locale (Depends-on): Add arg-nonnull.
42340         (Makefile.am): Insert arg-nonnull.h into locale.h.
42341         * modules/math (Depends-on): Add arg-nonnull.
42342         (Makefile.am): Insert arg-nonnull.h into math.h.
42343         * modules/netdb (Depends-on): Add arg-nonnull.
42344         (Makefile.am): Insert arg-nonnull.h into netdb.h.
42345         * modules/search (Depends-on): Add arg-nonnull.
42346         (Makefile.am): Insert arg-nonnull.h into search.h.
42347         * modules/signal (Depends-on): Add arg-nonnull.
42348         (Makefile.am): Insert arg-nonnull.h into signal.h.
42349         * modules/spawn (Depends-on): Add arg-nonnull.
42350         (Makefile.am): Insert arg-nonnull.h into spawn.h.
42351         * modules/stdio (Depends-on): Add arg-nonnull.
42352         (Makefile.am): Insert arg-nonnull.h into stdio.h.
42353         * modules/stdlib (Depends-on): Add arg-nonnull.
42354         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
42355         * modules/string (Depends-on): Add arg-nonnull.
42356         (Makefile.am): Insert arg-nonnull.h into string.h.
42357         * modules/strings (Depends-on): Add arg-nonnull.
42358         (Makefile.am): Insert arg-nonnull.h into strings.h.
42359         * modules/sys_socket (Depends-on): Add arg-nonnull.
42360         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
42361         * modules/sys_stat (Depends-on): Add arg-nonnull.
42362         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
42363         * modules/sys_time (Depends-on): Add arg-nonnull.
42364         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
42365         * modules/sys_times (Depends-on): Add arg-nonnull.
42366         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
42367         * modules/sys_utsname (Depends-on): Add arg-nonnull.
42368         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
42369         * modules/time (Depends-on): Add arg-nonnull.
42370         (Makefile.am): Insert arg-nonnull.h into time.h.
42371         * modules/unistd (Depends-on): Add arg-nonnull.
42372         (Makefile.am): Insert arg-nonnull.h into unistd.h.
42373         * modules/wchar (Depends-on): Add arg-nonnull.
42374         (Makefile.am): Insert arg-nonnull.h into wchar.h.
42375         * modules/argv-iter (Depends-on): Add arg-nonnull.
42376         * tests/test-canonicalize.c (null_ptr): New function.
42377         (main): Use it.
42378         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
42379         (main): Use it.
42380         * tests/test-memmem.c (null_ptr): New function.
42381         (main): Use it.
42382         Reported by Jim Meyering.
42383
42384 2009-12-10  Bruno Haible  <bruno@clisp.org>
42385
42386         Use spaces for indentation, not tabs.
42387         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
42388         * m4/*.m4: Untabify.
42389         * build-aux/*.h: Untabify.
42390         * tests/**/*.[hc]: Untabify.
42391         * README: New section "Indent with spaces, not TABs", based on
42392         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
42393         * NEWS: Mention the change.
42394
42395 2009-12-10  Bruno Haible  <bruno@clisp.org>
42396
42397         pty test: Fix link error.
42398         * modules/pty-tests (Makefile.am): Add the default LDADD value to
42399         test_pty_LDADD.
42400
42401 2009-12-07  Simon Josefsson  <simon@josefsson.org>
42402
42403         * modules/pty: New file.
42404         * modules/pty-tests: New file.
42405         * m4/pty.m4: New file.
42406         * tests/test-pty.c: New file.
42407         * doc/glibc-headers/pty.texi: Modified.
42408         * doc/glibc-functions/forkpty.texi: Modified.
42409         * doc/glibc-functions/openpty.texi: Modified.
42410
42411 2009-12-10  Bruno Haible  <bruno@clisp.org>
42412
42413         Avoid syntax error in C++ mode.
42414         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
42415
42416 2009-12-10  Bruno Haible  <bruno@clisp.org>
42417
42418         Use sed with option -e.
42419         * gnulib-tool (func_version, func_emit_copyright_notice,
42420         func_emit_initmacro_end, func_import, func_create_testdir): Pass
42421         option -e to sed.
42422         * modules/link-warning (Makefile.am): Likewise.
42423
42424 2009-12-10  Jim Meyering  <meyering@redhat.com>
42425
42426         mgetgroups: do not write bytes beyond end of malloc'd buffer
42427         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
42428         username, we call getgroups with a one-element-shorter buffer,
42429         but still told it the length was original, max_n_groups.
42430
42431 2009-12-09  Eric Blake  <ebb9@byu.net>
42432
42433         cloexec: relax license
42434         * modules/cloexec (Maintainer): Add myself.
42435         (License): Use LGPL, not GPL.
42436
42437         link-warning: optimize generation
42438         * modules/link-warning (Makefile.am): Reduce process usage.
42439
42440 2009-12-09  Bruno Haible  <bruno@clisp.org>
42441
42442         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
42443         workaround was added on 2009-11-17.
42444
42445 2009-12-09  Jim Meyering  <meyering@redhat.com>
42446             Bruno Haible  <bruno@clisp.org>
42447
42448         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
42449         * modules/link-warning (Makefile.am): Make the comment-removing sed
42450         command more robust in the face of bootstrap-prepended comment lines.
42451
42452 2009-12-09  Bruno Haible  <bruno@clisp.org>
42453
42454         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
42455         most one group.
42456
42457 2009-12-09  Simon Josefsson <simon@josefsson.org>
42458             Bruno Haible  <bruno@clisp.org>
42459
42460         * build-aux/link-warning.h: Add copyright notice.
42461         * modules/link-warning (Makefile.am): Generate link-warning.h from
42462         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42463         * NEWS: Mention change in link-warning module.
42464         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42465         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42466         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42467         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42468         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42469         * modules/math (Makefile.am): Add dependency to math.h.
42470         * modules/search (Makefile.am): Add dependency to search.h.
42471         * modules/signal (Makefile.am): Add dependency to signal.h.
42472         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42473         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42474         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42475         * modules/string (Makefile.am): Add dependency to string.h.
42476         * modules/strings (Makefile.am): Add dependency to strings.h.
42477         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42478         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42479         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42480         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42481         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42482         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42483         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42484         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42485         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42486
42487 2009-12-09  Bruno Haible  <bruno@clisp.org>
42488
42489         fchdir: Optimize away rpl_fstat when possible.
42490         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42491         REPLACE_OPEN_DIRECTORY.
42492         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42493
42494 2009-12-09  Bruno Haible  <bruno@clisp.org>
42495
42496         * lib/fchdir.c: Update comment.
42497
42498 2009-12-09  Bruno Haible  <bruno@clisp.org>
42499
42500         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42501
42502 2009-12-08  Eric Blake  <ebb9@byu.net>
42503
42504         fchdir: avoid memory leak on re-registration.
42505         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42506
42507 2009-12-08  Jim Meyering  <meyering@redhat.com>
42508
42509         init.sh: avoid Solaris 10 /bin/sh portability problem
42510         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42511         sourced script:
42512           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42513           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42514           bar
42515         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42516         and two tests used that idiom.
42517         * tests/init.sh: Update suggested usage comments.
42518         (path_prepend_): New function, to be used in place
42519         of the --src-path=DIR option.
42520         (setup_): Move PATH-prepending code into path_prepend_.
42521         * tests/test-pread.sh: Adapt to new usage.
42522         * tests/test-xalloc-die.sh: Likewise.
42523
42524 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42525
42526         * doc/gnulib.texi (Glibc pty.h): Add.
42527         * doc/glibc-functions/forkpty.texi: Add.
42528         * doc/glibc-functions/openpty.texi: Add.
42529         Suggested by Bruno Haible.
42530
42531 2009-12-08  Eric Blake  <ebb9@byu.net>
42532
42533         fchdir: fix logic bugs
42534         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42535         * tests/test-fchdir.c (main): Enhance test.
42536         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42537         is in use.
42538
42539         dup2: fix logic bugs
42540         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42541         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42542         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42543         exists.
42544         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42545
42546 2009-12-07  Eric Blake  <ebb9@byu.net>
42547
42548         unlink: fix m4 detection
42549         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42550
42551         unistd-safer: add unit test
42552         * modules/unistd-safer-tests: New file.
42553         * tests/test-dup-safer.c: Likewise.
42554         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42555         * tests/test-dup2.c (setmode): Likewise.
42556         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42557
42558         cloexec: preserve text vs. binary across dup_cloexec
42559         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42560         mode.
42561         * modules/dup2-tests (Depends-on): Add binary-io.
42562         * modules/cloexec-tests (Depends-on): Likewise.
42563         * tests/test-dup2.c (setmode, is_mode): New helpers.
42564         (main): Add tests that translation mode is preserved.
42565         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42566         Reported by Bruno Haible.
42567
42568         mgetgroups: reduce duplicate listings
42569         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42570         resulting array.
42571         * tests/test-chown.h (test_chown): Simplify client.
42572         * tests/test-lchown.h (test_lchown): Likewise.
42573
42574 2009-12-06  Bruno Haible  <bruno@clisp.org>
42575
42576         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42577         value.
42578
42579 2009-12-06  Bruno Haible  <bruno@clisp.org>
42580
42581         * lib/progname.c: Include stdio.h, stdlib.h.
42582         (set_program_name): Reject a NULL argument.
42583
42584 2009-12-05  Eric Blake  <ebb9@byu.net>
42585
42586         pipe2-safer: new module
42587         * modules/pipe2-safer: New file.
42588         * lib/unistd-safer.h (pipe2_safer): New prototype.
42589         * lib/unistd--.h (pipe2): New wrapper.
42590         * lib/pipe-safer.c (pipe2_safer): New function.
42591         * modules/pipe (Depends-on): Add pipe2-safer.
42592         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42593
42594         stdlib-safer: preserve cloexec flag for mkostemp[s]
42595         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42596         fd_safer_flag.
42597
42598         unistd-safer: allow preservation of cloexec status via flag
42599         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42600         prototypes.
42601         * lib/dup-safer.c (dup_safer_flag): New function.
42602         * lib/fd-safer.c (fd_safer_flag): Likewise.
42603         * modules/cloexec (configure.ac): Set witness.
42604
42605         test-dup2: enhance test
42606         * modules/dup2-tests (Depends-on): Add cloexec.
42607         * tests/test-dup2.c (main): Enhance test.
42608
42609         cloexec: add dup_cloexec
42610         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42611         header and comments.
42612         * lib/cloexec.c (set_cloexec_flag): Add comments.
42613         (dup_cloexec): New function, with mingw implementation borrowed
42614         from...
42615         * lib/w32spawn.h (dup_noinherit): ...here.
42616         * modules/execute (Depends-on): Add cloexec.
42617         * modules/pipe (Depends-on): Likewise.
42618         * modules/cloexec (Depends-on): Add dup2.
42619         * modules/cloexec-tests (Files): New file.
42620         * tests/test-cloexec.c: Likewise.
42621
42622         test-xalloc-die: fix test for mingw
42623         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42624         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42625         directory and .exe suffix off argv[0] output.
42626
42627         test-fseeko: fix test for mingw
42628         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42629         than undefining fseek, so test will pass on mingw.
42630
42631 2009-12-05  Bruno Haible  <bruno@clisp.org>
42632
42633         * lib/progname.h (set_program_name): Clarify specification.
42634         * lib/progname.c (set_program_name): Likewise.
42635         Reported by Jim Meyering.
42636
42637 2009-12-05  Jim Meyering  <meyering@redhat.com>
42638
42639         maint.mk: backslash-escape parens in default regexp
42640         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42641         backslash-escape the literal parentheses.
42642
42643         maint.mk: news-date-check: use grep -E
42644         * top/maint.mk (today): Define a Make variable, not a...
42645         (news-date-check): ...shell variable.
42646         (news-date-regexp): Use the Make variable.
42647         Use grep's -E option.  Change the failing diagnostic to mention
42648         the variable, $(news-date-regexp).
42649
42650 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42651
42652         maintainer-makefile: allow customization of NEWS entry format
42653         * top/maint.mk (news-date-regexp): New overridable variable.
42654         (news-date-check): Use it.
42655
42656 2009-12-04  Eric Blake  <ebb9@byu.net>
42657
42658         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42659         * lib/mgetgroups.h (xgetgroups): New prototype.
42660         * lib/mgetgroups.c (xgetgroups): New wrapper.
42661         (mgetgroups): Handle ENOSYS.
42662         * modules/mgetgroups (Depends-on): Add realloc.
42663         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42664
42665         mgetgroups: avoid argument promotion issues with -1
42666         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42667         for invalid gid_t.
42668         * tests/test-chown.h (getegid, test_chown): Likewise.
42669         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42670
42671 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42672
42673         exclude: Fix header file problems.
42674         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42675
42676 2009-12-01  Jim Meyering  <meyering@redhat.com>
42677
42678         fts: fts_open: do not let an empty string cause immediate failure
42679         This is required in support of GNU rm, for which the command
42680         "rm A '' B" must process and remove both A and B, in spite of
42681         the empty string argument.
42682         * lib/fts.c (fts_open): Do not let the presence of an empty string
42683         cause fts_open to fail immediately.  Most fts-using tools must be
42684         able to process all arguments, in order, and can be expected to
42685         diagnose such arguments themselves.
42686
42687 2009-11-30  Eric Blake  <ebb9@byu.net>
42688
42689         utimens: fix compilation error
42690         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42691         Declare variable at right scope.
42692
42693 2009-11-29  Jim Meyering  <meyering@redhat.com>
42694
42695         bootstrap: handle perl-5.11's changed --version output
42696         * build-aux/bootstrap (get_version): Handle perl separately,
42697         since perl-5.11's --version output is different.
42698
42699 2009-11-28  Jim Meyering  <meyering@redhat.com>
42700
42701         userspec: depend on the inttostr module, too
42702         * modules/userspec (Depends-on): Add inttostr.
42703
42704         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42705         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42706         number of MAXUID when it evaluates to (uid_t) -1.
42707         Likewise for group ID.  Reported by Matt McCutchen in
42708         <http://savannah.gnu.org/bugs/?28113>
42709
42710         userspec: reformat to use spaces, not TABs
42711         * lib/userspec.c: Expand TABs to spaces.
42712         Add Emacs' "indent-tabs-mode: nil" hint.
42713
42714 2009-11-27  Eric Blake  <ebb9@byu.net>
42715
42716         getopt-gnu: flush out another BSD bug
42717         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42718         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42719         flush out BSD bug.
42720         * tests/test-getopt.h (test_getopt): End lists with NULL.
42721         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42722         (test_getopt_long_posix): Enhance test.
42723         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42724         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42725         getopt-gnu.
42726         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42727         Likewise.
42728
42729 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42730
42731         * modules/idpriv-droptemp-tests (Notice): Fix text.
42732
42733 2009-11-27  Jim Meyering  <meyering@redhat.com>
42734
42735         test-xalloc-die: avoid spurious failure due to libtool argv difference
42736         In a libtool-enabled project, this test would fail due to a difference
42737         in the emitted program name, e.g.,
42738         -test-xalloc-die: memory exhausted
42739         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42740         Use program to avoid that.
42741         * modules/xalloc-die-tests (Depends-on): Add progname.
42742         * tests/test-xalloc-die.c: Include progname.h".
42743         (program_name): Remove decl.
42744         (main): Call set_program_name.
42745         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42746
42747 2009-11-26  Richard Jones  <rjones@redhat.com>
42748
42749         w32sock: leave win32 error in place.
42750         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42751
42752 2009-11-26  Eric Blake  <ebb9@byu.net>
42753
42754         init.sh: suggest to use skip_ and fail_ functions in comments
42755         * tests/init.sh: Add a sentence.
42756
42757 2009-11-25  Bruno Haible  <bruno@clisp.org>
42758
42759         init.sh: add documentation in comments
42760         * tests/init.sh: Add some developer and user documentation.
42761
42762 2009-11-26  Jim Meyering  <meyering@redhat.com>
42763
42764         init.sh: accommodate even those who specify bogus srcdir manually
42765         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42766         configure-time tests to be sanitized, so that there is no need to
42767         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42768         (with no double quotes) suffices.  However, since tests may be
42769         invoked manually, and since you may explicitly set srcdir to the
42770         name of a directory containing spaces, do quote its uses here.
42771         * tests/test-pread.sh: Likewise.
42772         Suggested by Bruno Haible.
42773
42774         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42775         * tests/test-pread.sh: Write no data into the pipe, because
42776         test-pread actually reads none.  This avoids a diagnostic,
42777         "bash: echo: write error: Broken pipe", that arises in the unusual
42778         event something is ignoring SIGPIPE, and might be interpreted
42779         as some sort of failure.  Reported by Bruno Haible.
42780
42781 2009-11-25  Jim Meyering  <meyering@redhat.com>
42782
42783         test-pread: cover failure with ESPIPE and EINVAL
42784         * tests/test-pread.c (main): Test for failure, too.
42785         * tests/test-pread.sh: Invoke with stdin on a pipe.
42786         Suggested by Eric Blake.
42787
42788         pread: improvement and fix
42789         * modules/pread (Depends-on): Depend on lseek, for portability to
42790         e.g., mingw.  Suggested by Eric Blake.
42791         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42792
42793         unistd.in.h: correct declaration of pread
42794         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42795         Reported by Richard W.M. Jones.
42796
42797         test-pread.sh: distribute the test script
42798         * modules/pread-tests (Files): Include test-pread.sh.
42799
42800         test-pread.sh: clean up
42801         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42802         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42803         That is unnecessary, since it's always ".".
42804         Suggestion from Eric Blake.
42805
42806         test-pread.sh: make executable
42807         * tests/test-pread.sh: Set executable bit.
42808         Reported by Eric Blake.
42809
42810         correct typo in test-pread.sh
42811         * tests/test-pread.sh: Add #! line.
42812
42813         test pread
42814         * tests/test-pread.c: New file.
42815         * tests/test-pread.sh: Likewise.
42816         * modules/pread-tests: Likewise.
42817
42818         pread: new module
42819         * modules/pread: New file.
42820         * lib/unistd.in.h (pread): Define/declare.
42821         * lib/pread.c (pread): New file.
42822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42823         * modules/unistd (Makefile.am): Substitute witnesses.
42824         * doc/posix-functions/pread.texi (pread): Update.
42825         * MODULES.html.sh: Add pread.
42826
42827 2009-11-25  Jim Meyering  <meyering@redhat.com>
42828
42829         tests/init.sh: new file to be used via most *.sh tests
42830         * tests/init.sh: New file.
42831
42832 2009-11-25  Eric Blake  <ebb9@byu.net>
42833
42834         utimens: work around older Linux failure with symlinks
42835         * lib/utimens.c (lutimensat_works_really): New variable.
42836         (fdutimens, lutimens): Use it to manage kernels that support
42837         nanosecond times on files, but not on symlinks.
42838         Reported by Ondřej Vašík.
42839
42840         utimes: fix configure grammar
42841         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42842
42843 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42844
42845         regex: Fix fastmap for multibyte character ranges.
42846         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42847         characters when a multibyte character range is included.
42848
42849 2009-11-22  Andy Wingo  <wingo@pobox.com>
42850
42851         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42852         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42853
42854 2009-11-24  Bruno Haible  <bruno@clisp.org>
42855
42856         doc: Most *_l functions exist in MacOS X 10.5.
42857         * doc/posix-functions/duplocale.texi: Update platforms list.
42858         * doc/posix-functions/freelocale.texi: Likewise.
42859         * doc/posix-functions/newlocale.texi: Likewise.
42860         * doc/posix-functions/uselocale.texi: Likewise.
42861         * doc/posix-functions/isalnum_l.texi: Likewise.
42862         * doc/posix-functions/isalpha_l.texi: Likewise.
42863         * doc/posix-functions/isblank_l.texi: Likewise.
42864         * doc/posix-functions/iscntrl_l.texi: Likewise.
42865         * doc/posix-functions/isdigit_l.texi: Likewise.
42866         * doc/posix-functions/isgraph_l.texi: Likewise.
42867         * doc/posix-functions/islower_l.texi: Likewise.
42868         * doc/posix-functions/isprint_l.texi: Likewise.
42869         * doc/posix-functions/ispunct_l.texi: Likewise.
42870         * doc/posix-functions/isspace_l.texi: Likewise.
42871         * doc/posix-functions/isupper_l.texi: Likewise.
42872         * doc/posix-functions/iswalnum_l.texi: Likewise.
42873         * doc/posix-functions/iswalpha_l.texi: Likewise.
42874         * doc/posix-functions/iswblank_l.texi: Likewise.
42875         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42876         * doc/posix-functions/iswctype_l.texi: Likewise.
42877         * doc/posix-functions/iswdigit_l.texi: Likewise.
42878         * doc/posix-functions/iswgraph_l.texi: Likewise.
42879         * doc/posix-functions/iswlower_l.texi: Likewise.
42880         * doc/posix-functions/iswprint_l.texi: Likewise.
42881         * doc/posix-functions/iswpunct_l.texi: Likewise.
42882         * doc/posix-functions/iswspace_l.texi: Likewise.
42883         * doc/posix-functions/iswupper_l.texi: Likewise.
42884         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42885         * doc/posix-functions/isxdigit_l.texi: Likewise.
42886         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42887         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42888         * doc/posix-functions/strcoll_l.texi: Likewise.
42889         * doc/posix-functions/strfmon_l.texi: Likewise.
42890         * doc/posix-functions/strftime_l.texi: Likewise.
42891         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42892         * doc/posix-functions/strxfrm_l.texi: Likewise.
42893         * doc/posix-functions/tolower_l.texi: Likewise.
42894         * doc/posix-functions/toupper_l.texi: Likewise.
42895         * doc/posix-functions/towctrans_l.texi: Likewise.
42896         * doc/posix-functions/towlower_l.texi: Likewise.
42897         * doc/posix-functions/towupper_l.texi: Likewise.
42898         * doc/posix-functions/wcscoll_l.texi: Likewise.
42899         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42900         * doc/posix-functions/wctrans_l.texi: Likewise.
42901         * doc/posix-functions/wctype_l.texi: Likewise.
42902         * doc/glibc-functions/strptime_l.texi: Likewise.
42903         * doc/glibc-functions/strtod_l.texi: Likewise.
42904         * doc/glibc-functions/strtof_l.texi: Likewise.
42905         * doc/glibc-functions/strtol_l.texi: Likewise.
42906         * doc/glibc-functions/strtold_l.texi: Likewise.
42907         * doc/glibc-functions/strtoll_l.texi: Likewise.
42908         * doc/glibc-functions/strtoul_l.texi: Likewise.
42909         * doc/glibc-functions/strtoull_l.texi: Likewise.
42910         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42911         * doc/glibc-functions/wcstod_l.texi: Likewise.
42912         * doc/glibc-functions/wcstof_l.texi: Likewise.
42913         * doc/glibc-functions/wcstol_l.texi: Likewise.
42914         * doc/glibc-functions/wcstold_l.texi: Likewise.
42915         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42916         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42917         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42918
42919 2009-11-24  Bruno Haible  <bruno@clisp.org>
42920
42921         duplocale: Fix logic bug.
42922         * lib/duplocale.c: Don't include <langinfo.h>.
42923         (_NL_LOCALE_NAME): Remove macro.
42924         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42925         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42926
42927 2009-11-23  Jim Meyering  <meyering@redhat.com>
42928
42929         test-update-copyright: don't hard-code /usr/bin/perl
42930         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42931         perl to print the current year.  Gilles Espinasse reported that
42932         the replaced use of perl was hard-coded as /usr/bin/perl.
42933
42934 2009-11-23  Bruno Haible  <bruno@clisp.org>
42935
42936         duplocale: Add support for glibc 2.3.x.
42937         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42938
42939 2009-11-22  Bruno Haible  <bruno@clisp.org>
42940
42941         vasnprintf: Tiny optimization.
42942         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42943         MacOS X.
42944
42945 2009-11-22  Bruno Haible  <bruno@clisp.org>
42946
42947         Tests for module 'duplocale'.
42948         * modules/duplocale-tests: New file.
42949         * tests/test-duplocale.c: New file.
42950
42951         New module 'duplocale'.
42952         * m4/duplocale.m4: New file.
42953         * lib/locale.in.h (duplocale): New declaration.
42954         * lib/duplocale.c: New file.
42955         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42956         gl_LOCALE_H_DEFAULTS): New macros.
42957         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42958         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42959         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42960         REPLACE_DUPLOCALE.
42961         * modules/duplocale: New file.
42962         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42963
42964 2009-11-22  Bruno Haible  <bruno@clisp.org>
42965
42966         * modules/locale-tests (configure.ac): Test for newlocale function.
42967         * tests/test-locale.c: When the system has extended locale functions,
42968         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42969
42970         locale: Make locale_t available when possible.
42971         * lib/locale.in.h: Include <xlocale.h> when it exists.
42972         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42973         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42974         * modules/locale (Depends-on): Add extensions.
42975         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42976         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42977
42978 2009-11-22  Bruno Haible  <bruno@clisp.org>
42979
42980         Add comments.
42981         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42982         invocation.
42983         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42984         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42985         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42986
42987 2009-11-22  Bruno Haible  <bruno@clisp.org>
42988
42989         error: account for the possibility of freopen (stdout).
42990         * lib/error.c: Include <unistd.h>.
42991         (flush_stdout): New function, extracted from error and error_at_line.
42992         Determine stdout's fd dynamically.
42993         (error, error_at_line): Invoke flush_stdout.
42994         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42995         * modules/error (Depends-on): Add unistd.
42996
42997 2009-11-22  Bruno Haible  <bruno@clisp.org>
42998
42999         diffseq: Add comment.
43000         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
43001
43002 2009-11-22  Jim Meyering  <meyering@redhat.com>
43003
43004         c-stack: avoid defining an unused static function
43005         * lib/c-stack.c (find_stack_direction): Do not define this function
43006         when it will not be used.
43007
43008         diffseq: avoid spurious gcc warnings
43009         * lib/diffseq.h (IF_LINT2): Define.
43010         (compareseq): Use it to initialize two members of "part".
43011         This avoids two used-uninitialized warnings.
43012
43013 2009-11-21  Jim Meyering  <meyering@redhat.com>
43014
43015         c-stack: avoid "ignoring return value of `write'" warning
43016         * lib/c-stack.c: Include "ignore-value.h".
43017         (die): Explicitly ignore each write return value.
43018         * modules/c-stack (Depends-on): Add ignore-value.
43019
43020 2009-11-21  Bruno Haible  <bruno@clisp.org>
43021
43022         diffseq: reduce scope of variable 'best'.
43023         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
43024         variable, earlier used for two different purposes.
43025
43026 2009-11-21  Jim Meyering  <meyering@redhat.com>
43027
43028         diffseq: remove useless assignment to "best"
43029         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
43030         assignment.  At that point "best" is already guaranteed to be zero.
43031
43032 2009-11-20  Eric Blake  <ebb9@byu.net>
43033
43034         build: mention ftp redirector in release announcements
43035         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
43036         values that used to come from cfg.mk; mention FTP redirect URL.
43037         * build-aux/announce-gen: Mention the mirror list.
43038         Suggested by Karl Berry.
43039
43040         nanosleep: improve port to mingw
43041         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
43042         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
43043         LIB_NANOSLEEP, but only when needed.
43044         * modules/select (Link): Document LIBSOCKET.
43045         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
43046         enough.
43047
43048         nanosleep: work around cygwin bug
43049         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
43050         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
43051         bug.
43052         (getnow): Delete, not needed.
43053         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
43054         LIB_CLOCK_GETTIME.
43055         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
43056         clock-time, gettime.
43057         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
43058         bug.
43059         * modules/nanosleep-tests: New test.
43060         * tests/test-nanosleep.c: New file.
43061
43062         sleep: work around cygwin bug
43063         * lib/sleep.c (rpl_sleep): Work around the bug.
43064         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
43065         (gl_PREREQ_SLEEP): Delete unused macro.
43066         * modules/sleep (Depends-on): Add verify.
43067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43068         * modules/unistd (Makefile.am): Substitute witness.
43069         * lib/unistd.in.h (sleep): Update prototype.
43070         * doc/posix-functions/sleep.texi (sleep): Document the bug.
43071         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
43072         * modules/sleep-tests (Depends-on): Check for alarm.
43073
43074 2009-11-20  Jim Meyering  <meyering@redhat.com>
43075
43076         maint.mk: improve sc_prohibit_magic_number_exit
43077         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
43078         so it does not match uses like System.exit(1).
43079         Add comments showing how to correct all offenders.
43080
43081 2009-11-19  Eric Blake  <ebb9@byu.net>
43082
43083         xalloc-die-tests: add missing library
43084         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
43085
43086         test-xvasprintf: silence compiler warnings
43087         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
43088         empty string from gcc.
43089
43090 2009-11-19  Jim Meyering  <meyering@redhat.com>
43091
43092         xfreopen: new module, from coreutils
43093         * modules/xfreopen: New module.
43094         * lib/xfreopen.c: New file.
43095         * lib/xfreopen.h: New file.
43096         * MODULES.html.sh (File stream based Input/Output"): Add it.
43097
43098 2009-11-19  Eric Blake  <ebb9@byu.net>
43099
43100         manywarnings: depend on warnings
43101         * modules/manywarnings (Depends-on): Add warnings.
43102
43103         build: avoid compiler warnings
43104         * lib/select.c (rpl_select): Delete unused variable.
43105         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
43106
43107 2009-11-18  Eric Blake  <ebb9@byu.net>
43108
43109         tests: avoid false negative with --with-packager
43110         * tests/test-version-etc.sh: Discard packager information.
43111         * tests/test-argp-version-etc-1.sh: Likewise.
43112         Reported by Mike Frysinger.
43113
43114         utimens: fix regression on Solaris
43115         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
43116         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
43117         can only change fd timestamps via futimesat.  Instead, use an
43118         additional witness macro to avoid BSD bug.
43119         Reported by Jim Meyering.
43120
43121 2009-11-17  Eric Blake  <ebb9@byu.net>
43122
43123         usleep: use it to simplify tests
43124         * modules/stat-time-tests (Depends-on): Add usleep.
43125         (configure.ac): Drop usleep check.
43126         * modules/chown-tests (Depends-on, configure.ac): Likewise.
43127         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
43128         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
43129         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
43130         * modules/openat-tests (Depends-on, configure.ac): Likewise.
43131         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
43132         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
43133         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
43134         Likewise.
43135         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
43136         * tests/test-lchown.h (nap): Likewise.
43137         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
43138         * tests/test-stat-time.c (nap): Likewise.
43139         * tests/test-utimens-common.h (nap): Update comments.
43140
43141         usleep: new module
43142         * modules/usleep: New file.
43143         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
43144         * lib/usleep.c (usleep): Likewise.
43145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
43146         * modules/unistd (Makefile.am): Substitute witnesses.
43147         * lib/unistd.in.h (usleep): Add declaration.
43148         * doc/pastposix-functions/usleep.texi (usleep): Document this.
43149         * MODULES.html.sh (Date and time): Likewise.
43150         * modules/usleep-tests (Depends-on): New test.
43151         * tests/test-usleep.c: New file.
43152
43153         chown: work around OpenBSD bug
43154         * lib/chown.c (rpl_chown): Work around the bug.
43155         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
43156         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
43157         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
43158         * modules/chown (Depends-on): Add stdbool.
43159         * modules/lchown (Depends-on): Likewise.
43160         * doc/posix-functions/chown.texi (chown): Document the bug.
43161         * doc/posix-functions/lchown.texi (lchown): Likewise.
43162         * tests/test-lchown.h (test_chown): Relax test.
43163
43164         mkstemp: avoid conflict with C++ keyword template
43165         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
43166         * lib/mkostemp.c (mkostemp): Likewise.
43167         * lib/mkostemps.c (mkostemps): Likewise.
43168         * lib/mkstemp.c (mkstemp): Likewise.
43169         * lib/mkstemps.c (mkstemps): Likewise.
43170
43171         xalloc-die-tests: optimize
43172         * tests/test-xalloc-die.sh: Reduce number of processes.
43173
43174 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43175
43176         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
43177         patch from ludo@gnu.org (Ludovic Courtès).
43178
43179 2009-11-17  Jim Meyering  <meyering@redhat.com>
43180
43181         version-etc: use proper license string
43182         * modules/version-etc (License): Use LGPL, not LGPLv3+.
43183         * modules/version-etc-fsf: Likewise.
43184
43185 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43186
43187         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
43188         printed to stdout.  Deal with EOL differences.
43189
43190 2009-11-17  Eric Blake  <ebb9@byu.net>
43191
43192         unsetenv: work around Solaris bug
43193         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
43194         * lib/unsetenv.c (rpl_unsetenv): Work around it.
43195         Reported by Jim Meyering.
43196
43197         vasnprintf: avoid compiler warnings
43198         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
43199         variables.
43200         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
43201
43202 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43203
43204         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
43205         settings since xalloc-die is no longer the self test,
43206         xalloc-die.sh is.
43207
43208 2009-11-17  Jim Meyering  <meyering@redhat.com>
43209
43210         test-xalloc-die.sh: make the code agree with the commit log
43211         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
43212         at the end, just in case you happen to have a test-xalloc-die
43213         program in some other PATH directory.
43214
43215         test-xalloc-die.sh: fix a portability bug
43216         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
43217         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
43218         Otherwise, argv[0] (as often seen in diagnostics) would be too
43219         system-dependent, sometimes with, and sometimes without the leading "./".
43220
43221         version-etc-fsf: relax license to LGPLv3+
43222         * modules/version-etc-fsf (License): Relax license.
43223
43224 2009-11-16  Eric Blake  <ebb9@byu.net>
43225
43226         xalloc-die-tests: avoid printing null pointer
43227         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
43228         shell script.
43229         * tests/test-xalloc-die.c (program_name): Declare.
43230         * tests/test-xalloc-die.sh (tmpfiles): New file.
43231
43232         setenv, unsetenv: work around various bugs
43233         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
43234         (setenv) [HAVE_SETENV]: Work around bugs.
43235         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
43236         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
43237         for bugs.
43238         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
43239         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
43240         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
43241         * modules/stdlib (Makefile.am): Update substitutions.
43242         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
43243         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
43244         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
43245         * modules/setenv-tests: New test.
43246         * modules/unsetenv-tests: Likewise.
43247         * tests/test-setenv.c: New file.
43248         * tests/test-unsetenv.c: Likewise.
43249
43250 2009-11-16  Jim Meyering  <meyering@redhat.com>
43251
43252         version-etc: relax license to LGPLv3+
43253         * modules/version-etc (License): Relax license.
43254
43255         better AC_REQUIRE expanded-before-required-warning avoidance
43256         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
43257         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
43258         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
43259         which is no longer needed.
43260
43261 2009-11-16  Eric Blake  <ebb9@byu.net>
43262
43263         test-freading: clean up temporary file
43264         * tests/test-freading.c (main): Remove file on success, and use
43265         ASSERT more liberally.
43266         Reported by Jim Meyering.
43267
43268 2009-11-16  Jim Meyering  <meyering@redhat.com>
43269
43270         avoid new AC_REQUIRE expanded-before-required warnings
43271         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
43272         merely using it.
43273         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
43274         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
43275
43276 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43277
43278         * tests/test-xalloc-die.c: New file.
43279         * modules/xalloc-die-tests: New file.
43280         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
43281         XFAIL_TESTS so it can be appended by modules.
43282
43283 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43284
43285         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
43286         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
43287
43288 2009-11-14  Eric Blake  <ebb9@byu.net>
43289
43290         fnmatch: avoid compiler warning
43291         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
43292         to silence compiler warning about mismatch signedness in ?:.
43293         Reported by Robert Millan.
43294
43295         intprops: add double-inclusion guard
43296         * lib/intprops.h: Allow idempotent includes.
43297         Suggested by Bruce Korb.
43298
43299         openat: detect Solaris fchownat bug
43300         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
43301         penalizing glibc chownat when only lchownat is broken.
43302         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
43303         trailing slash bugs.
43304         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
43305         * modules/openat-tests (Files): Include more files.
43306         (Depends-on): Add mgetgroups, sleep, stat-time.
43307         (configure.ac): Add additional checks.
43308         (Makefile.am): Build new test.
43309         * tests/test-fchownat.c: New file.
43310
43311         lchown: detect Solaris and FreeBSD bug
43312         * lib/lchown.c (rpl_lchown): Work around bug.
43313         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
43314         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43315         * modules/unistd (Makefile.am): Populate it.
43316         * lib/unistd.in.h (lchown): Update declaration.
43317         * doc/posix-functions/lchown.texi (lchown): Document the bug.
43318         * modules/lchown-tests: New file.
43319         * tests/test-lchown.h (test_lchown): Likewise.
43320         * tests/test-lchown.c (main): Likewise.
43321
43322         chown: detect Solaris and FreeBSD bug
43323         * lib/chown.c (rpl_chown): Work around bug.
43324         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
43325         (gl_PREREQ_CHOWN): Delete.
43326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43327         * modules/unistd (Makefile.am): Populate it.
43328         * lib/unistd.in.h (chown): Update declaration.
43329         * lib/lchown.c (chown): Update client.
43330         * modules/lchown (Depends-on): Add lstat.
43331         * doc/posix-functions/chown.texi (chown): Document the bug.
43332         * doc/posix-functions/getgroups.texi (getgroups): Document
43333         getgroups pitfall.
43334         * modules/chown-tests: New file.
43335         * tests/test-chown.h (test_chown): Likewise.
43336         * tests/test-chown.c (main): Likewise.
43337
43338 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
43339
43340         gnulib-tool: correctly detect absence of m4 directories
43341         * gnulib-tool: Avoid extra newline on data passed to wc -l.
43342
43343 2009-11-14  Jim Meyering  <meyering@redhat.com>
43344
43345         maint.mk: Prohibit inclusion of "xalloc.h" without use.
43346         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43347
43348 2009-11-14  John W. Eaton  <jwe@gnu.org>
43349
43350         strftime.h: wrap function declaration in extern "C" block
43351         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
43352
43353 2009-11-13  Eric Blake  <ebb9@byu.net>
43354
43355         getgroups: avoid compiler warning
43356         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
43357
43358         getgroups: work around FreeBSD bug
43359         * lib/getgroups.c (rpl_getgroups): Work around the bug.
43360         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
43361         * doc/posix-functions/getgroups.texi (getgroups): Document it.
43362         * tests/test-getgroups.c (main): Fix buffer overrun.
43363
43364         getgroups: avoid compilation failure
43365         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
43366         * modules/getgroups (Depends-on): Add stdint.
43367
43368 2009-11-13  Jim Meyering  <meyering@redhat.com>
43369
43370         test-getgroups: avoid compilation failure
43371         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
43372
43373 2009-11-13  Eric Blake  <ebb9@byu.net>
43374
43375         mgetgroups: new module, taken from coreutils
43376         * modules/mgetgroups: New file.
43377         * lib/mgetgroups.h: Likewise.
43378         * lib/mgetgroups.c (mgetgroups): Likewise.
43379         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
43380         * MODULES.html.sh (Users and groups): Mention it.
43381
43382         getgroups: don't expose GETGROUPS_T to user
43383         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
43384         an element at a time if GETGROUPS_T is wrong size.
43385         * lib/getugroups.h (getugroups): Change signature.
43386         * lib/unistd.in.h (getgroups): Likewise.
43387         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
43388         signature needs fixing.
43389         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
43390         AC_TYPE_GETGROUPS.
43391         * modules/group-member (Depends-on): Add getgroups.
43392         * lib/group-member.c (group_info, get_group_info): Use gid_t.
43393         (group_member): Rely on getgroups replacement.
43394         * lib/getugroups.c (getugroups): Use gid_t.
43395         * tests/test-getgroups.c (main): Likewise.
43396         * NEWS: Mention the signature change.
43397         * doc/posix-functions/getgroups.texi (getgroups): Mention the
43398         problem with signature.
43399         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
43400         GETGROUPS_T is still useful for setgroups.
43401
43402         getgroups, getugroups: provide stubs for mingw
43403         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
43404         * lib/getugroups.c (getugroups): Likewise.
43405         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
43406         function.  Modernize replacement scheme.
43407         (gl_PREREQ_GETGROUPS): Delete.
43408         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
43409         * modules/getgroups (configure.ac): Declare witness.
43410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43411         * modules/unistd (Depends-on): Substitute witness.
43412         * lib/unistd.in.h (getgroups): Declare replacement.
43413
43414         getgroups: avoid calling exit
43415         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
43416         drop xalloc.
43417         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
43418         dependencies.
43419         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
43420         exiting, in the rare case of malloc failure.
43421
43422         getgroups: fix logic error
43423         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
43424         has more than 20 groups.
43425         * modules/getgroups-tests: New test.
43426         * tests/test-getgroups.c: New file.
43427
43428 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43429
43430         * tests/test-base64.c: Improve.
43431
43432 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43433
43434         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
43435         Blake <ebb9@byu.net>.
43436
43437 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43438
43439         * tests/test-xvasprintf.c: Add %s%s related checks.
43440
43441 2009-11-12  Eric Blake  <ebb9@byu.net>
43442
43443         version-etc: match standards.texi style
43444         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
43445         and use <> only for URLs.
43446
43447 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
43448
43449         fts: do not fail on a submount during traversal
43450         * lib/fts.c (fts_build): Read the stat info again after opening
43451         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
43452         Original report at http://bugzilla.redhat.com/501848.
43453
43454 2009-11-12  Jim Meyering  <meyering@redhat.com>
43455
43456         bootstrap: sync from coreutils
43457         * build-aux/bootstrap (bootstrap_epilogue): New function.
43458         Use git_modules_config in one more place.  This make bootstrap's
43459         --gnulib-srcdir option more useful for testing.
43460
43461         bootstrap: generalize autoheader check
43462         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43463         AC_CONFIG_HEADERS.
43464
43465 2009-11-11  Eric Blake  <ebb9@byu.net>
43466
43467         mkfifoat: use new modules for Solaris and BSD bugs
43468         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43469         * lib/mkfifoat.c (mknodat): Split...
43470         * lib/mknodat.c (mknodat): ...into new file.
43471         * modules/mkfifoat (Files): Ship new file.
43472         (Depends-on): Add mkfifo, mknod.
43473         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43474         (Depends-on): Add symlink.
43475         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43476         redundant with test_mkfifo.h.
43477         (do_mkfifoat, do_mknodat): New helpers.
43478
43479         mknod: new module
43480         * modules/mknod: New file.
43481         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43482         * lib/mknod.c (mknod): Likewise.
43483         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43484         defaults.
43485         * modules/sys_stat (Makefile.am): Substitute them.
43486         * lib/sys_stat.in.h (mknod): Declare replacement.
43487         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43488         Document it.
43489         * doc/posix-functions/mknod.texi (mknod): Likewise.
43490         * modules/mknod-tests: New test.
43491         * tests/test-mknod.c: Likewise.
43492
43493         mkfifo: new module
43494         * modules/mkfifo: New file.
43495         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43496         * lib/mkfifo.c (mkfifo): Likewise.
43497         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43498         defaults.
43499         * modules/sys_stat (Makefile.am): Substitute them.
43500         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43501         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43502         Document it.
43503         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43504         * modules/mkfifo-tests: New test.
43505         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43506         from test-mkfifoat.c.
43507         * tests/test-mkfifo.c: New file.
43508
43509         readlink: detect FreeBSD bug
43510         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43511         slash on symlink.
43512         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43513         * tests/test-readlink.h (test_readlink): Enhance test.
43514
43515         symlink: detect FreeBSD bug
43516         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43517         slash on symlink.
43518         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43519         * tests/test-symlink.h (test_symlink): Enhance test.
43520
43521 2009-11-10  Eric Blake  <ebb9@byu.net>
43522
43523         link: detect FreeBSD bug
43524         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43525         symlink.
43526         * doc/posix-functions/link.texi (link): Document the bug.
43527         * tests/test-link.h (test_link): Enhance test.
43528         * tests/test-linkat.c (main): Update caller.
43529
43530         unlink, remove: detect FreeBSD bug
43531         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43532         slash on symlink.
43533         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43534         * doc/posix-functions/remove.texi (remove): Likewise.
43535         * tests/test-unlink.h (test_unlink): Enhance test.
43536         * tests/test-remove.c (main): Likewise.
43537
43538 2009-11-09  Eric Blake  <ebb9@byu.net>
43539
43540         rename: detect FreeBSD bug
43541         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43542         slash on symlink.
43543         * modules/renameat-tests (Depends-on): Add filenamecat.
43544         * tests/test-rename.h (test_rename): Allow one more errno.
43545         * tests/test-renameat.c (main): Likewise.
43546         * doc/posix-functions/rename.texi (rename): Document the bug.
43547
43548         open: detect FreeBSD bug
43549         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43550         symlink.
43551         * doc/posix-functions/open.texi (open): Document the bug.
43552         * doc/posix-functions/utimes.texi (utimes): Likewise.
43553         * tests/test-open.h (test_open): Add parameters, and test symlink
43554         handling.
43555         * tests/test-open.c (main): Adjust caller.
43556         * tests/test-fcntl-safer.c (main): Likewise.
43557         * modules/open-tests (Depends-on): Add stdbool, symlink.
43558         * modules/fcntl-safer-tests (Depends-on): Likewise.
43559         * tests/test-openat.c (main): Add test-open tests.
43560
43561         stat: detect FreeBSD bug
43562         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43563         symlink.
43564         * doc/posix-functions/stat.texi (stat): Document the bug.
43565         * tests/test-stat.h (test_stat_func): Add argument.
43566         * tests/test-stat.c (main): Adjust caller.
43567         * tests/test-fstatat.c (main): Likewise.
43568         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43569         Reported by Jim Meyering.
43570
43571 2009-11-09  James Youngman  <jay@gnu.org>
43572
43573         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43574         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43575
43576 2009-11-08  Jim Meyering  <meyering@redhat.com>
43577
43578         utimens: remove invalid futimesat call
43579         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43580         It used the file descriptor of the target file as the DIR_FD
43581         parameter and NULL as the file name.  That caused failure with
43582         errno == EFAULT on FreeBSD-8.0-rc2
43583
43584 2009-11-07  Eric Blake  <ebb9@byu.net>
43585
43586         fflush, freadseek: use fseeko, not fseek
43587         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43588         (clear_ungetc_buffer): Avoid potential problems on large files.
43589         * lib/freadseek.c (freadseek): Likewise.
43590         * modules/freadseek (Depends-on): Add fseeko.
43591         * modules/fseek (configure.ac): Set a witness.
43592         * tests/test-fflush.c (main): Use fseeko.
43593         * tests/test-fpurge.c (fseek): Disable link warning.
43594         * tests/test-freadable.c (fseek): Likewise.
43595         * tests/test-freading.c (fseek): Likewise.
43596         * tests/test-fseeko.c (fseek): Likewise.
43597         * tests/test-ftell.c (fseek): Likewise.
43598         * tests/test-ftello.c (fseek): Likewise.
43599         * tests/test-fwritable.c (fseek): Likewise.
43600         * tests/test-fwriting.c (fseek): Likewise.
43601
43602 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43603
43604         * modules/memchr (Depends-on): Drop getpagesize dependency.
43605
43606 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43607
43608         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43609         Reported by Ludovic Courtès.
43610         * build-aux/pmccabe2html: Improve example usage.
43611         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43612
43613 2009-11-06  Jim Meyering  <meyering@redhat.com>
43614
43615         do-release-commit-and-tag: New module.
43616         Automate the release-commit and tag process.
43617         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43618         * modules/do-release-commit-and-tag: New file.
43619         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43620
43621 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43622
43623         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43624         because test-select.c uses inet_pton.
43625
43626 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43627
43628         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43629         GETADDRINFO_LIB.  Bump serial number.
43630         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43631         Suggested by Eric Blake <ebb9@byu.net>.
43632
43633 2009-11-05  Eric Blake  <ebb9@byu.net>
43634
43635         strtod: detect darwin bug
43636         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43637         Reported by Leo Davis.
43638
43639         freopen-safer: new module
43640         * modules/freopen-safer: New module.
43641         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43642         * lib/freopen-safer.c (freopen_safer): New file.
43643         * lib/stdio-safer.h (freopen_safer): New declaration.
43644         * lib/stdio--.h (freopen): New override.
43645         * MODULES.html.sh (File stream based Input/Output): Mention it.
43646         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43647         freopen-safer module.
43648         * doc/posix-functions/stderr.texi (stderr): Likewise.
43649         * doc/posix-functions/stdin.texi (stdin): Likewise.
43650         * doc/posix-functions/stdout.texi (stdout): Likewise.
43651         * modules/freopen-safer-tests: New test.
43652         * tests/test-reopen-safer.c: New file.
43653
43654 2009-11-05  Jim Meyering  <meyering@redhat.com>
43655
43656         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43657         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43658
43659 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43660
43661         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43662
43663 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43664
43665         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43666
43667 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43668
43669         Fix link error.
43670         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43671         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43672
43673 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43674
43675         * tests/test-func.c: Also test value of __func__.
43676
43677 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43678
43679         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43680         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43681
43682 2009-11-05  Bruno Haible  <bruno@clisp.org>
43683
43684         Fix link error.
43685         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43686         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43687         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43688
43689 2009-11-05  Bruno Haible  <bruno@clisp.org>
43690
43691         Tests for module 'inet_pton'.
43692         * modules/inet_pton-tests: New file.
43693         * tests/test-inet_pton.c: New file.
43694
43695 2009-11-05  Bruno Haible  <bruno@clisp.org>
43696
43697         Tests for module 'inet_ntop'.
43698         * modules/inet_ntop-tests: New file.
43699         * tests/test-inet_ntop.c: New file.
43700
43701 2009-11-04  Eric Blake  <ebb9@byu.net>
43702
43703         stdlib-safer: wrap all mkstemp variants
43704         * modules/mkostemp (configure.ac): Set witness.
43705         * modules/mkostemps (configure.ac): Likewise.
43706         * modules/mkstemps (configure.ac): Likewise.
43707         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43708         (mkstemps_safer): Wrap more functions.
43709         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43710         wrapping.
43711         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43712         (mkstemps_safer): Implement the wrappers.
43713
43714         mkstemps, mkostemps: new modules
43715         * modules/mkostemps: New module.
43716         * modules/mkstemps: Likewise.
43717         * lib/mkostemps.c (mkostemps): New file.
43718         * lib/mkstemps.c (mkstemps): Likewise.
43719         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43720         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43721         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43722         * modules/stdlib (Makefile.am): Substitute them.
43723         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43724         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43725         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43726         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43727         * MODULES.html.sh (File system functions): Mention them.
43728
43729         tempname: resync from glibc
43730         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43731         same values for __GT_FILE as glibc.  Abort even when assertions
43732         are disabled.
43733         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43734         match its value otherwise.  Allow idempotent inclusion.
43735         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43736         * lib/mkostemp.c (mkostemp): Likewise.
43737         * lib/mkstemp.c (mkstemp): Likewise.
43738         * lib/tmpfile.c (tmpfile): Likewise.
43739         * NEWS: Document this.
43740
43741         utimens: fix use of futimens on older Linux
43742         * lib/utimens.c (fdutimens): Use updated, rather than original,
43743         timespec to avoid bug in older Linux kernel.
43744         Reported by Simon Josefsson.
43745
43746 2009-11-04  Bruno Haible  <bruno@clisp.org>
43747
43748         Make num_processors more flexible and consistent.
43749         * lib/nproc.h (enum nproc_query): New type.
43750         (num_processors): Add a 'query' argument.
43751         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43752         (num_processors): Add a 'query' argument. Test the value of the
43753         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43754         mingw, count the number of CPUs available for the current process.
43755         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43756         Check for sched_getaffinity and sched_getaffinity_np.
43757         * modules/nproc (Depends-on): Add c-ctype, extensions.
43758         * NEWS: Mention the change.
43759
43760 2009-11-03  Bruno Haible  <bruno@clisp.org>
43761
43762         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43763
43764 2009-11-03  Jim Meyering  <meyering@redhat.com>
43765
43766         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43767         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43768         if it is defined.
43769
43770 2009-11-02  Eric Blake  <ebb9@byu.net>
43771
43772         mktime, timegm: share common declaration
43773         * lib/mktime-internal.h: New file.
43774         * lib/mktime.c: Use it rather than open-coding a declaration.
43775         * lib/timegm.c: Likewise.
43776         * modules/mktime (Files): Ship it.
43777         * modules/timegm (Files): Likewise.
43778         Suggested by Bruno Haible.
43779
43780         test-update-copyright: update test to match script changes
43781         * tests/test-update-copyright.sh: Avoid hard-coding perl
43782         location.  Don't update *.bak created by earlier runs.
43783
43784 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43785             Simon Josefsson  <simon@josefsson.org>
43786             Bruno Haible  <bruno@clisp.org>
43787
43788         Fix link error on Solaris 8.
43789         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43790         also in libnsl. Define also INET_PTON_LIB.
43791         * modules/inet_pton (Link): New section.
43792
43793 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43794             Bruno Haible  <bruno@clisp.org>
43795
43796         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43797         * modules/inet_ntop (Link): New section.
43798         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43799
43800 2009-11-02  Eric Blake  <ebb9@byu.net>
43801
43802         maint: avoid compiler warnings in m4 macros
43803         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43804         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43805
43806 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43807
43808         * m4/pmccabe2html.m4: Remove file.
43809         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43810         function.  Change maintainer.
43811         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43812         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43813         Courtès).
43814
43815 2009-10-31  Eric Blake  <ebb9@byu.net>
43816
43817         fseeko: fix m4 regression
43818         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43819         regression from 2009-10-27.
43820         Reported by Ralf Wildenhues.
43821
43822 2009-10-31  Jim Meyering  <meyering@redhat.com>
43823
43824         inttostr: aesthetics and improved (compile-time) safety
43825         Define inttype_is_signed rather than inttype_is_unsigned,
43826         since the sole use is via "#if inttype_is_signed".
43827         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43828         inttype_is_unsigned.
43829         * lib/offtostr.c (inttype_is_signed): Likewise.
43830         * lib/uinttostr.c (inttype_is_signed): Likewise.
43831         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43832         * lib/inttostr.c (inttostr): Use verify to cross-check the
43833         inttype_is_signed value and the signedness of the actual type.
43834         * modules/inttostr (Depends-on): Add verify.
43835
43836 2009-10-30  Eric Blake  <ebb9@byu.net>
43837
43838         build: avoid compiler warnings
43839         * lib/fchmodat.c (lchmod): Mark unused variables.
43840         * lib/getopt.c (_getopt_initialize): Likewise.
43841         * lib/mktime.c (__mktime_internal): Provide prototype.
43842         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43843         older gcc that do not understand #pragma GCC diagnostic.
43844         * lib/uinttostr.c (inttype_is_unsigned): Define.
43845         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43846
43847 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43848
43849         stat: fix compilation on AIX
43850         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43851         only see struct stat64.
43852
43853 2009-10-30  Eric Blake  <ebb9@byu.net>
43854
43855         exclude: make more robust
43856         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43857         rather than masking a coding bug.
43858         Suggested by Bruno Haible.
43859
43860 2009-10-30  Jim Meyering  <meyering@redhat.com>
43861
43862         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43863         Rather than putting #!/usr/bin/perl on the first line,
43864         start with a variant of what's recommended by "man perlrun" that
43865         invokes the first "perl" program from your shell's search path.
43866         * build-aux/gitlog-to-changelog: Replace #!... as above.
43867         Add a "Local Variables" perl mode setting.
43868         Prompted by a patch from Ludovic Courtès.
43869         Improved by Eric Blake.
43870         * build-aux/useless-if-before-free: Likewise.
43871         * build-aux/announce-gen: Likewise.
43872         * build-aux/update-copyright: Likewise.
43873
43874 2009-10-29  Eric Blake  <ebb9@byu.net>
43875
43876         filenamecat-lgpl: adjust clients
43877         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43878         filenamecat.
43879         * modules/renameat (Depends-on): Likewise.
43880
43881         filenamecat: split into filenamecat-lgpl
43882         * modules/filenamecat-lgpl: New module.
43883         * modules/filenamecat (Files): Move library-safe files into
43884         filenamecat-lgpl.
43885         (Depends-on): Add filenamecat-lgpl.
43886         (configure.ac): Declare witness.
43887         * lib/filenamecat.h (file_name_concat): Only declare when using
43888         GPL module.
43889         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43890         Move...
43891         * lib/filenamecat-lgpl.c: ...into new file.
43892         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43893         (gl_FILE_NAME_CONCAT): Use it.
43894         * MODULES.html.sh (File system functions): Mention new module.
43895
43896         argp: avoid memory leak
43897         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43898         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43899         base_name, since the latter malloc()s and can call exit().
43900         Leak introduced 2006-07-03.
43901
43902         dirname-lgpl: adjust clients that don't need full dirname
43903         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43904         * modules/filenamecat (Depends-on): Likewise.
43905         * modules/linkat (Depends-on): Likewise.
43906         * modules/mkancesdirs (Depends-on): Likewise.
43907         * modules/mkdir (Depends-on): Likewise.
43908         * modules/openat (Depends-on): Likewise.
43909         * modules/savewd (Depends-on): Likewise.
43910         * modules/rename (Depends-on): Likewise.
43911         (License): Relax license.
43912         * modules/mkdir-tests (Depends-on): Drop progname.
43913         (Makefile.am): Delete unneeded LDADD.
43914         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43915
43916         dirname: split into dirname-lgpl
43917         * modules/dirname-lgpl: New module.
43918         * modules/dirname (Files): Move library-safe files into
43919         dirname-lgpl.
43920         (Depends-on): Add dirname-lgpl.
43921         (configure.ac): Declare witness.
43922         * modules/double-slash-root (License): Relax license.
43923         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43924         module.
43925         * lib/dirname.c (dir_len, mdir_name): Move...
43926         * lib/dirname-lgpl.c: ...into new file.
43927         * lib/basename.c (last_component, base_len): Move...
43928         * lib/basename-lgpl.c: ...into new file.
43929         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43930         (gl_DIRNAME): Use it.
43931         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43932         Mention new module.
43933         * modules/dirname-tests (Depends-on): Add progname.
43934         * tests/test-dirname.c (program_name): Delete.
43935
43936         mkdir: make safe for libraries
43937         * modules/mkdir (Depends-on): Drop xalloc.
43938         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43939         exit.
43940
43941         tests: avoid some compiler warnings
43942         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43943         literals.
43944         * tests/test-memchr.c (main): Avoid type mismatch.
43945         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43946         * tests/test-base64.c (main): Likewise.
43947         * tests/test-getdelim.c (main): Likewise.
43948         * tests/test-gethostname.c (main): Likewise.
43949         * tests/test-getline.c (main): Likewise.
43950         * tests/test-netinet_in.c (main): Likewise.
43951         * tests/test-select.c (open_server_socket, main): Likewise.
43952         * tests/test-select-stdin.c (main): Likewise.
43953         * tests/test-sockets.c (main): Likewise.
43954         * tests/test-strsignal.c (main): Likewise.
43955         * tests/test-sys_select.c (main): Likewise.
43956         * tests/test-sys_socket.c (main): Likewise.
43957         * tests/test-u64.c (main): Likewise.
43958         * tests/test-xfprintf-posix.c (main): Likewise.
43959         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43960
43961         sockets: avoid compiler warning
43962         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43963
43964         maint: detect usage(1) and other suspicious exits
43965         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43966
43967 2009-10-29  Jim Meyering  <meyering@redhat.com>
43968
43969         timespec: long-to-int truncation could make timespec_cmp malfunction
43970         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43971         a multiple of 2^32 nanoseconds as no difference.
43972
43973 2009-10-28  Jim Meyering  <meyering@redhat.com>
43974
43975         fprintftime: wrap macro code argument in "do {...} while(0)"
43976         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43977         cpy macro must be a statement that can be followed by a semicolon.
43978         Now that the else clause contains a comment and is hence longer
43979         than one line, I require curly braces.  That in turn requires
43980         that we wrap this code block in the standard do...while(0).
43981
43982         fprintftime: remove stray semicolon from previous change
43983         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43984
43985         fprintftime: avoid a warning about ignored fwrite return value
43986         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43987         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43988         that is unsafe.
43989         * modules/fprintftime (Depends-on): Add ignore-value.
43990
43991         exclude: avoid an unwarranted warning
43992         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43993
43994 2009-10-27  Eric Blake  <ebb9@byu.net>
43995
43996         fseek: avoid compilation failure when fflush is replaced
43997         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43998         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43999         module is in use.
44000         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
44001         module is not in use; since REPLACE_FSEEK worked otherwise.
44002         (GNULIB_FTELLO): Likewise for ftell.
44003         Reported by Ian Beckwith and others.
44004
44005 2009-10-27  Bruno Haible  <bruno@clisp.org>
44006
44007         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
44008         Reported by Jim Meyering.
44009
44010 2009-10-27  Jim Meyering  <jim@meyering.net>
44011             Bruno Haible  <bruno@clisp.org>
44012
44013         Avoid warning despite dropping the return value of fwrite.
44014         * lib/unicodeio.c: Include ignore-value.h.
44015         (fwrite_success_callback): Explicitly ignore fwrite's return value.
44016         * modules/unicodeio (Depends-on): Add ignore-value.
44017
44018 2009-10-26  Eric Blake  <ebb9@byu.net>
44019
44020         areadlinkat: fix fallback path
44021         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
44022         pointer and zero.
44023
44024 2009-10-22  Pádraig Brady  <P@draigBrady.com>
44025
44026         Use a better IO block size for modern systems
44027         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
44028         * lib/md2.c: Likewise.
44029         * lib/md4.c: Likewise.
44030         * lib/md5.c: Likewise.
44031         * lib/sha1.c: Likewise.
44032         * lib/sha256.c: Likewise.
44033         * lib/sha512.c: Likewise.
44034
44035 2009-10-22  Eric Blake  <ebb9@byu.net>
44036
44037         tests: avoid several compiler warnings
44038         * tests/test-getcwd.c (main): Avoid buffer underflow.
44039         * tests/test-getdate.c (main): String literals are not safe with
44040         putenv, so use setenv.  Declare unused argument.
44041         * modules/getdate-tests (Depends-on): Add setenv.
44042         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
44043         problems with string literals in char *.
44044         * tests/test-hash.c (main): Avoid shadowing declaration.
44045         (insert_new): Treat string literals as char const *.
44046         * tests/test-getopt.h (test_getopt): Likewise.
44047         (getopt_loop): Alter types to minimize casting elsewhere.
44048         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
44049         (test_getopt_long_posix): Likewise.
44050         (do_getopt_long): Add wrapper to minimize casting.
44051         * tests/test-atexit.c (clear_temp_file): Use void.
44052         * tests/test-areadlink-with-size.c (main): Declare unused
44053         arguments.
44054         * tests/test-areadlink.c (main): Likewise.
44055         * tests/test-areadlinkat-with-size.c (main): Likewise.
44056         * tests/test-areadlinkat.c (main): Likewise.
44057         * tests/test-canonicalize-lgpl.c (main): Likewise.
44058         * tests/test-canonicalize.c (main): Likewise.
44059         * tests/test-dirent-safer.c (main): Likewise.
44060         * tests/test-dirname.c (main): Likewise.
44061         * tests/test-dup2.c (main): Likewise.
44062         * tests/test-fchdir.c (main): Likewise.
44063         * tests/test-fcntl-h.c (main): Likewise.
44064         * tests/test-fcntl-safer.c (main): Likewise.
44065         * tests/test-fdopendir.c (main): Likewise.
44066         * tests/test-fdutimensat.c (main): Likewise.
44067         * tests/test-fflush.c (main): Likewise.
44068         * tests/test-filenamecat.c (main): Likewise.
44069         * tests/test-filevercmp.c (main): Likewise.
44070         * tests/test-fopen-safer.c (main): Likewise.
44071         * tests/test-fopen.c (main): Likewise.
44072         * tests/test-fpending.c (main): Likewise.
44073         * tests/test-fpurge.c (main): Likewise.
44074         * tests/test-freading.c (main): Likewise.
44075         * tests/test-fstatat.c (main): Likewise.
44076         * tests/test-fsync.c (main): Likewise.
44077         * tests/test-futimens.c (main): Likewise.
44078         * tests/test-getndelim2.c (main): Likewise.
44079         * tests/test-gettimeofday.c (main): Likewise.
44080         * tests/test-getopt.c (main): Likewise.
44081         * tests/test-i-ring.c (main): Likewise.
44082         * tests/test-inttypes.c (main): Likewise.
44083         * tests/test-link.c (main): Likewise.
44084         * tests/test-lstat.c (main): Likewise.
44085         * tests/test-math.c (main): Likewise.
44086         * tests/test-md5.c (main): Likewise.
44087         * tests/test-memchr2.c (main): Likewise.
44088         * tests/test-memrchr.c (main): Likewise.
44089         * tests/test-mkdir.c (main): Likewise.
44090         * tests/test-mkdirat.c (main): Likewise.
44091         * tests/test-mkfifoat.c (main): Likewise.
44092         * tests/test-open.c (main): Likewise.
44093         * tests/test-openat-safer.c (main): Likewise.
44094         * tests/test-openat.c (main): Likewise.
44095         * tests/test-quotearg.c (main): Likewise.
44096         * tests/test-rawmemchr.c (main): Likewise.
44097         * tests/test-readlink.c (main): Likewise.
44098         * tests/test-remove.c (main): Likewise.
44099         * tests/test-rename.c (main): Likewise.
44100         * tests/test-renameat.c (main): Likewise.
44101         * tests/test-rmdir.c (main): Likewise.
44102         * tests/test-sha1.c (main): Likewise.
44103         * tests/test-signal.c (main): Likewise.
44104         * tests/test-sigaction.c (main): Likewise.
44105         * tests/test-stat.c (main): Likewise.
44106         * tests/test-stat-time.c (main): Likewise.
44107         * tests/test-stddef.c (main): Likewise.
44108         * tests/test-stdint.c (main): Likewise.
44109         * tests/test-stdio.c (main): Likewise.
44110         * tests/test-stdlib.c (main): Likewise.
44111         * tests/test-strchrnul.c (main): Likewise.
44112         * tests/test-strerror.c (main): Likewise.
44113         * tests/test-string.c (main): Likewise.
44114         * tests/test-strtod.c (main): Likewise.
44115         * tests/test-strverscmp.c (main): Likewise.
44116         * tests/test-symlink.c (main): Likewise.
44117         * tests/test-symlinkat.c (main): Likewise.
44118         * tests/test-sys_stat.c (main): Likewise.
44119         * tests/test-sys_time.c (main): Likewise.
44120         * tests/test-time.c (main): Likewise.
44121         * tests/test-unistd.c (main): Likewise.
44122         * tests/test-unlink.c (main): Likewise.
44123         * tests/test-unlinkat.c (main): Likewise.
44124         * tests/test-utimens.c (main): Likewise.
44125         * tests/test-utimensat.c (main): Likewise.
44126         * tests/test-version-etc.c (main): Likewise.
44127         * tests/test-wchar.c (main): Likewise.
44128         * tests/test-wctype.c (main): Likewise.
44129         * tests/test-xprintf-posix.c (main): Likewise.
44130         * tests/test-posixtm.c (main): Likewise.
44131         (STREQ): Delete unused macro.
44132         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
44133         shadowed variables.
44134         * tests/test-memchr.c (main): Likewise.
44135
44136 2009-10-21  Eric Blake  <ebb9@byu.net>
44137
44138         areadlinkat: avoid failure on older glibc
44139         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
44140         rather than mis-comparing 0 against FUNC_RESULT of char*.
44141
44142 2009-10-21  Bruno Haible  <bruno@clisp.org>
44143
44144         * modules/stpncpy (License): Relicense under LGPLv2+.
44145         Reported by David Lutterkort <lutter@redhat.com>.
44146
44147 2009-10-20  Eric Blake  <ebb9@byu.net>
44148
44149         utimensat: work around Solaris 9 bug
44150         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
44151         has trailing slash bugs.
44152         * tests/test-lutimens.h (test_lutimens): Enhance test.
44153         * tests/test-utimens.h (test_utimens): Likewise.
44154         * doc/posix-functions/utime.texi (utime): Enhance documentation.
44155         * doc/posix-functions/utimes.texi (utimes): Likewise.
44156         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44157         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
44158         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
44159         * doc/posix-functions/futimens.texi (futimens): Likewise.
44160
44161         fdutimensat: new module
44162         * modules/fdutimensat: New file.
44163         * lib/fdutimensat.c (fdutimensat): Likewise.
44164         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
44165         * MODULES.html.sh (File system functions): Mention module.
44166         * modules/fdutimensat-tests: New test.
44167         * tests/test-fdutimensat.c: Likewise.
44168
44169         doc: regenerate INSTALL
44170         * doc/INSTALL: Reflect recent autoconf update.
44171         * doc/INSTALL.ISO: Likewise.
44172         * doc/INSTALL.UTF-8: Likewise.
44173
44174 2009-10-20  Pádraig Brady  <P@draigBrady.com>
44175
44176         acl: warn if ACL support is not detected
44177         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
44178
44179 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
44180
44181         * lib/nproc.h: Add extern "C" block for C++.
44182
44183 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
44184             Bruno Haible  <bruno@clisp.org>
44185
44186         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
44187         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
44188         * doc/posix-functions/isalpha.texi: Likewise.
44189         * doc/posix-functions/isblank.texi: Likewise.
44190         * doc/posix-functions/iscntrl.texi: Likewise.
44191         * doc/posix-functions/isdigit.texi: Likewise.
44192         * doc/posix-functions/isgraph.texi: Likewise.
44193         * doc/posix-functions/islower.texi: Likewise.
44194         * doc/posix-functions/isprint.texi: Likewise.
44195         * doc/posix-functions/ispunct.texi: Likewise.
44196         * doc/posix-functions/isspace.texi: Likewise.
44197         * doc/posix-functions/isupper.texi: Likewise.
44198         * doc/posix-functions/isxdigit.texi: Likewise.
44199
44200 2009-10-18  Bruno Haible  <bruno@clisp.org>
44201
44202         Tests for module 'isblank'.
44203         * modules/isblank-tests: New file.
44204         * tests/test-isblank.c: New file.
44205
44206         New module 'isblank'.
44207         * lib/isblank.c: New file.
44208         * m4/isblank.m4: New file.
44209         * modules/isblank: New file.
44210         * doc/posix-functions/isblank.texi: Mention the new module.
44211
44212 2009-10-18  Bruno Haible  <bruno@clisp.org>
44213
44214         New module 'ctype'.
44215         * lib/ctype.in.h: New file.
44216         * m4/ctype.m4: New file.
44217         * modules/ctype: New file.
44218         * doc/posix-headers/ctype.texi: Mention the new module.
44219
44220 2009-10-18  Jim Meyering  <meyering@redhat.com>
44221
44222         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
44223         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
44224         right after its initialization, rather than farther down.
44225         Keeping these in close proximity makes it easier to ensure
44226         that each such variable is initialized.  E.g.,
44227
44228             LIB_CLOCK_GETTIME=
44229             AC_SUBST([LIB_CLOCK_GETTIME])
44230
44231         This change also increments these serial numbers.
44232         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
44233         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44234         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44235
44236 2009-10-18  Bruno Haible  <bruno@clisp.org>
44237
44238         Don't let environment variables perturb build.
44239         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
44240         (gl_PREREQ_GETHRXTIME): ... not here.
44241
44242 2009-10-18  Bruno Haible  <bruno@clisp.org>
44243
44244         Avoid symlink attack in localcharset module.
44245         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
44246         (O_NOFOLLOW): Define fallback.
44247         (get_charset_aliases): Don't open the file if it is a symbolic link.
44248         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
44249         gl_FCNTL_H.
44250         (gl_FCNTL_H): Require it.
44251         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
44252         * modules/localcharset (Files): Add m4/fcntl_h.m4.
44253         Reported by Fergal Glynn <fglynn@veracode.com>.
44254
44255 2009-10-18  Bruno Haible  <bruno@clisp.org>
44256
44257         Implement nproc for mingw.
44258         * lib/nproc.c: Include <windows.h>
44259         (num_processors): On native Windows platforms, try GetSystemInfo.
44260
44261 2009-10-18  Bruno Haible  <bruno@clisp.org>
44262
44263         Implement nproc for IRIX.
44264         * lib/nproc.c: Include <sys/sysmp.h>.
44265         (num_processors): On IRIX systems, try sysmp.
44266         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
44267
44268 2009-10-18  Bruno Haible  <bruno@clisp.org>
44269
44270         Implement nproc for HP-UX.
44271         * lib/nproc.c: Include <sys/pstat.h>
44272         (num_processors): On HP-UX systems, try pstat_getdynamic.
44273         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
44274         pstat_getdynamic.
44275
44276 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
44277             Bruno Haible  <bruno@clisp.org>
44278
44279         Implement nproc for NetBSD, OpenBSD.
44280         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
44281         (ARRAY_SIZE): New macro.
44282         (num_processors): On BSD systems, try sysctl of HW_NCPU.
44283         * m4/nproc.m4: New file.
44284         * modules/nproc (Files): Add m4/nproc.m4.
44285         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
44286         (Makefile.am): Instead, augment lib_SOURCES.
44287
44288 2009-10-18  Bruno Haible  <bruno@clisp.org>
44289
44290         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
44291         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
44292         sys/param.h.
44293
44294 2009-10-16  Eric Blake  <ebb9@byu.net>
44295
44296         utimensat: new module
44297         * modules/utimensat: New file.
44298         * lib/utimensat.c (utimensat): Likewise.
44299         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
44300         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
44301         so we can work around Linux bugs.
44302         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44303         * modules/sys_stat (Makefile.am): Substitute them.
44304         * lib/sys_stat.in.h (utimensat): Declare it.
44305         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44306         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44307         * modules/utimensat-tests: New test.
44308         * tests/test-utimensat.c: Likewise.
44309
44310         utimens: let lutimens work on non-symlinks
44311         * lib/utimens.c (lutimens): Fall back to utimens rather than
44312         failing with ENOSYS, when file is not a symlink.
44313         (utimens): Reduce redirection.
44314         * tests/test-lutimens.h (test_lutimens): Update test to cover
44315         non-symlinks.
44316         * tests/test-utimens.h (test_utimens): Update test to cover
44317         symlinks.
44318         * tests/test-utimens.c (main): Update caller.
44319
44320         utimens: cache whether utimensat syscall works
44321         * lib/utimens.c (utimensat_works_really): New cache variable.
44322         (fdutimens, lutimens): Use it to avoid failing syscall.
44323
44324         test-stat-time, test-utimens: improve portability
44325         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
44326         ext4 on alpha, and for cygwin.
44327         * tests/test-utimens-common.h: New file.
44328         (nap): Factor delays into single function.
44329         * tests/test-lutimens.h (test_lutimens): Use new header.
44330         * tests/test-futimens.h (test_futimens): Likewise.
44331         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
44332         timestamps to occur from same machine, as was done previously for
44333         test_utimens.
44334         * modules/utimens-tests (Files): Ship new file.
44335         * modules/futimens-tests (Files): Likewise.
44336         Reported in part by Jim Meyering.
44337
44338         sys_stat: sort replacement declarations
44339         * lib/sys_stat.in.h: Sort declarations.
44340         * lib/futimens.c (futimens): Fix typo.
44341
44342 2009-10-15  Jim Meyering  <meyering@redhat.com>
44343
44344         don't let environment settings perturb build
44345         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
44346         could cause a configure-time and/or build-time malfunction.
44347         Typically, a configure-time function-in-library test is performed
44348         via code like this:
44349
44350           LIB_VAR=
44351           AC_SUBST([LIB_VAR])
44352           prefix_saved_LIBS=$LIBS
44353             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
44354                        [test "$ac_cv_search_FUNC" = "none required" ||
44355                         LIB_VAR=$ac_cv_search_FUNC])
44356           LIBS=$prefix_saved_LIBS
44357
44358         However, in each of the files affected by this change, the LIB_VAR=
44359         initialization was omitted.  Thus, when set in the environment, its
44360         value would propagate into generated Makefiles when FUNC is not found
44361         in LIB_NAME.
44362         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
44363         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44364         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44365
44366 2009-10-14  Eric Blake  <ebb9@byu.net>
44367
44368         fchdir: avoid infinite recursion in mingw
44369         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
44370         recursing.
44371
44372         test-stat-time: port to mingw
44373         * tests/test-stat-time.c (force_unlink): Return a value.
44374         (test_ctime) [W32]: Fix compilation error.
44375         (nap): Don't call usleep with too large an argument.  Use
44376         force_unlink.
44377         * doc/pastposix-functions/usleep.texi (usleep): Document the
44378         portability issue.
44379
44380 2009-10-13  Jim Meyering  <meyering@redhat.com>
44381
44382         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
44383         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
44384         * modules/pipe-filter-ii: Likewise.
44385         * modules/sys_socket-tests: Likewise.
44386         * modules/tsearch-tests: Likewise.
44387         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
44388         (check): Depend on it.
44389
44390 2009-10-12  Eric Blake  <ebb9@byu.net>
44391
44392         utimens-tests: port to NFS file systems
44393         * tests/test-utimens.h (test_utimens): Refactor utimecmp
44394         comparisons to avoid spurious failures from timestamp drift
44395         between NFS machines.
44396
44397 2009-10-12  Eric Blake  <ebb9@byu.net>
44398
44399         stat-time-tests: minor cleanups
44400         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
44401         * tests/test-stat-time.c (nap): Separate assignment from call.
44402         Suggested by Paolo Bonzini and Bruno Haible.
44403
44404         sys_stat: guarantee struct timespec
44405         * lib/sys_stat.in.h (includes): Always include <time.h>
44406         * modules/sys_stat (Depends-on): Add time.
44407         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
44408         mode_t permission values.
44409         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
44410         get at subsecond timestamps.
44411
44412 2009-10-10  Eric Blake  <ebb9@byu.net>
44413
44414         futimens: new module
44415         * modules/futimens: New file.
44416         * lib/futimens.c (futimens): Likewise.
44417         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
44418         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
44419         we can work around Linux bugs.
44420         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44421         * modules/sys_stat (Makefile.am): Substitute them.
44422         * lib/sys_stat.in.h (futimens): Declare it.
44423         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44424         * doc/posix-functions/futimens.texi (futimens): Likewise.
44425         * modules/futimens-tests: New test.
44426         * tests/test-futimens.c: Likewise.
44427
44428         utimens: introduce fdutimens
44429         * lib/utimens.h (fdutimens): New prototype.
44430         * lib/utimens.c (gl_futimens): Move guts...
44431         (fdutimens): ...to new interface.
44432         * tests/test-utimens.c (do_fdutimens): Use it.
44433
44434         utimens: add UTIME_NOW and UTIME_OMIT support
44435         * lib/utimens.c (validate_timespec, update_timespec): New helper
44436         functions.
44437         (gl_futimens, lutimens): Use them.
44438         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
44439         stdbool, sys_stat.
44440         (Link): Mention resulting library dependency.
44441         * modules/utimecmp (Link): Likewise.
44442         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
44443         (Makefile.am): Pick up library dependency.
44444         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
44445         definition.
44446         * tests/test-sys_stat.c: Test the definitions.
44447         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
44448         * NEWS: Document library dependency.
44449
44450         utimecmp: support symlink timestamps
44451         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
44452         hashing when possible.  Use pathconf when available.
44453         (SYSCALL_RESOLUTION): Recognize tighter resolution.
44454         * modules/utimecmp (Depends-on): Add lstat.
44455
44456         utimens: add lutimens interface
44457         * lib/utimens.c (lutimens): New function.
44458         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44459         * lib/utimens.h (lutimens): Declare new interface.
44460         * tests/test-utimens.c (main): Enhance test.
44461         * tests/test-lutimens.h (test_lutimens): New file.
44462         * modules/utimens-tests (Files): Distribute it.
44463         (Depends-on): Add symlink.
44464         (configure.ac): Check for usleep.
44465
44466         utimens: validate futimens usage
44467         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44468         fewer syscalls on failure later on.  Avoid compiler warning on
44469         mingw.
44470         * modules/utimens (Depends-on): Add dup2.
44471
44472         utimens: add test
44473         * modules/utimens-tests: New test.
44474         * tests/test-utimens.h: New file.
44475         * tests/test-futimens.h: Likewise.
44476         * tests/test-utimens.c: Likewise.
44477
44478         doc: mention timestamp portability issues
44479         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44480         instead.
44481         * doc/posix-functions/utime.texi (utime): Likewise.
44482         * doc/posix-functions/utimes.texi (utimes): Likewise.
44483         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44484         instead.
44485         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44486         module.
44487         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44488         Mention weakness with symlink timestamps.
44489         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44490         to utimensat/futimens instead.
44491         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44492
44493         test-dup2: enhance test
44494         * tests/test-dup2.c (main): Also check AT_FDCWD.
44495
44496         test-stat-time: avoid more spurious failures
44497         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44498         xfs; and avoid race if the two timestamps cross quantization edge.
44499
44500         relocatable: prefer 'file system' over 'filesystem'
44501         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44502         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44503         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44504         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44505         * lib/relocatable.c (compute_curr_prefix): Likewise.
44506
44507 2009-10-10  Jim Meyering  <meyering@redhat.com>
44508
44509         stat-time-tests: check for the usleep function
44510         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44511
44512 2009-10-10  Bruno Haible  <bruno@clisp.org>
44513
44514         * modules/xnanosleep: Put the Link section after the Include section.
44515
44516 2009-10-09  Eric Blake  <ebb9@byu.net>
44517
44518         dup2: work around FreeBSD 6.1 bug
44519         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44520         * doc/posix-functions/dup2.texi (dup2): Document it.
44521         Reported by Nelson H. F. Beebe and Jim Meyering.
44522
44523         test-stat-time: port to buggy NFS clients
44524         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44525         (test_ctime): Also skip test if mtime and ctime are skewed.
44526
44527         maint: prefer 'file system' over 'filesystem'
44528         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44529         * doc/posix-functions/lstat.texi (lstat): Likewise.
44530         * lib/file-has-acl.c (file_has_acl): Likewise.
44531         * lib/fwriteerror.c [TEST]: Likewise.
44532         * tests/test-areadlink.h (test_areadlink): Likewise.
44533         * tests/test-areadlinkat-with-size.c (main): Likewise.
44534         * tests/test-areadlinkat.c (main): Likewise.
44535         * tests/test-canonicalize-lgpl.c (main): Likewise.
44536         * tests/test-canonicalize.c (main): Likewise.
44537         * tests/test-fstatat.c (main): Likewise.
44538         * tests/test-linkat.c (main): Likewise.
44539         * tests/test-lstat.h (test_lstat_func): Likewise.
44540         * tests/test-mkdir.h (test_mkdir): Likewise.
44541         * tests/test-readlink.h (test_readlink): Likewise.
44542         * tests/test-remove.c (main): Likewise.
44543         * tests/test-rename.h (test_rename): Likewise.
44544         * tests/test-renameat.c (main): Likewise.
44545         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44546         * tests/test-symlink.h (test_symlink): Likewise.
44547         * tests/test-symlinkat.c (main): Likewise.
44548         * tests/test-unlink.h (test_unlink_func): Likewise.
44549         * tests/test-unlinkat.c (main): Likewise.
44550
44551         maint: make realtime library usage explicit
44552         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44553         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44554         * modules/settime (Link): Likewise.
44555         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44556
44557         test-stat-time: speed up execution
44558         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44559         warning on mingw.
44560         (nap): New helper function.
44561         (prepare_test): Use it to reduce sleep time.
44562         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44563         execution.
44564         * modules/stat-time-tests (configure.ac): Check for usleep.
44565
44566 2009-10-09  Jim Meyering  <meyering@redhat.com>
44567
44568         selinux-h: always use getfilecon wrappers
44569         * lib/getfilecon.c: New file.
44570         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44571         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44572         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44573         (fgetfilecon): Provide a stub.
44574         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44575         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44576         file unconditionally.
44577         When <selinux/selinux.h> is found, arrange to use wrappers.
44578         * modules/selinux-h (Files): Add getfilecon.c.
44579         (Makefile.am): Substitute include-next-related bits
44580         into the now-always-generated selinux/selinux.h file.
44581         * doc/glibc-functions/lgetfilecon.texi: New file.
44582         * doc/glibc-functions/fgetfilecon.texi: New file.
44583         * doc/glibc-functions/getfilecon.texi: New file.
44584         * doc/glibc-functions/getfilecon-desc.texi: New file.
44585         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44586         which to pull in the new files.
44587         * MODULES.html.sh (Misc): Add selinux-h.
44588
44589 2009-10-08  Jim Meyering  <meyering@redhat.com>
44590
44591         unistd: fix comment typo
44592         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44593
44594 2009-10-08  Eric Blake  <ebb9@byu.net>
44595
44596         areadlink: use SIZE_MAX consistently
44597         * modules/areadlink (Depends-on): Add stdint.
44598         * modules/areadlink-with-size (Depends-on): Likewise.
44599         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44600         gives NULL; drop sys/types, since unistd gives size_t; and add
44601         stdint for SIZE_MAX.
44602         (SIZE_MAX): Rely on headers.
44603         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44604         and add stdint.
44605         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44606         (SIZE_MAX): Likewise.
44607         (INITIAL_BUF_SIZE): Turn into enum.
44608         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44609
44610 2009-10-08  Jim Meyering  <meyering@redhat.com>
44611
44612         areadlinkat: avoid compilation failure
44613         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44614         Fix typo in comment.
44615
44616 2009-10-07  Eric Blake  <ebb9@byu.net>
44617
44618         areadlinkat-with-size: new module
44619         * modules/areadlinkat-with-size: New module.
44620         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44621         * lib/areadlink.h (areadlinkat): Declare it.
44622         * MODULES.html.sh (File system functions): Mention it.
44623         * modules/areadlinkat-with-size-tests: New test.
44624         * tests/test-areadlinkat-with-size.c: New file.
44625
44626         xreadlinkat: new module
44627         * modules/xreadlinkat: New module.
44628         * lib/xreadlinkat.c (xreadlinkat): New file.
44629         * lib/xreadlink.h (xreadlinkat): Declare it.
44630         * MODULES.html.sh (File system functions): Mention it.
44631
44632         areadlinkat: new module
44633         * lib/at-func.c (FUNC_FAIL): New define.
44634         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44635         * modules/areadlinkat: New module.
44636         * lib/linkat.c (areadlinkat): Move...
44637         * lib/areadlinkat.c (areadlinkat): ...to new file.
44638         * lib/areadlink.h (areadlinkat): Declare it.
44639         * modules/linkat (Depends-on): Add areadlinkat.
44640         * MODULES.html.sh (File system functions): Mention it.
44641         * modules/areadlinkat-tests: New test.
44642         * tests/test-areadlinkat.c: New file.
44643
44644         areadlink, areadlink-with-size: add tests
44645         * modules/areadlink-tests: New test.
44646         * modules/areadlink-with-size-tests: Likewise.
44647         * tests/test-areadlink.h: New file.
44648         * tests/test-areadlink.c: Likewise.
44649         * tests/test-areadlink-with-size.c: Likewise.
44650
44651         maint: minor cleanups
44652         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44653         _UNUSED_PARAMETER_ instead.
44654         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44655         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44656         * modules/linkat-tests (Files): Distribute test-link.h.
44657
44658         openat, utimens: whitespace cleanup
44659         * lib/openat.c: Prefer space throughout, rather than mix of 8
44660         spaces vs. tabs.
44661         * lib/at-func.c: Likewise.
44662         * lib/utimens.c: Likewise.
44663
44664         openat: avoid using wrong fd
44665         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44666         working directory chooses same fd.
44667         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44668
44669         mkdir, mkdirat: fix cygwin 1.5.x bug
44670         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44671         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44672         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44673         bug.
44674         (gl_PREREQ_MKDIR): Delete unused macro.
44675         * modules/mkdir (Files): Track file rename.
44676         (configure.ac): Update macro name.
44677         * modules/openat (Depends-on): Add mkdir.
44678         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44679
44680         mkdir, mkdirat: add tests
44681         * modules/mkdir-tests: New test.
44682         * tests/test-mkdir.h: New file.
44683         * tests/test-mkdir.c: Likewise.
44684         * tests/test-mkdirat.c: Likewise.
44685         * modules/openat-tests (Files): Add new files.
44686         (Makefile.am): Run new test.
44687
44688 2009-10-06  Eric Blake  <ebb9@byu.net>
44689
44690         doc: tweak *at function documentation
44691         * doc/posix-functions/faccessat.texi (faccessat): Mention
44692         known issue with replacement.
44693         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44694         * doc/posix-functions/linkat.texi (linkat): Likewise.
44695         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44696         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44697         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44698         * doc/posix-functions/renameat.texi (renameat): Likewise.
44699         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44700
44701         openat: fix GNU/Hurd bug in unlinkat
44702         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44703         broken.
44704         * doc/posix-functions/unlink.texi (unlink): Document this.
44705         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44706
44707         fdopendir: fix GNU/Hurd bug
44708         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44709         allowing non-directory fds.
44710         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44711         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44712         * modules/dirent (Makefile.am): Substitute it.
44713         * lib/dirent.in.h (fdopendir): Declare replacement.
44714         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44715         * tests/test-fdopendir.c (main): Test something other than
44716         /dev/null, since on Hurd that behaves like a directory.
44717
44718         test-symlink: port to GNU/Hurd
44719         * tests/test-symlink.h (test_symlink): Relax expected errno.
44720
44721         doc: tweak more cygwin information
44722         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44723         now compatible with glibc.
44724         * doc/posix-functions/getopt.texi (getopt): Likewise.
44725
44726         getopt-gnu: add another test
44727         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44728         guarantee behavior relied on by m4.
44729         * tests/test-getopt.c (main): Use it.
44730         * modules/getopt-posix-tests (Depends-on): Add setenv.
44731         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44732
44733         getopt: fix compilation on darwin
44734         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44735         include.
44736         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44737         Reported by Ludovic Courtès.
44738
44739 2009-10-06  Bruno Haible  <bruno@clisp.org>
44740
44741         * modules/size_max (Description): Discourage its use.
44742         Reported by Simon Josefsson.
44743
44744 2009-10-06  Jim Meyering  <meyering@redhat.com>
44745
44746         linkat: avoid compilation failure
44747         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44748
44749 2009-10-05  Eric Blake  <ebb9@byu.net>
44750
44751         linkat: support Linux 2.6.17
44752         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44753         linkat on Linux, but allow cache variable override.
44754         * lib/linkat.c (rpl_linkat): Define override.
44755         * modules/linkat (Depends-on): Add symlinkat.
44756         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44757         * modules/unistd (Makefile.am): Substitute it.
44758         * lib/unistd.in.h (linkat): Declare replacement.
44759         Reported by Pádraig Brady.
44760
44761         quotearg: port test to systems with C.UTF-8 locale
44762         * tests/test-quotearg.c (struct result_strings): Add another
44763         member, differentiating between C.ASCII and C.UTF-8 handling.
44764         (compare_strings): Add parameter.
44765         (main): Adjust all callers.
44766
44767         getopt: avoid clash with FreeBSD _getopt_internal
44768         * lib/getopt.in.h (_getopt_internal): Override the name.
44769         * lib/getopt_int.h (includes): Pick up any overrides.
44770         Reported by Reuben Thomas.
44771
44772         hash: allow C89 compilation
44773         * lib/hash.c (check_tuning): Move declaration before statement.
44774         Reported by Reuben Thomas.
44775
44776 2009-10-05  Karl Berry  <karl@gnu.org>
44777
44778         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44779
44780 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44781             Bruno Haible  <bruno@clisp.org>
44782
44783         * lib/uname.c (uname): Use a table-driven algorithm to compute
44784         Windows NT versions.
44785
44786 2009-10-04  Bruno Haible  <bruno@clisp.org>
44787
44788         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44789         program_invocation_short_name.
44790         * modules/progname (configure.ac): Test for presence of
44791         program_invocation_short_name.
44792         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44793
44794 2009-10-04  Bruno Haible  <bruno@clisp.org>
44795
44796         * lib/progname.c (set_program_name): Fix comment.
44797         Reported by Jim Meyering.
44798
44799 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44800             Bruno Haible  <bruno@clisp.org>
44801
44802         * lib/uname.c: Include <string.h>.
44803         (uname): Do only one call to GetVersionEx in the common case.
44804
44805 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44806             Bruno Haible  <bruno@clisp.org>
44807
44808         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44809         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44810         (uname): Add support for Windows CE and various non-x86 CPU types.
44811
44812 2009-10-03  Bruno Haible  <bruno@clisp.org>
44813
44814         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44815         invocation to tests/configure.ac.
44816         Reported by Ian Beckwith <ianb@erislabs.net>.
44817
44818 2009-10-02  Eric Blake  <ebb9@byu.net>
44819
44820         fchdir: avoid compiler warning
44821         * lib/fchdir.c (canonicalize_file_name)
44822         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44823
44824         test-open: support mingw errno values
44825         * tests/test-open.h (test_open): Relax test.
44826         * tests/test-fopen.h (test_fopen): Likewise.
44827         * tests/test-openat-safer.c (main): Likewise.
44828
44829         open: fix opening directory on mingw
44830         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44831
44832         test-open: on GNU/Hurd, /dev/null is a directory
44833         * tests/test-fopen.h (main): Rename...
44834         (test_fopen): ...to this.  Use a guaranteed non-directory when
44835         confirming open behavior on trailing slash.
44836         * tests/test-openat-safer.c (main): Likewise.
44837         * tests/test-open.h (main): Likewise....
44838         (test_open): ...to this.
44839         * tests/test-fopen.c (main): Adjust caller.
44840         * tests/test-fopen-safer.c (main): Likewise.
44841         * tests/test-open.c (main): Likewise.
44842         * tests/test-fcntl-safer.c (main): Likewise.
44843         Reported by Samuel Thibault.
44844
44845         rename, fchdir: don't ignore chdir failure
44846         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44847         * lib/rename.c (rpl_rename) [W32]: Likewise.
44848         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44849         an empty destination directory if source cannot be renamed,
44850         although there is still possibility for failure.
44851         * doc/posix-functions/rename.texi (rename): Document the race.
44852         Reported by Jim Meyering.
44853
44854         maint: cleanup whitespace in recent commits
44855         * lib/rename.c (rpl_rename): Remove tabs.
44856         * tests/test-link.h (test_link): Likewise.
44857         * lib/fchdir.c (get_name): Likewise.
44858         Reported by Jim Meyering.
44859
44860 2009-10-02  Ben Pfaff  <blp@gnu.org>
44861
44862         relocatable-prog-wrapper: Add missing dependency on
44863         double-slash-root.
44864         * modules/relocatable-prog-wrapper: Add dependency.
44865         Reported by Ian Beckwith <ianb@erislabs.net>.
44866
44867 2009-10-02  Eric Blake  <ebb9@byu.net>
44868
44869         renameat: fix Solaris bugs
44870         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44871         needed fixing.
44872         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44873         * modules/stdio (Makefile.am): Substitute it.
44874         * lib/stdio.in.h (renameat): Declare replacement.
44875         * lib/renameat.c (rpl_renameat): Implement fix.
44876
44877         renameat: new module
44878         * modules/renameat: New file.
44879         * lib/renameat.c (renameat): Likewise.
44880         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44882         * modules/stdio (Makefile.am): Substitute them.
44883         * lib/stdio.in.h (renameat): Declare it.
44884         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44885         * doc/posix-functions/renameat.texi (renameat): Likewise.
44886         * modules/renameat-tests: New test.
44887         * tests/test-renameat.c: Likewise.
44888
44889         rename: fix mingw bugs
44890         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44891         directory overwrite bugs.
44892
44893         rename: fix another cygwin 1.5 bug
44894         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44895         checks.
44896         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44897         unnecessary cygwin workarounds.  Also work around bug with moving
44898         full directory onto an empty one.
44899         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44900
44901         rename-dest-slash: merge into rename module
44902         * modules/rename-dest-slash (Status): Mark obsolete.
44903         (Depends-on): Add rename.
44904         (Files): Let rename do it all.
44905         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44906         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44907         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44908         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44909         * lib/rename.c (rpl_rename): Update comments.
44910
44911         rename: fix cygwin 1.5.x bugs
44912         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44913         * lib/rename.c (rpl_rename): Work around them.
44914         * modules/rename (Depends-on): Add same-inode.
44915
44916         rename: fix Solaris 10 bug
44917         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44918         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44919         was the only bug.
44920
44921         rename: fix Solaris 9 bug
44922         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44923         on non-directory.  Avoid calling exit.
44924         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44925         strdup.
44926         * modules/rename-tests (Depends-on): Drop lstat.
44927         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44928         (gl_PREREQ_RENAME): Delete unused macro.
44929
44930         rename-dest-slash: fix NetBSD bug
44931         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44932         links.
44933         * modules/rename-dest-slash (Depends-on): Add same-inode.
44934
44935         rename-tests: new test, exposes several platform bugs
44936         * modules/rename-tests: New file.
44937         * tests/test-rename.h: Likewise.
44938         * tests/test-rename.c: Likewise.
44939         * doc/posix-functions/rename.texi (rename): Improve documentation,
44940         including bugs that will eventually be fixed in gnulib.
44941
44942 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44943
44944         * lib/uname.c: Include <stdlib.h>
44945         (uname): Assume version info is available.
44946
44947 2009-10-02  Jim Meyering  <meyering@redhat.com>
44948
44949         gnu-web-doc-update: correct --help output
44950         * build-aux/gnu-web-doc-update: Make --help output relevant.
44951
44952         gnu-web-doc-update: add standard options
44953         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44954
44955         gnu-web-doc-update: New module.
44956         Use this script to automatically update the on-line web documentation
44957         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44958         * modules/gnu-web-doc-update: New file, from coreutils.
44959         * build-aux/gnu-web-doc-update: New script.
44960
44961 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44962
44963         link: LoadLibrary is not needed.
44964         * lib/link.c: Use GetModuleHandle.
44965
44966 2009-10-01  Eric Blake  <ebb9@byu.net>
44967
44968         getopt: bump serial number
44969         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44970         change.
44971
44972         tests: tighten link, rmdir, and remove tests
44973         * tests/test-link.h (includes): No need to use <config.h> here.
44974         Clean up if directory hard link was created, otherwise test for
44975         trailing '.'.
44976         * tests/test-linkat.c (main): Simplify.
44977         * tests/test-remove.c (main): Enhance test for trailing '.'.
44978         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44979
44980 2009-10-01  Jim Meyering  <meyering@redhat.com>
44981
44982         maint.mk: requiring "make major" was annoying, for a "minor" release.
44983         What is intended is "stable", to contrast with alpha and beta,
44984         so require "make stable", not "make major".
44985         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44986         (get_tool_versions): Likewise.
44987         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44988
44989 2009-09-30  Ben Pfaff  <blp@gnu.org>
44990
44991         Fix broken build of replacement for Windows tmpfile().
44992         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44993         flags argument added along with the 'mkostemp' module.
44994
44995 2009-09-28  Bruno Haible  <bruno@clisp.org>
44996
44997         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44998         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44999         to 'remove_elt'.
45000         (gl_list_remove): Update.
45001         * lib/gl_list.c (gl_list_remove): Update.
45002         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
45003         to 'remove_elt'.
45004         (gl_oset_remove): Update.
45005         * lib/gl_list.c (gl_oset_remove): Update.
45006         Reported by Eric Blake.
45007
45008 2009-09-28  Eric Blake  <ebb9@byu.net>
45009
45010         doc: mention yet more cygwin 1.7 status
45011         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
45012         cygwin.
45013         * doc/glibc-functions/execvpe.texi (execvpe): New file.
45014         * doc/gnulib.texi (Glibc unistd.h): Mention it.
45015
45016         argp: fix test failure
45017         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
45018         that are not upper-case.  Pass correct range to tolower.
45019
45020 2009-09-27  Jim Meyering  <meyering@redhat.com>
45021
45022         test-yesno: work around sparc-dash here-document infelicity
45023         Without this change, the literal \177 byte in a here document
45024         would make dash 0.5.5.1-3 access uninitialized memory.
45025         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
45026         Instead, use a marker, "@", and filter through tr to create the desired
45027         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
45028
45029 2009-09-27  Bruno Haible  <bruno@clisp.org>
45030
45031         Disable untested support for new flavours of ACLs on AIX.
45032         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
45033         progress.
45034         * lib/set-mode-acl.c (qset_acl): Likewise.
45035
45036 2008-12-07  Bruno Haible  <bruno@clisp.org>
45037
45038         Add support for new flavours of ACLs on AIX. (Untested.)
45039         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
45040         (file_has_acl): Add support for newer AIX.
45041         * lib/set-mode-acl.c (qset_acl): Likewise.
45042         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
45043         Rainer Tammer <tammer@tammer.net>.
45044
45045 2009-09-26  Eric Blake  <ebb9@byu.net>
45046
45047         argp: fix compilation of getopt
45048         * lib/getopt.in.h (includes): Use different guard than glibc.
45049         Reported by Sergey Poznyakoff.
45050
45051         doc: mention more cygwin 1.7 status
45052         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
45053         bug.
45054         * doc/posix-functions/execl.texi (execl): Likewise.
45055         * doc/posix-functions/execle.texi (execle): Likewise.
45056         * doc/posix-functions/execlp.texi (execlp): Likewise.
45057         * doc/posix-functions/execv.texi (execv): Likewise.
45058         * doc/posix-functions/execve.texi (execve): Likewise.
45059         * doc/posix-functions/execvp.texi (execvp): Likewise.
45060         * doc/glibc-functions/canonicalize_file_name.texi
45061         (canonicalize_file_name): Cygwin 1.7 now provides this.
45062         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
45063         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
45064         on AT_SYMLINK_NOFOLLOW.
45065
45066 2009-09-24  Eric Blake  <ebb9@byu.net>
45067
45068         test-linkat: make test more robust
45069         * tests/test-linkat.c (main): Avoid collision with EEXIST.
45070
45071         getopt: fix inclusion guards for cygwin
45072         * modules/getopt-posix (Depends-on): Add include-next.
45073         (Makefile.am): Substitute more items in replacement header.
45074         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
45075         <getopt.h>.
45076         * lib/getopt.in.h (includes): Use split inclusion guard, and
45077         prefer <getopt.h> over include <unistd.h> when one is present.
45078         (option): Also override name of 'struct option'.
45079
45080         same-inode: revert prior change; it is not yet ready
45081         * NEWS: Undo mention of this change.
45082         * lib/same-inode.h (same-inode.h): Undo tri-state change.
45083         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
45084         * lib/cycle-check.c (cycle_check): Likewise.
45085         * lib/same.c (same_name): Likewise.
45086         * lib/at-func2.c (at_func2): Likewise.
45087
45088 2009-09-23  Eric Blake  <ebb9@byu.net>
45089
45090         linkat: new module
45091         * modules/linkat: New file.
45092         * lib/at-func2.c (at_func2): Likewise.
45093         * lib/linkat.c (linkat): Likewise.
45094         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
45095         * lib/openat-priv.h (at_func2): Add declaration.
45096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45097         * modules/unistd (Makefile.am): Substitute them.
45098         * lib/unistd.in.h (linkat): Declare it.
45099         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45100         * doc/posix-functions/linkat.texi (linkat): Likewise.
45101         * doc/posix-functions/link.texi (link): Tweak wording.
45102         * tests/test-link.c (main): Move guts...
45103         * tests/test-link.h (test_link): ...into new file.
45104         * modules/linkat-tests: New test.
45105         * tests/test-linkat.c: Likewise.
45106         * modules/link-tests (Files): Ship new file.
45107         (Depends-on): Add stdbool.
45108
45109         dirname: add library-safe mdir_name
45110         * lib/dirname.h (mdir_name): New prototype.
45111         * lib/dirname.c (dir_name): Move guts...
45112         (mdir_name): ...to new function that avoids xalloc_die.
45113
45114         fchdir: another mingw fix
45115         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
45116         * lib/fchdir.c (get_name): New helper method; skips canonicalize
45117         on mingw (where it has not yet been ported), and make it optional
45118         elsewhere.
45119         (_gl_register_fd): Use it.
45120
45121         same-inode: make SAME_INODE tri-state, to port to mingw
45122         * NEWS: Mention this change.
45123         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
45124         st_ino always being 0.
45125         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
45126         * lib/cycle-check.c (cycle_check): Likewise.
45127         * lib/same.c (same_name): Likewise.
45128
45129         lstat: avoid mingw compilation error
45130         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
45131         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
45132         lstat ourselves.
45133         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
45134         was adequate.
45135         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
45136         the checks for lstat.
45137         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
45138
45139         link: fix test failure on Solaris 9
45140         * lib/link.c (rpl_link): Don't assume link will catch bogus
45141         trailing slash on source.
45142
45143         test-symlinkat: enhance test
45144         * tests/test-readlink.c (main): Move guts...
45145         * tests/test-readlink.h (test_readlink): ...into new file.
45146         * tests/test-symlink.c (main): Move guts...
45147         * tests/test-symlink.h (test_symlink): ...into new file.
45148         * tests/test-symlinkat.c (main): Use new files for further
45149         coverage.
45150         (do_symlink, do_readlink): New helper functions.
45151         * modules/symlink-tests (Files): Ship new file.
45152         (Depends-on): Add stdbool.
45153         * modules/readlink-tests (Files): Ship new file.
45154         (Depends-on): Add stdbool.
45155         * modules/symlinkat-tests (Files): Use new files.
45156
45157 2009-09-23  Eric Blake  <ebb9@byu.net>
45158
45159         readlink: document portability issue with symlink length
45160         * doc/posix-functions/lstat.texi (lstat): Mention that some file
45161         systems have bogus st_size on symlinks, and mention the
45162         areadlink-with-size module.
45163         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
45164         * doc/posix-functions/readlink.texi (readlink): Mention the
45165         areadlink module, and ERANGE failure.
45166         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45167         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
45168
45169         readlink: fix Solaris 9 bug with trailing slash
45170         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
45171         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
45172         * doc/posix-functions/readlink.texi (readlink): Document this.
45173         * modules/readlink-tests: New test.
45174         * tests/test-readlink.c: Likewise.
45175
45176         readlink: fix cygwin 1.5.x bug with return type
45177         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
45178         * lib/unistd.in.h (readlink): Use ssize_t.
45179         * lib/readlink.c (readlink): Likewise.
45180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45181         * modules/unistd (Makefile.am): Substitute it.
45182         * lib/unistd.in.h (readlink): Declare replacement.
45183         * doc/posix-functions/readlink.texi (readlink): Document this.
45184
45185         symlink: use throughout gnulib
45186         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
45187         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
45188         symlink is not used.
45189         * modules/symlinkat (Depends-on): Add symlink.
45190         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45191         * modules/canonicalize-tests (Depends-on): Likewise.
45192         * modules/lstat-tests (Depends-on): Likewise.
45193         * modules/openat-tests (Depends-on): Likewise.
45194         * modules/remove-tests (Depends-on): Likewise.
45195         * modules/rmdir-tests (Depends-on): Likewise.
45196         * modules/unlink-tests (Depends-on): Likewise.
45197         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
45198         * tests/test-canonicalize.c (symlink): Likewise.
45199         * tests/test-fstatat.c (symlink): Likewise.
45200         * tests/test-lstat.c (symlink): Likewise.
45201         * tests/test-remove.c (symlink): Likewise.
45202         * tests/test-rmdir.c (symlink): Likewise.
45203         * tests/test-unlink.c (symlink): Likewise.
45204         * tests/test-unlinkat.c (symlink): Likewise.
45205
45206         symlink: new module, for Solaris 9 bug
45207         * modules/symlink: New file.
45208         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45209         * lib/symlink.c: Likewise.
45210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
45211         * modules/unistd (Makefile.am): Substitute them.
45212         * lib/unistd.in.h (symlink): Declare replacement.
45213         * MODULES.html.sh (File system functions): Mention it.
45214         * doc/posix-functions/symlink.texi (symlink): Likewise.
45215         * modules/symlink-tests: New test.
45216         * tests/test-symlink.c: Likewise.
45217
45218 2009-09-23  Bruno Haible  <bruno@clisp.org>
45219
45220         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
45221         when needed.
45222         Test case: gnulib-tool --import --with-tests atexit inttypes.
45223         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
45224
45225 2009-09-23  Bruno Haible  <bruno@clisp.org>
45226
45227         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
45228         subcommand, not in a subshell.
45229
45230 2009-09-22  Eric Blake  <ebb9@byu.net>
45231
45232         unistd: sort replacement declarations
45233         * lib/unistd.in.h: Sort declarations.
45234
45235         open, openat: minor optimization
45236         * lib/open.c (open): If open succeeded, len is non-zero.
45237         * lib/openat.c (rpl_openat): Likewise.
45238
45239         link-follow: ensure correct result
45240         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
45241         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
45242         distinguish between possible failures.
45243
45244 2009-09-21  Eric Blake  <ebb9@byu.net>
45245
45246         fts: avoid compiler warning
45247         * lib/fts.c (dirent_inode_sort_may_be_useful)
45248         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
45249
45250 2009-09-19  Bruno Haible  <bruno@clisp.org>
45251
45252         * lib/progreloc.c (canonicalize_file_name): New declaration.
45253
45254 2009-09-19  Eric Blake  <ebb9@byu.net>
45255
45256         link: fix quoting
45257         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
45258
45259         openat: fix openat bugs on Solaris 9
45260         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
45261         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
45262         * modules/openat (Depends-on): Add open.
45263         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
45264         * modules/fcntl-h (Makefile.am): Substitute it.
45265         * lib/fcntl.in.h (openat): Declare replacement.
45266         * doc/posix-functions/openat.texi (openat): Document this.
45267
45268         openat: move fstatat and unlinkat into correct files
45269         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
45270         compiled.
45271         * lib/openat.c (fstatat, unlinkat): Move...
45272         * lib/fstatat.c (fstatat): ...into correct files.
45273         * lib/unlinkat.c (unlinkat): Likewise.
45274
45275         openat: fix unlinkat bugs on Solaris 9
45276         * lib/unlinkat.c (unlinkat): New file.
45277         * modules/openat (Depends-on): Add unlink.
45278         (Files): Distribute it.
45279         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
45280         trailing slash behavior is broken.
45281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45282         * modules/unistd (Makefile.am): Substitute it.
45283         * lib/unistd.in.h (unlinkat): Declare replacement.
45284         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
45285
45286         openat: fix fstatat bugs on Solaris 9
45287         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
45288         stat.
45289         * doc/posix-functions/fstatat.texi (fstatat): Document this.
45290
45291         test-unlinkat: enhance test, to expose Solaris 9 bug
45292         * tests/test-unlink.c (main): Factor guts...
45293         * tests/test-unlink.h (test_rmdir_func): ...into new file.
45294         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
45295         * tests/test-rmdir.c (main): Adjust caller.
45296         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
45297         (unlinker): New helper function.
45298         (rmdirat): Enhance check.
45299         * modules/rmdir-tests (Depends-on): Add stdbool.
45300         * modules/unlink-tests (Depends-on): Likewise.
45301         (Files): Add test-unlink.h.
45302         * modules/openat-tests (Files): Likewise.
45303         (Depends-on): Add unlinkdir.
45304
45305         test-fstatat: new test, to expose Solaris 9 bugs
45306         * tests/test-stat.c (main): Factor guts...
45307         * tests/test-stat.h (test_stat_func): ...into new file.
45308         * tests/test-lstat.c (main): Factor guts...
45309         * tests/test-lstat.h (test_lstat_func): ...into new file.
45310         * tests/test-fstatat.c: New file.
45311         * modules/stat-tests (Files): Add test-stat.h.
45312         * modules/lstat-tests (Files): Add test-lstat.h.
45313         (Depends-on): Add stdbool.
45314         * modules/openat-tests (Depends-on): Add pathmax.
45315         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
45316         (Makefile.am): Run new test.
45317
45318         remove: new module, for mingw and Solaris 9 bugs
45319         * modules/remove: New file.
45320         * lib/remove.c: Likewise.
45321         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
45322         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
45323         * modules/stdio (Makefile.am): Use them.
45324         * lib/stdio.in.h (remove): Declare replacement.
45325         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45326         * doc/posix-functions/remove.texi (remove): Likewise.
45327         * modules/remove-tests: New test.
45328         * tests/test-remove.c: Likewise.
45329
45330         unlink: new module, for Solaris 9 bug
45331         * modules/unlink: New file.
45332         * lib/unlink.c: Likewise.
45333         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45334         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45335         * modules/unistd (Makefile.am): Use them.
45336         * lib/unistd.in.h (stat): Declare replacement.
45337         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45338         * doc/posix-functions/unlink.texi (unlink): Likewise.
45339         * modules/unlink-tests: New test.
45340         * tests/test-unlink.c: Likewise.
45341
45342         lstat: fix Solaris 9 bug
45343         * lib/lstat.c (lstat): Also check for trailing slash on
45344         non-symlink, non-directories.  Use stat module to simplify logic.
45345         * doc/posix-functions/lstat.texi (lstat): Document it.
45346         * modules/lstat-tests (Depends-on): Add errno, same-inode.
45347         (configure.ac): Check for symlink.
45348         * tests/test-lstat.c (main): Add more tests.
45349
45350         stat: add as dependency to other modules
45351         * modules/chown (Depends-on): Add stat.
45352         * modules/euidaccess (Depends-on): Likewise.
45353         * modules/fchdir (Depends-on): Likewise.
45354         * modules/isdir (Depends-on): Likewise.
45355         * modules/link (Depends-on): Likewise.
45356         * modules/lstat (Depends-on): Likewise.
45357         * modules/mkdir-p (Depends-on): Likewise.
45358         * modules/modechange (Depends-on): Likewise.
45359         * modules/open (Depends-on): Likewise.
45360         * modules/readlink (Depends-on): Likewise.
45361         * modules/same (Depends-on): Likewise.
45362
45363         stat: fix Solaris 9 bug
45364         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
45365         slash.
45366         * lib/stat.c (rpl_stat): Work around it.
45367         * doc/posix-functions/stat.texi (stat): Update documentation.
45368
45369         stat: new module, for mingw bug
45370         * modules/stat: New file.
45371         * lib/stat.c: Likewise.
45372         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45373         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45374         * modules/sys_stat (Makefile.am): Use them.
45375         * lib/sys_stat.in.h (stat): Declare replacement.
45376         * lib/openat.c (fstatat): Deal with lstat and stat being function
45377         macros.
45378         * modules/openat (Depends-on): Add inline.
45379         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45380         * doc/posix-functions/stat.texi (stat): Likewise.
45381         * modules/stat-tests: New test.
45382         * tests/test-stat.c: Likewise.
45383
45384 2009-09-19  Jim Meyering  <meyering@redhat.com>
45385
45386         syntax-check: detect unnecessary inclusion of canonicalize.h
45387         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
45388
45389 2009-09-19  Eric Blake  <ebb9@byu.net>
45390
45391         canonicalize-lgpl: adjust clients to use correct header
45392         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45393         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
45394         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
45395         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
45396         * lib/progreloc.c (includes): Likewise.
45397
45398 2009-09-19  Jim Meyering  <meyering@redhat.com>
45399
45400         test-posixtm.c: correct a comment
45401         * tests/test-posixtm.c: Correct first-line comment.
45402         Spotted by Eric Blake.
45403
45404 2009-09-16  Jim Meyering  <meyering@redhat.com>
45405
45406         posixtm-tests: make T const-correct; add a test case
45407         * tests/test-posixtm.c (T): Declare const.
45408         Add a test for -(2^31+1).
45409         Remove useless can-succeed-only-in-2002 test.
45410
45411         posixtm-tests: adjust the sole failing test
45412         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
45413         expected output matches what mktime now produces.  Cross-checked via
45414         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
45415
45416         posixtm: move #ifdef'd tests into a new module
45417         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
45418         * tests/test-posixtm.c: ... this new file.
45419         * modules/posixtm-tests: New module.
45420
45421 2009-09-19  Eric Blake  <ebb9@byu.net>
45422
45423         openat: simplify use of at-func.c
45424         * lib/at-func.c (includes): Include prerequisites here, to
45425         simplify requirements on client files.
45426         * lib/openat-priv.h: Add double-inclusion guard.
45427         * lib/faccessat.c (includes): Simplify.
45428         * lib/fchmodat.c (includes): Likewise.
45429         * lib/fchownat.c (includes): Likewise.
45430         * lib/mkdirat.c (includes): Likewise.
45431         * lib/mkfifoat.c (includes): Likewise.
45432         * lib/symlinkat.c (includes): Likewise.
45433
45434         openat: allow return of fd 0
45435         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
45436         * modules/save-cwd (Depends-on): Replace fcntl-safer with
45437         unistd-safer.
45438         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
45439         <fcntl.h>; this module does not leak fds.
45440         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
45441         must be allowed to return 0, leaving openat_safer to add the
45442         safety.
45443         (openat_permissive): Avoid writing to just-opened fd 2 if
45444         restoring the current directory fails.
45445         * lib/openat-die.c (openat_restore_fail): Add comment.
45446         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
45447         (save_cwd): Guarantee safe fd, but without use of open_safer.
45448         * tests/test-openat.c: New test.
45449         * modules/openat-tests (Files, Makefile.am): Distribute and build
45450         new file.
45451
45452         relocatable-prog-wrapper: fix build
45453         * modules/relocatable-prog-wrapper (Files): Update name of
45454         canonicalize m4 file, broken on 2009-09-17.
45455         Reported by emad hajjar <aleppos@hotmail.com>.
45456
45457 2009-09-19  Bruno Haible  <bruno@clisp.org>
45458
45459         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45460         * lib/safe-alloc.c: Likewise.
45461         Reported by Ian Beckwith <ianb@erislabs.net>.
45462
45463 2009-09-18  Bruno Haible  <bruno@clisp.org>
45464
45465         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45466         Reported by <erobles@sensacd.com.mx>.
45467
45468 2009-09-17  Eric Blake  <ebb9@byu.net>
45469
45470         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45471         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45472         slashes when checking if last component is missing.
45473         * tests/test-canonicalize.c (main): Test this.
45474
45475         canonicalize, canonicalize-lgpl: honor // if distinct from /
45476         * modules/canonicalize (Files): Add double-slash-root.m4.
45477         * modules/canonicalize-lgpl (Files): Likewise.
45478         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45479         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45480         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45481         fallback definition.
45482         (canonicalize_filename_mode): Use it to protect //.
45483         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45484         (__realpath): Likewise.
45485         * tests/test-canonicalize.c (main): Test this.
45486         * tests/test-canonicalize-lgpl.c (main): Likewise.
45487         * modules/canonicalize-tests (Depends-on): Add same-inode.
45488         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45489
45490         canonicalize-lgpl: fix glibc bug with trailing slash
45491         * m4/canonicalize-lgpl.m4: Move contents...
45492         * m4/canonicalize.m4: ...here.
45493         (gl_CANONICALIZE_LGPL): Factor realpath check...
45494         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45495         glibc 2.3.5 bug, fixed 2005-04-27.
45496         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45497         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45498         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45499         * modules/canonicalize-lgpl (Files): Manage file rename.
45500         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45501         * modules/stdlib (Makefile.am): Substitute witness.
45502         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45503         is needed.
45504         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45505         replacement is required.
45506         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45507         * doc/glibc-functions/canonicalize_file_name.texi
45508         (canonicalize_file_name): Document this.
45509         * doc/posix-functions/realpath.texi (realpath): Likewise.
45510
45511         canonicalize-lgpl: reject non-directory with trailing slash
45512         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45513         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45514         catches failures in glibc 2.3.5.
45515         * tests/test-canonicalize.c (main): Likewise.
45516
45517         canonicalize-lgpl: use native realpath if it works
45518         * lib/canonicalize-lgpl.c (realpath): Guard with
45519         FUNC_REALPATH_WORKS.
45520         * lib/stdlib.in.h (realpath): Make declaration optional based on
45521         HAVE_REALPATH.
45522         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45523         native realpath works.
45524         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45525         * modules/stdlib (Makefile.am): Substitute witness.
45526
45527         canonicalize, canonicalize-lgpl: use <stdlib.h>
45528         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45529         (Include): Mention <stdlib.h>.
45530         (configure.ac): Mention functions we provide.
45531         * modules/canonicalize (configure.ac): Likewise.
45532         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45533         realpath if canonicalize_file_name is missing.
45534         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45535         * modules/stdlib (Makefile.am): Substitute witnesses.
45536         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45537         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45538         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45539         * NEWS: Document this.
45540         * doc/glibc-functions/canonicalize_file_name.texi
45541         (canonicalize_file_name): Likewise.
45542         * doc/posix-functions/realpath.texi (realpath): Likewise.
45543         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45544
45545         test-canonicalize: consolidate into single C program
45546         * tests/test-canonicalize.sh: Delete; move setup into...
45547         * tests/test-canonicalize.c (main): ...the program, making it
45548         easier to run in debugger.  Add some tests.
45549         * modules/canonicalize-tests (Files): Remove unused file.
45550         (Depends-on): Add progname.
45551         (configure.ac, Makefile.am): Simplify.
45552
45553         test-canonicalize-lgpl: consolidate into single C program
45554         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45555         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45556         easier to run in debugger.  Add some tests.
45557         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45558         (configure.ac, Makefile.am): Simplify.
45559
45560         canonicalize: avoid resolvepath
45561         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45562         unnecessary checks.
45563         * lib/canonicalize.c (includes): Simplify.
45564         (canonicalize_file_name): Drop resolvepath implementation.
45565         * modules/canonicalize (Depends-on): Drop filenamecat.
45566
45567         canonicalize: don't lose errno
45568         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45569         over calls to free.
45570
45571         canonicalize: simplify errno handling
45572         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45573         assignment.
45574
45575         canonicalize, canonicalize-lgpl: update module dependencies
45576         * modules/canonicalize (Depends-on): Add extensions, lstat,
45577         pathmax, stdlib.
45578         (Files): Drop pathmax.h.
45579         (configure.ac): Adjust macro name.
45580         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45581         lstat, stdlib, sys_stat.
45582         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45583         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45584         extensions.
45585         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45586         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45587         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45588         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45589         declaration, if available.
45590         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45591         we can rely on the readlink module.
45592         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45593         (includes): Use <unistd.h> unconditionally.
45594
45595 2009-09-17  Eric Blake  <ebb9@byu.net>
45596
45597         maint: make Include sections of modules consistent
45598         * modules/alloca: Use only header name; no need to list #include.
45599         * modules/alloca-opt: Likewise.
45600         * modules/arpa_inet: Likewise.
45601         * modules/canon-host: Likewise.
45602         * modules/configmake: Likewise.
45603         * modules/dirent: Likewise.
45604         * modules/eealloc: Likewise.
45605         * modules/environ: Likewise.
45606         * modules/fchdir: Likewise.
45607         * modules/fcntl: Likewise.
45608         * modules/fcntl-h: Likewise.
45609         * modules/gethrxtime: Likewise.
45610         * modules/gettime: Likewise.
45611         * modules/ignore-value: Likewise.
45612         * modules/inet_ntop: Likewise.
45613         * modules/inet_pton: Likewise.
45614         * modules/inttypes: Likewise.
45615         * modules/isnand-nolibm: Likewise.
45616         * modules/isnanf-nolibm: Likewise.
45617         * modules/mbchar: Likewise.
45618         * modules/mbfile: Likewise.
45619         * modules/mbiter: Likewise.
45620         * modules/mbuiter: Likewise.
45621         * modules/netdb: Likewise.
45622         * modules/netinet_in: Likewise.
45623         * modules/nproc: Likewise.
45624         * modules/pagealign_alloc: Likewise.
45625         * modules/poll: Likewise.
45626         * modules/printf-frexp: Likewise.
45627         * modules/pthread: Likewise.
45628         * modules/putenv: Likewise.
45629         * modules/random_r: Likewise.
45630         * modules/relocatable-prog: Likewise.
45631         * modules/search: Likewise.
45632         * modules/select: Likewise.
45633         * modules/selinux-h: Likewise.
45634         * modules/settime: Likewise.
45635         * modules/signal: Likewise.
45636         * modules/size_max: Likewise.
45637         * modules/socklen: Likewise.
45638         * modules/ssize_t: Likewise.
45639         * modules/stdarg: Likewise.
45640         * modules/stdbool: Likewise.
45641         * modules/stddef: Likewise.
45642         * modules/stdint: Likewise.
45643         * modules/stdio: Likewise.
45644         * modules/stdlib: Likewise.
45645         * modules/string: Likewise.
45646         * modules/strings: Likewise.
45647         * modules/sys_file: Likewise.
45648         * modules/sys_ioctl: Likewise.
45649         * modules/sys_select: Likewise.
45650         * modules/sys_socket: Likewise.
45651         * modules/sys_stat: Likewise.
45652         * modules/sys_time: Likewise.
45653         * modules/sys_times: Likewise.
45654         * modules/sys_utsname: Likewise.
45655         * modules/sys_wait: Likewise.
45656         * modules/sysexits: Likewise.
45657         * modules/time: Likewise.
45658         * modules/times: Likewise.
45659         * modules/tmpfile: Likewise.
45660         * modules/trim: Likewise.
45661         * modules/unistd: Likewise.
45662         * modules/wchar: Likewise.
45663         * modules/wctype: Likewise.
45664
45665 2009-09-17  Bruno Haible  <bruno@clisp.org>
45666
45667         Make getdate.y compile on QNX and NetBSD 5 / i386.
45668         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45669         TIME_T_FITS_IN_LONG_INT.
45670         * lib/getdate.y (long_time_t): New type.
45671         (relative_time): Change type of 'seconds' field to long_time_t.
45672         (get_date): Update types of local variables. Check against overflow
45673         during conversion from long_time_t to time_t.
45674         Reported by Matt Kraai <kraai@ftbfs.org>
45675         and Hasso Tepper <hasso@netbsd.org>.
45676
45677 2009-09-17  Bruno Haible  <bruno@clisp.org>
45678
45679         * modules/COPYING: Update copyright years.
45680         * modules/README: Likeiwse.
45681         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45682         Reported by Ian Beckwith <ianb@erislabs.net>.
45683
45684 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45685
45686         * users.txt: Update references for gnuit package.
45687
45688 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45689
45690         * m4/getdelim.m4: Fix typo in copyright line.
45691
45692 2009-09-17  Bruno Haible  <bruno@clisp.org>
45693
45694         * lib/atoll.c: Use the standard header with GPL copyright.
45695         * lib/argz.in.h: Likewise.
45696         * lib/glob.c: Likewise.
45697         * lib/glob-libc.h: Likewise.
45698         * lib/random_r.c: Likewise.
45699         * lib/siglist.h: Likewise.
45700         * lib/strsignal.c: Likewise.
45701         Reported by Ian Beckwith <ianb@erislabs.net>.
45702
45703 2009-09-17  Eric Blake  <ebb9@byu.net>
45704
45705         rmdir: ensure correct dependency order
45706         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45707
45708 2009-09-17  Bruno Haible  <bruno@clisp.org>
45709
45710         Disable assertion that fails on NetBSD 5 / i386.
45711         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45712         Reported by Sam Steingold <sds@gnu.org>
45713         and Hasso Tepper <hasso@netbsd.org>.
45714
45715 2009-09-16  Eric Blake  <ebb9@byu.net>
45716
45717         unlinkdir: port to mingw
45718         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45719         on which no one can unlink a directory.
45720
45721         stdlib: sort witness names
45722         * modules/stdlib (Makefile.am): Sort replacements.
45723         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45724         * lib/stdlib.in.h: Likewise.
45725
45726         parse-duration-tests: avoid link failure
45727         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45728         LIBINTL.
45729         Reported by Tom G. Christensen.
45730
45731         openat-tests: ensure unlinkat behaves like rmdir
45732         * tests/test-rmdir.c (main): Factor guts...
45733         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45734         * modules/rmdir-tests (Files): Ship new file.
45735         * modules/openat-tests: New test.
45736         * tests/test-unlinkat.c: Likewise.
45737
45738         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45739         * modules/rmdir-errno (Status, Notice): Now obsolete.
45740
45741         rmdir: work around cygwin 1.5.x and mingw bugs
45742         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45743         * lib/rmdir.c (rmdir): Work around it.
45744         * modules/rmdir (Status, Notice): No longer obsolete.
45745         (Files): Add dos.m4.
45746         (Depends-on): Add unistd.
45747         (configure.ac): Set witnesses.
45748         (License): Relax to LGPLv2+.
45749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45750         * modules/unistd (Makefile.am): Substitute witnesses.
45751         * lib/unistd.in.h (rmdir): Declare replacement.
45752         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45753         * modules/rmdir-tests: New tests.
45754         * tests/test-rmdir.c: Likewise.
45755
45756 2009-09-15  Eric Blake  <ebb9@byu.net>
45757
45758         fchdir: improve use of replacement functions
45759         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45760         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45761         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45762         REPLACE_CLOSEDIR.
45763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45764         * modules/sys_stat (Makefile.am): Substitute correct witness.
45765         * modules/dirent (Makefile.am): Likewise.
45766         * modules/unistd (Makefile.am): Likewise.
45767         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45768         * lib/unistd.in.h (dup): Likewise.
45769         * lib/sys_stat.in.h (fstat): Likewise.
45770
45771         maint: ignore gnulib-tool temp files
45772         * .gitignore: Ignore files created during gnulib-tool --test.
45773
45774 2009-09-13  Jim Meyering  <meyering@redhat.com>
45775
45776         posixtm: don't reject a time that specify "60" as the number of seconds
45777         * lib/posixtm.c (posixtime): The code to reject invalid dates
45778         would also reject a time specified with the .60 suffix.
45779         But POSIX allows that, in order to accommodate leap seconds.
45780         So don't reject it.
45781         (main): Adjust tests accordingly.
45782         * modules/posixtm (Depends-on): Add stpcpy.
45783
45784 2009-09-11  Jim Meyering  <meyering@redhat.com>
45785
45786         announce-gen: include [$release_type] in emitted Subject:
45787         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45788         e.g., [stable] in the emitted Subject: line.
45789
45790 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45791
45792         Remove obsolete macros from several modules.
45793         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45794         obsolete Autoconf macros with their modern counterparts.
45795         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45796         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45797         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45798         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45799         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45800         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45801         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45802         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45803         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45804         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45805         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45806         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45807         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45808         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45809         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45810         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45811         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45812         * m4/time_r.m4 (gl_TIME_R): Likewise.
45813         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45814         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45815         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45816
45817         Fix copyright header in build-aux scripts.
45818         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45819         recommendation.
45820         * build-aux/ncftpput-ftp: Likewise.
45821         * build-aux/update-copyright: Likewise.
45822
45823 2009-09-09  Eric Blake  <ebb9@byu.net>
45824
45825         test-link: allow Linux choice of errno
45826         * tests/test-link.c (main): Relax test for alternate error.
45827
45828         strndup: fix improper m4 caching
45829         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45830         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45831         (gl_PREREQ_STRNDUP): Delete.
45832         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45833         * modules/string (Makefile.am): Substitute it.
45834         * lib/string.in.h (strndup): Modernize prototype.
45835
45836         getcwd: port to mingw
45837         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45838         different from the POSIX assumptions made throughout the getcwd
45839         module; fortunately, the mingw getcwd does not need replacement.
45840         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45841         * modules/getcwd-tests: New test.
45842         * tests/test-getcwd.c: Likewise.
45843
45844         link: fix platform bugs
45845         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45846         * lib/link.c (link): Work around them.  Fix related mingw bug.
45847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45848         * modules/unistd (Makefile.am): Substitute it.
45849         * lib/unistd.in.h (link): Declare replacement.
45850         * doc/posix-functions/link.texi (link): Document this.
45851         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45852
45853         test-link: consolidate into single C program, test more cases
45854         * tests/test-link.sh: Delete.
45855         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45856         at least Cygwin and Solaris.
45857         * modules/link-tests (Files): Remove unused file.
45858         (Depends-on): Add errno, sys_stat.
45859         (Makefile.am): Simplify.
45860
45861 2009-09-08  Bruno Haible  <bruno@clisp.org>
45862
45863         Work around towlower, towupper bug on mingw.
45864         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45865         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45866         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45867         * doc/posix-functions/towupper.texi: Likewise.
45868         Reported by Eric Blake.
45869
45870 2009-09-08  Jim Meyering  <meyering@redhat.com>
45871
45872         build: don't try to run autoheader if we don't use it
45873         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45874         is not used in configure.ac.
45875
45876 2009-09-08  Eric Blake  <ebb9@byu.net>
45877
45878         euidaccess: fix compilation error
45879         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45880
45881         rawmemchr: relax license
45882         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45883         okay.
45884         Reported by Jim Meyering.
45885
45886         mkfifoat: new module
45887         * modules/mkfifoat: New file.
45888         * lib/mkfifoat.c: Likewise.
45889         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45890         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45891         * modules/sys_stat (Makefile.am): Use them.
45892         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45893         * MODULES.html.sh (File system functions): Mention module.
45894         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45895         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45896         * modules/mkfifoat-tests: New test.
45897         * tests/test-mkfifoat.c: Likewise.
45898
45899         strchrnul: relax license
45900         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45901         okay.
45902         Reported by Jim Meyering.
45903
45904 2009-09-08  Eric Blake  <ebb9@byu.net>
45905
45906         fstatat: fix compilation on Solaris
45907         * lib/fstatat.c (includes): Add fcntl.h.
45908         Reported by Pádraig Brady.
45909
45910 2009-09-07  Eric Blake  <ebb9@byu.net>
45911
45912         rename: modernize replacement
45913         * modules/rename (Depends-on): Add stdio.
45914         (configure.ac): Declare witness.
45915         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45916         stdio take care of replacement.
45917         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45918         * modules/stdio (Makefile.am): Substitute them.
45919         * lib/stdio.in.h (rename): Declare replacement.
45920         * lib/rename.c (includes): Allow cross-compilation to non-windows
45921         machines.
45922         * doc/posix-functions/rename.texi (rename): Improve
45923         documentation.
45924
45925         stdio: sort witness names
45926         * modules/stdio (Makefile.am): Sort replacements.
45927         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45928         * lib/stdio.in.h: Likewise.
45929
45930         getcwd: minor cleanups
45931         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45932         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45933
45934         openat: provide more convenience names
45935         * modules/faccessat (configure.ac): Add C witness.
45936         * lib/unistd.in.h (readlinkat): Fix typo.
45937         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45938         convenience wrappers.
45939         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45940         wrappers in syntax checks.
45941
45942 2009-09-06  Eric Blake  <ebb9@byu.net>
45943
45944         doc: fix comments in recent patches
45945         * lib/faccessat.c: Mention correct function.
45946         * lib/fchmodat.c: Likewise.
45947         * lib/fchownat.c: Likewise.
45948         * lib/symlinkat.c: Likewise.
45949         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45950         constants.
45951
45952         faccessat, symlinkat: continue cleanup of previous patch
45953         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45954         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45955         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45957         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45958         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45959         set.
45960
45961 2009-09-06  Bruno Haible  <bruno@clisp.org>
45962
45963         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45964         (fstatat): Declare if GNULIB_FSTATAT is set.
45965         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45966         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45967         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45968         * modules/fcntl-h (Files): Remove m4/openat.m4.
45969         * modules/sys_stat (Files): Remove m4/openat.m4.
45970         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45971         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45972         * modules/unistd (Files): Remove m4/openat.m4.
45973         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45974         GNULIB_OPENAT.
45975         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45976         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45977         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45978         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45979         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45980         gl_OPENAT_DEFAULTS.
45981         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45982         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45983         Don't require gl_OPENAT_DEFAULTS.
45984         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45985         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45986         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45987         (gl_OPENAT_DEFAULTS): Remove macro.
45988
45989 2009-09-06  Bruno Haible  <bruno@clisp.org>
45990
45991         * modules/openat (configure.ac): Remove unneeded witness.
45992
45993 2009-09-06  Bruno Haible  <bruno@clisp.org>
45994
45995         Set errno to ENOSYS when a function is entirely unsupported.
45996         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45997         EOPNOTSUPP.
45998         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45999         * modules/chown (Depends-on): Remove errno.
46000
46001 2009-09-06  Bruno Haible  <bruno@clisp.org>
46002
46003         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
46004
46005 2009-09-06  Bruno Haible  <bruno@clisp.org>
46006
46007         * lib/sys_stat.in.h: Fix preprocessor command indentation.
46008
46009 2009-09-06  Ben Pfaff  <blp@gnu.org>
46010             Bruno Haible  <bruno@clisp.org>
46011
46012         Work around a glibc bug in strtok_r.
46013         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
46014         Undefine if UNDEFINE_STRTOK_R is set.
46015         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
46016         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46017         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
46018         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
46019         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
46020         UNDEFINE_STRTOK_R.
46021         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
46022
46023 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
46024
46025         exclude: minor fix
46026         * lib/exclude.c: Include wctype.h
46027
46028 2009-09-06  Akim Demaille  <demaille@gostai.com>
46029
46030         bootstrap: improve error message
46031         * build-aux/bootstrap (find_tool): Upon failure, report the list
46032         of candidates.
46033         Honor the initial value of the envvar.
46034
46035 2009-09-05  Eric Blake  <ebb9@byu.net>
46036
46037         symlinkat: new module
46038         * modules/symlinkat: New file.
46039         * lib/symlinkat.c: Likewise.
46040         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
46041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
46042         * modules/unistd (Makefile.am): Use them.
46043         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
46044         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
46045         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
46046         * MODULES.html.sh (File system functions): Mention module.
46047         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
46048         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
46049         * modules/symlinkat-tests: New test.
46050         * tests/test-symlinkat.c: Likewise.
46051
46052         test-openat-safer: add more checks
46053         * tests/test-openat-safer.c (main): Check more code paths.
46054
46055 2009-09-05  Jim Meyering  <meyering@redhat.com>
46056
46057         syntax-check: detect unnecessary inclusion of openat.h
46058         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
46059
46060 2009-09-05  Bruno Haible  <bruno@clisp.org>
46061
46062         Support towlower, towupper.
46063         * doc/posix-functions/towlower.texi: Mention module wctype.
46064         * doc/posix-functions/towupper.texi: Likewise.
46065         * lib/wctype.in.h (towlower, towupper): New functions.
46066         * tests/test-wctype.c: Include stdio.h, stdlib.h.
46067         (ASSERT): New macro.
46068         (e): New variable.
46069         (main): Test also towlower, towupper. Test WEOF argument.
46070         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46071
46072 2009-09-05  Bruno Haible  <bruno@clisp.org>
46073
46074         Fix conversion behaviour when the input is invalid.
46075         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
46076         mark occurring in first pass of indirect conversion.
46077         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
46078         input.
46079         Found by clang's static analyzer.
46080
46081 2009-09-05  Bruno Haible  <bruno@clisp.org>
46082
46083         * tests/test-striconveh.c (main): Test indirect conversion on platforms
46084         where direct conversion is possible.
46085
46086 2009-09-04  Eric Blake  <ebb9@byu.net>
46087
46088         openat: fail with ENOENT on empty name
46089         * lib/openat-proc.c (openat_proc_name): Special-case the empty
46090         buffer.
46091
46092         link-follow: fix logic bug in prior patch
46093         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
46094         reversed sense of yes and no in prior patch.  Avoid confusing
46095         compilation failure with desired semantics.
46096
46097         link-follow: accommodate mingw and cross-compilation
46098         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
46099         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
46100         cross-compilation results to -1, to make linkat easier to
46101         implement when cross-compiling.  Trivially support mingw.
46102         * modules/link-follow (configure.ac): Call new name.
46103         * NEWS: Mention this.
46104
46105 2009-09-03  Eric Blake  <ebb9@byu.net>
46106
46107         faccessat: compile replacement
46108         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
46109         needed.
46110
46111         fts: fix compilation error
46112         * lib/fts.c (includes): Re-add "openat.h", for
46113         openat_needs_fchdir.
46114
46115         faccessat: new module
46116         * modules/faccessat: New file.
46117         * lib/faccessat.c: Likewise.
46118         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
46119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
46120         * modules/unistd (Makefile.am): Use it.
46121         * lib/unistd.in.h (faccessat): Declare it.
46122         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
46123         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
46124         * MODULES.html.sh (File system functions): Mention it.
46125         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
46126         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
46127
46128         euidaccess: prefer POSIX over non-standard implementation
46129         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
46130         * lib/euidaccess.c (euidaccess): Use it if available.
46131
46132         openat: make template easier to use
46133         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
46134         AT_FUNC_F2 to be undefined.
46135         (VALIDATE_FLAG): New macro; use it to reject bad flags.
46136         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
46137         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
46138         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
46139         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
46140         Likewise.
46141         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
46142         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
46143         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
46144         Likewise.
46145
46146         openat: declare in POSIX headers
46147         * NEWS: Mention this.
46148         * modules/openat (configure.ac): Declare witnesses.
46149         (Depends-on): Add fcntl-h, sys_stat, unistd.
46150         (Include): Mention correct headers.
46151         * modules/fcntl-h (Depends-on): Add link-warning.
46152         (Files): Add openat.m4.
46153         (Makefile.am): Substitute witnesses.
46154         * modules/sys_stat (Files, Makefile.am): Likewise.
46155         * modules/unistd (Files, Makefile.am): Likewise.
46156         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
46157         (gl_OPENAT_DEFAULTS): New macro.
46158         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
46159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
46160         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
46161         (SYS_STAT_H): Remove unused variable.
46162         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
46163         * lib/fcntl--.h (includes): Remove unneeded header.
46164         * lib/openat-safer.c (includes): Likewise.
46165         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
46166         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
46167         appropriate headers.
46168         (__OPENAT_PREFIX): Delete.
46169         * lib/fcntl.in.h (openat): Provide declaration.
46170         (AT_FDCWD): Fix Solaris bug.
46171         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
46172         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
46173         * lib/fchmodat.c (includes):  Adjust to find declaration.
46174         * lib/fchownat.c (includes): Likewise.
46175         * lib/mkdirat.c (includes): Likewise.
46176         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
46177         still visible.
46178
46179 2009-09-02  Eric Blake  <ebb9@byu.net>
46180
46181         errno: use consistently
46182         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
46183         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
46184         * lib/canonicalize.c (ELOOP): Likewise.
46185         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
46186         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
46187         * lib/lchown.c (EOPNOTSUPP): Likewise.
46188         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
46189         * lib/savewd.c (ESTALE): Likewise.
46190         * lib/settime.c (ENOSYS): Likewise.
46191         * lib/utimens.c (ENOSYS): Likewise.
46192         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
46193         * lib/chdir-safer.c (ELOOP): Likewise.
46194         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
46195         * modules/c-stack (Depends-on): Add errno.
46196         * modules/canonicalize (Depends-on): Likewise.
46197         * modules/chdir-safer (Depends-on): Likewise.
46198         * modules/fdopendir (Depends-on): Likewise.
46199         * modules/inet_ntop (Depends-on): Likewise.
46200         * modules/inet_pton (Depends-on): Likewise.
46201         * modules/lchown (Depends-on): Likewise.
46202         * modules/openat (Depends-on): Likewise.
46203         * modules/savewd (Depends-on): Likewise.
46204         * modules/settime (Depends-on): Likewise.
46205         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
46206
46207         fts: avoid leaking fds
46208         * modules/fts (Depends-on): Add cloexec.
46209         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
46210         flag.
46211
46212         fts: make directory fds more robust
46213         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
46214         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
46215
46216         backupfile, chdir-long, fts, savedir: make safer
46217         * lib/backupfile.c (includes): Use "dirent--.h", since
46218         numbered_backup can write to stderr during readdir.
46219         * lib/savedir.c (includes): Likewise.
46220         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
46221         emulation can write to stderr on failure.
46222         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
46223         * lib/getcwd.c: Document why opendir_safer is unused.
46224         * lib/glob.c: Likewise.
46225         * lib/scandir.c: Likewise.
46226         * lib/openat-proc.c: Likewise, for open_safer.
46227         * modules/backupfile (Depends-on): Add dirent-safer.
46228         * modules/savedir (Depends-on): Likewise.
46229         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
46230         * modules/chdir-long (Depends-on): Add openat-safer.
46231
46232         openat-safer: new module
46233         * modules/openat-safer: New file.
46234         * lib/openat-safer.c: Likewise.
46235         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
46236         * lib/fcntl-safer.h (openat_safer): Declare.
46237         * lib/fcntl--.h (openat): Override.
46238         * MODULES.html.sh (File descriptor based I/O): Mention it.
46239         * lib/openat.h: Add double-inclusion guards.
46240         * lib/openat.c (includes): Only include "fcntl-safer.h", not
46241         "fcntl--.h", so we can implement openat.
46242         * modules/openat-safer-tests: New test.
46243         * tests/test-openat-safer.c: New file.
46244
46245         dirent-safer: new module
46246         * modules/dirent-safer: New file.
46247         * lib/dirent--.h: Likewise.
46248         * lib/dirent-safer.h: Likewise.
46249         * lib/opendir-safer.c: Likewise.
46250         * m4/dirent-safer.m4: Likewise.
46251         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
46252         * modules/dirent-safer-tests: New test.
46253         * tests/test-dirent-safer.c: New file.
46254         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
46255
46256         fdopendir: optimize on mingw
46257         * lib/unistd.in.h (_gl_directory_name): New prototype.
46258         * lib/fchdir.c (_gl_directory_name): Implement it.
46259         (fchdir): Use it to simplify implementation.
46260         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
46261         fchdir, when available, to avoid calling [f]chdir().
46262
46263         fdopendir: split into its own module
46264         * lib/openat.c (fdopendir): Move...
46265         * lib/fdopendir.c: ...into new file.
46266         * modules/fdopendir: New module.
46267         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
46268         * modules/openat (Depends-on): Add fdopendir.
46269         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
46270         fdopendir here.
46271         * modules/savedir (Depends-on): Only need fdopendir, not full
46272         openat.
46273         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
46274         * lib/openat.h (fdopendir): Drop prototype.
46275         * lib/dirent.in.h (fdopendir): Provide prototype.
46276         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
46277         * modules/dirent (Makefile.am): Substitute them.
46278         * MODULES.html.sh (File system functions): Mention it.
46279         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
46280         * modules/fdopendir-tests: New file.
46281         * tests/test-fdopendir.c: Likewise.
46282
46283         fchdir: use more consistent macro convention
46284         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
46285         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
46286         REPLACE_FCHDIR, rather than relying on config.h macros.
46287         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
46288         inside a single make-time REPLACE_FCHDIR block, rather than using
46289         the config.h FCHDIR_REPLACEMENT.
46290         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
46291         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
46292         Manage fstat replacement.
46293         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
46294         REPLACE_FCHDIR.
46295         * modules/sys_stat (Files): Add m4/unistd_h.m4.
46296         (Makefile.am): Substitute REPLACE_FCHDIR.
46297         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
46298         FCHDIR_REPLACEMENT.
46299         * lib/dup-safer.c (dup_safer): Likewise.
46300         * lib/dup2.c (rpl_dup2): Likewise.
46301         * lib/dup3.c (rpl_dup3): Likewise.
46302         * lib/open.c (rpl_open): Likewise.
46303
46304         fchdir: simplify error handling, and support dup3
46305         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
46306         stdbool, malloc-posix, realloc-posix.
46307         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
46308         (ensure_dirs_slot): Return false on allocation failure.
46309         (rpl_dup2): Delete.
46310         (_gl_register_dup): New function.
46311         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
46312         (_gl_register_fd): Close fd on allocation failure.
46313         * lib/fcntl.in.h (_gl_register_fd): Update signature.
46314         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
46315         prototype.
46316         (rpl_dup2_fchdir): Delete prototype.
46317         * lib/open.c (open): Update caller.
46318         * lib/dup2.c (dup2): Track fchdir metadata.
46319         * lib/dup3.c (dup3): Likewise.
46320         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
46321         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
46322
46323 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46324
46325         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
46326         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
46327         don't pass arguments to AC_OUTPUT.
46328
46329 2009-09-02  Bruno Haible  <bruno@clisp.org>
46330
46331         * modules/mkdtemp (License): Relicense under LGPLv2+.
46332         Reported by Paolo Bonzini.
46333
46334 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46335
46336         Replace uses of obsolete autoconf macros in Jim's modules.
46337         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
46338         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
46339         can evoke a warning from autoconf when run with -Wobsolete
46340         enabled.  They were declared obsolete for good reasons (see
46341         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
46342         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
46343         should not continue using the deprecated macros.
46344         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
46345         obsolete Autoconf macros with modern counterparts.
46346         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46347         * m4/dos.m4 (gl_AC_DOS): Likewise.
46348         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
46349         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46350         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
46351         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
46352         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
46353         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
46354         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
46355         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
46356         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46357         Likewise.
46358         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46359         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
46360         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
46361         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
46362         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
46363         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
46364
46365 2009-09-01  Eric Blake  <ebb9@byu.net>
46366
46367         fchdir: fix off-by-one bug in previous patch
46368         * lib/fchdir.c (rpl_fstat): Use correct bounds.
46369         (_gl_unregister_fd): Delete useless if.
46370
46371 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
46372
46373         maint.mk: sort the list of syntax-check rules
46374         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
46375         easier to get a sense of progress when the rules are run sequentially
46376         and take a long time.
46377
46378 2009-09-01  Simon Josefsson  <simon@josefsson.org>
46379
46380         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
46381         * modules/netinet_in: Likewise.
46382         * modules/sys_file: Likewise.
46383         * modules/sys_ioctl: Likewise.
46384         * modules/sys_select: Likewise.
46385         * modules/sys_socket: Likewise.
46386         * modules/sys_stat: Likewise.
46387         * modules/sys_time: Likewise.
46388         * modules/sys_times: Likewise.
46389         * modules/sys_utsname: Likewise.
46390         * modules/sys_wait: Likewise.
46391
46392 2009-09-01  Jim Meyering  <meyering@redhat.com>
46393
46394         fts: help ensure that return values are not ignored
46395         * lib/fts_.h (__GNUC_PREREQ): Define.
46396         (__attribute_warn_unused_result__): Define.
46397         (fts_children, fts_close, fts_open, fts_read): Declare with
46398         __attribute_warn_unused_result__.
46399
46400         fts: fts_close now fails also when closing a dir file descriptor fails
46401         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
46402         and propagate to caller, along with errno.
46403
46404         announce-gen: correct formatting in --help output
46405         * build-aux/announce-gen (usage): Move the one-line description in
46406         --help output "up", to where it belongs, just after Usage:.
46407
46408 2009-08-31  Eric Blake  <ebb9@byu.net>
46409
46410         fchdir: port to mingw
46411         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
46412         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
46413         opened, then use a substitute.
46414         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
46415         replacement.
46416         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
46417         (_gl_register_fd): No need to check stat if open already filters
46418         all directories.
46419         (fchdir): Fix error condition to match POSIX.
46420         * modules/fchdir (Depends-on): Add sys_stat.
46421         * doc/posix-functions/open.texi (open): Document the limitation.
46422         * modules/fchdir-tests: New file.
46423         * tests/test-fchdir.c: Likewise.
46424
46425         canonicalize: allow cross-testing from cygwin to mingw
46426         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
46427         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
46428         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
46429         Likewise.
46430         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
46431         target does not support symlinks.
46432         * tests/test-canonicalize-lgpl.sh: Likewise.
46433
46434         chown: avoid compilation warning on mingw
46435         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
46436         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
46437         mingw.
46438         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46439         * modules/chown (Depends-on): Add errno.
46440
46441 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
46442
46443         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
46444         command.
46445
46446 2009-08-31  Jim Meyering  <meyering@redhat.com>
46447
46448         canonicalize: remove useless initialization
46449         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
46450         initialization of local, "end".
46451
46452 2009-08-30  Bruno Haible  <bruno@clisp.org>
46453
46454         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
46455         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46456         ENOSYS.
46457
46458 2009-08-30  Bruno Haible  <bruno@clisp.org>
46459
46460         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46461         /usr/xpg4/bin/tr when it exists.
46462         * tests/test-pipe-filter-gi1.sh: Likewise.
46463
46464 2009-08-30  Bruno Haible  <bruno@clisp.org>
46465
46466         Work around deficient /usr/bin/id program on Solaris.
46467         * tests/test-file-has-acl.sh (ID): New variable.
46468         * tests/test-set-mode-acl.sh (ID): Likewise.
46469         * tests/test-copy-acl.sh (ID): Likewise.
46470         * tests/test-copy-file.sh (ID): Likewise.
46471
46472 2009-08-30  Bruno Haible  <bruno@clisp.org>
46473
46474         New module 'xstriconveh'.
46475         * lib/xstriconveh.h: New file.
46476         * lib/xstriconveh.c: New file.
46477         * modules/xstriconveh: New file.
46478
46479 2009-08-30  Bruno Haible  <bruno@clisp.org>
46480
46481         Make it easier to use mem_cd_iconveh.
46482         * lib/striconveh.h (iconveh_t): New type.
46483         (iconveh_open, iconveh_close): New declarations.
46484         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46485         with a single 'const iconveh_t *' argument.
46486         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46487         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46488         with a single 'const iconveh_t *' argument.
46489         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46490         * tests/test-striconveh.c (main): Update.
46491         * NEWS: Mention the change.
46492
46493 2009-08-30  Bruno Haible  <bruno@clisp.org>
46494
46495         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46496         problem.
46497
46498 2009-08-30  Bruno Haible  <bruno@clisp.org>
46499
46500         Work around iconv_open problem on Solaris.
46501         * lib/iconv_open-solaris.gperf: New file.
46502         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46503         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46504         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46505         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46506         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46507         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46508
46509 2009-08-29  Jim Meyering  <meyering@redhat.com>
46510
46511         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46512         * top/maint.mk (cvs-check): Remove target; it was just an alias
46513         to the better-named vc-diff-check.
46514         (maintainer-distcheck): Remove rule.  It was used only from
46515         the (alpha/beta/major) target, and all of its commands but one
46516         were coreutils-specific.
46517         (vc-dist): Remove rule.
46518         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46519         Run vc-diff-check, not vc-dist.
46520         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46521
46522 2009-08-27  Bruno Haible  <bruno@clisp.org>
46523
46524         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46525         of 0.
46526
46527 2009-08-27  Bruno Haible  <bruno@clisp.org>
46528
46529         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46530         compilers.
46531         * doc/func.texi: Document the SunPRO C bug.
46532
46533 2009-08-27  Bruno Haible  <bruno@clisp.org>
46534
46535         Fix link error on Solaris.
46536         * tests/test-parse-duration.c (xstrdup): Remove function.
46537
46538 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46539
46540         ignore-value: handle pointer types, too
46541         * lib/ignore-value.h (__attribute__): Remove definition.
46542         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46543         of a more concise and more-often effective "(void) i" statement.
46544         (ignore_ptr): New function to suppress warnings from functions that
46545         return pointers, and to make it explicit that one function doesn't
46546         handle all cases.
46547
46548 2009-08-25  Bruno Haible  <bruno@clisp.org>
46549
46550         dup2: work around a Linux bug.
46551         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46552         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46553         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46554         Reported by Simon Josefsson.
46555
46556 2009-08-25  Jim Meyering  <meyering@redhat.com>
46557
46558         libguestfs uses gnulib
46559         * users.txt: Add libguestfs.
46560
46561 2009-08-24  Eric Blake  <ebb9@byu.net>
46562
46563         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46564         * lib/pipe2.c (includes): Add binary-io.h.
46565         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46566
46567 2009-08-24  Bruno Haible  <bruno@clisp.org>
46568
46569         Tolerate declared but missing accept4 syscall.
46570         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46571         available.
46572         * lib/sys_socket.in.h (accept4): If the function is already present,
46573         override it.
46574         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46575         * modules/accept4 (Makefile.am): Compile accept4.c always.
46576         Reported by Paolo Bonzini and Eric Blake.
46577
46578 2009-08-23  Bruno Haible  <bruno@clisp.org>
46579
46580         New module 'accept4'.
46581         * lib/sys_socket.in.h (accept4): New declaration.
46582         * lib/accept4.c: New file.
46583         * m4/accept4.m4: New file.
46584         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46585         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46586         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46587         HAVE_ACCEPT4.
46588         * modules/accept4: New file.
46589         * doc/glibc-functions/accept4.texi: Mention the new module.
46590
46591 2009-08-24  Jim Meyering  <meyering@redhat.com>
46592
46593         progname: also set global program_invocation_name, when possible
46594         Before this change, a libtool-enabled program that calls glibc's
46595         error function would report the program name as
46596         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46597         * modules/progname (configure.ac): Check for a declaration of
46598         program_invocation_name.
46599         * lib/progname.c:  Include <errno.h>.
46600         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46601         Set program_invocation_name.
46602
46603 2009-08-23  Bruno Haible  <bruno@clisp.org>
46604
46605         * lib/dup3.c: Include <string.h>.
46606
46607 2009-08-23  Bruno Haible  <bruno@clisp.org>
46608
46609         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46610         * lib/pipe2.c (pipe2): Likewise.
46611         Suggested by Eric Blake.
46612
46613 2009-08-23  Bruno Haible  <bruno@clisp.org>
46614
46615         Tolerate declared but missing dup3 syscall.
46616         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46617         * lib/unistd.in.h (dup3): If the function is already present,
46618         override it.
46619         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46620         * modules/dup3 (Makefile.am): Compile dup3.c always.
46621         Reported by Paolo Bonzini.
46622
46623 2009-08-23  Bruno Haible  <bruno@clisp.org>
46624
46625         Tolerate declared but missing pipe2 syscall.
46626         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46627         available.
46628         * lib/unistd.in.h (pipe2): If the function is already present,
46629         override it.
46630         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46631         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46632         Reported by Paolo Bonzini.
46633
46634 2009-08-23  Bruno Haible  <bruno@clisp.org>
46635
46636         * lib/pipe2.c (pipe2): Move #ifs inside function.
46637
46638 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46639
46640         quotearg: document limitations of quote_these_too
46641         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46642         those limitations are created.
46643         * lib/quotearg.h (set_char_quoting): Document that digits and
46644         letters that are special after backslash are not permitted.
46645         (quotearg_char): Cross-reference set_char_quoting documentation.
46646
46647 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46648
46649         quotearg: implement custom_quoting_style
46650         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46651         right_quote fields.
46652         (set_custom_quoting): New public function.
46653         (quotearg_buffer_restyled): Add left_quote and right_quote
46654         arguments, handle them very much like locale quoting, and update
46655         all uses.
46656         (quotearg_n_custom): New public function.
46657         (quotearg_n_custom_mem): New public function.
46658         (quotearg_custom): New public function.
46659         (quotearg_custom_mem): New public function.
46660         * lib/quotearg.h: Prototype and document new public functions.
46661         (enum quoting_style): For escape_quoting_style and
46662         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46663         ignored even though they're otherwise like c_quoting_style.
46664         Add custom_quoting_style member and document with comparison to
46665         clocale_quoting_style.
46666         * tests/test-quotearg.c (custom_quotes): New array.
46667         (custom_results): New array.
46668         (main): Extend to test custom quoting.
46669
46670 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46671
46672         quotearg: fix right quote escaping when it's in quote_these_too
46673         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46674         quote, be sure to prepend only one backslash.
46675         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46676         (main): Test it.
46677
46678 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46679
46680         quotearg-tests: test escaping of embedded locale quotes
46681         * tests/test-quotearg.c (struct result_strings): Add member for
46682         new input.
46683         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46684         (inputs): Add new input.
46685         (results_g): Add expected results.
46686         (flag_results): Likewise.
46687         (locale_results): Likewise.
46688         (compare_strings): Check those.
46689
46690 2009-08-23  Bruno Haible  <bruno@clisp.org>
46691
46692         Tests for module 'dup3'.
46693         * modules/dup3-tests: New file.
46694         * tests/test-dup3.c: New file.
46695
46696         New module 'dup3'.
46697         * lib/unistd.in.h (dup3): New declaration.
46698         * lib/dup3.c: New file.
46699         * m4/dup3.m4: New file.
46700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46701         HAVE_DUP3.
46702         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46703         * modules/dup3: New file.
46704         * doc/glibc-functions/dup3.texi: Mention the new module.
46705
46706 2009-08-23  Bruno Haible  <bruno@clisp.org>
46707
46708         Tweak the dup2 test.
46709         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46710         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46711         the test file is still empty. Fix argument order of lseek.
46712
46713 2009-08-23  Bruno Haible  <bruno@clisp.org>
46714
46715         Avoid test link errors when the modules getopt-gnu, gettext are used.
46716         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46717         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46718
46719 2009-08-23  Bruno Haible  <bruno@clisp.org>
46720
46721         Fix getdtablesize() on mingw.
46722         * lib/getdtablesize.c (getdtablesize): Implement differently.
46723         * lib/unistd.in.h (getdtablesize): Improve comment.
46724
46725 2009-08-23  Bruno Haible  <bruno@clisp.org>
46726
46727         New module 'mkostemp'.
46728         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46729         * lib/stdlib.in.h (mksotemp): New declaration.
46730         * lib/mkostemp.c: New file, from glibc with modifications.
46731         * lib/tempname.h (GT_FILE): Remove outdated comment.
46732         (gen_tempname): Add flags argument.
46733         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46734         (__GT_FILE): Map to 1.
46735         (small_open, large_open): Remove macros.
46736         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46737         * lib/mkstemp.c (mkstemp): Update.
46738         * lib/mkdtemp.c (mkdtemp): Likewise.
46739         * m4/mkostemp.m4: New file.
46740         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46741         HAVE_MKOSTEMP.
46742         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46743         HAVE_MKOSTEMP.
46744         * modules/mkostemp: New file, based on modules/mkstemp.
46745         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46746         * NEWS: Mention the change.
46747
46748 2009-08-23  Bruno Haible  <bruno@clisp.org>
46749
46750         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46751         Reported by Eric Blake.
46752
46753 2009-08-23  Bruno Haible  <bruno@clisp.org>
46754
46755         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46756         Reported by Eric Blake.
46757
46758 2009-08-23  Bruno Haible  <bruno@clisp.org>
46759
46760         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46761         * modules/pipe2 (Depends-on): Likewise.
46762
46763 2009-08-23  Eric Blake  <ebb9@byu.net>
46764
46765         fcntl-h: add O_TTY_INIT support
46766         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46767         * tests/test-fcntl-h.c (o): Test it.
46768         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46769
46770         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46771         * modules/fcntl: Move <fcntl.h> header replacement...
46772         * modules/fcntl-h: ...to new name, so as not to collide with
46773         like-named function.
46774         * tests/test-fcntl.c: Rename...
46775         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46776         * modules/fcntl-tests: Rename...
46777         * modules/fcntl-h-tests: ...to this.  Update test file name.
46778         * modules/chdir-long (Depends-on): Update clients.
46779         * modules/chdir-safer (Depends-on): Likewise.
46780         * modules/fcntl-safer (Depends-on): Likewise.
46781         * modules/fts (Depends-on): Likewise.
46782         * modules/mkancesdirs (Depends-on): Likewise.
46783         * modules/mkdir-p (Depends-on): Likewise.
46784         * modules/open (Depends-on): Likewise.
46785         * modules/savewd (Depends-on): Likewise.
46786         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46787         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46788
46789 2009-08-22  Bruno Haible  <bruno@clisp.org>
46790
46791         * modules/binary-io (License): Relicense under LGPL.
46792         * modules/pipe2 (License): Likewise.
46793
46794 2009-08-22  Bruno Haible  <bruno@clisp.org>
46795
46796         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46797         return value.
46798         * lib/pipe-filter-gi.c (filter_init): Likewise.
46799         Reported by Eric Blake.
46800
46801 2009-08-22  Bruno Haible  <bruno@clisp.org>
46802
46803         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46804         * modules/pipe (Depends-on): Add pipe2.
46805
46806 2009-08-22  Bruno Haible  <bruno@clisp.org>
46807
46808         Tests for module 'pipe2'.
46809         * modules/pipe2-tests: New file.
46810         * tests/test-pipe2.c: New file.
46811
46812         New module 'pipe2'.
46813         * lib/unistd.in.h (pipe2): New declaration.
46814         * lib/pipe2.c: New file.
46815         * m4/pipe2.m4: New file.
46816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46817         HAVE_PIPE2.
46818         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46819         * modules/pipe2: New file.
46820         * doc/glibc-functions/pipe2.texi: Mention the new module.
46821
46822 2009-08-22  Bruno Haible  <bruno@clisp.org>
46823
46824         Reference some new glibc functions.
46825         * doc/glibc-functions/accept4.texi: New file.
46826         * doc/glibc-functions/dup3.texi: New file.
46827         * doc/glibc-functions/mkostemp.texi: New file.
46828         * doc/glibc-functions/pipe2.texi: New file.
46829         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46830         (Glibc sys/socket.h): Refer to accept4.
46831         (Glibc unistd.h): Refer to dup3, pipe2.
46832         Reported by Eric Blake.
46833
46834 2009-08-22  Jim Meyering  <meyering@redhat.com>
46835             Bruno Haible  <bruno@clisp.org>
46836
46837         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46838         This makes it so packages using automake-1.11's silent-rules option
46839         can print e.g., a single "GEN    configmake.h" line, rather than
46840         the 30+ statements that perform the job.  If you want to see the
46841         actual commands, you can still run "make V=1".
46842         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46843         so that make output is abbreviated when those variables are defined
46844         appropriately.
46845         * modules/argz: Likewise.
46846         * modules/arpa_inet: Likewise.
46847         * modules/byteswap: Likewise.
46848         * modules/configmake: Likewise.
46849         * modules/dirent: Likewise.
46850         * modules/errno: Likewise.
46851         * modules/fcntl: Likewise.
46852         * modules/float: Likewise.
46853         * modules/fnmatch: Likewise.
46854         * modules/getopt-posix: Likewise.
46855         * modules/glob: Likewise.
46856         * modules/iconv_open: Likewise.
46857         * modules/inttypes: Likewise.
46858         * modules/localcharset: Likewise.
46859         * modules/locale: Likewise.
46860         * modules/math: Likewise.
46861         * modules/netdb: Likewise.
46862         * modules/netinet_in: Likewise.
46863         * modules/poll: Likewise.
46864         * modules/posix_spawnp-tests: Likewise.
46865         * modules/sched: Likewise.
46866         * modules/search: Likewise.
46867         * modules/selinux-h: Likewise.
46868         * modules/signal: Likewise.
46869         * modules/spawn: Likewise.
46870         * modules/stdarg: Likewise.
46871         * modules/stdbool: Likewise.
46872         * modules/stddef: Likewise.
46873         * modules/stdint: Likewise.
46874         * modules/stdio: Likewise.
46875         * modules/stdlib: Likewise.
46876         * modules/string: Likewise.
46877         * modules/strings: Likewise.
46878         * modules/sys_file: Likewise.
46879         * modules/sys_ioctl: Likewise.
46880         * modules/sys_select: Likewise.
46881         * modules/sys_socket: Likewise.
46882         * modules/sys_stat: Likewise.
46883         * modules/sys_time: Likewise.
46884         * modules/sys_times: Likewise.
46885         * modules/sys_utsname: Likewise.
46886         * modules/sys_wait: Likewise.
46887         * modules/sysexits: Likewise.
46888         * modules/time: Likewise.
46889         * modules/unistd: Likewise.
46890         * modules/wchar: Likewise.
46891         * modules/wctype: Likewise.
46892
46893 2009-08-22  Jim Meyering  <meyering@redhat.com>
46894
46895         announce-gen: detect write failure
46896         * build-aux/announce-gen: Add Coda at end.
46897         Remove equivalent-but-more-verbose block at top.
46898
46899 2009-08-19  Akim Demaille  <demaille@gostai.com>
46900
46901         bootstrap: --help to stdout.
46902         * bootstrap (usage): Don't send --help to stderr.
46903         Use a here doc instead of a long string.
46904
46905 2009-08-21  Eric Blake  <ebb9@byu.net>
46906
46907         test-popen-safer: split from test-popen
46908         * tests/test-popen.c (main): Move...
46909         * tests/test-popen.h: ...into new file.
46910         * tests/test-popen-safer2.c: New file.
46911         * modules/popen-tests (Files): Add test-popen.h.
46912         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46913         Suggested by Bruno Haible.
46914
46915         test-fcntl-safer: split from test-open
46916         * tests/test-open.c (main): Move...
46917         * tests/test-open.h: ...into new file.
46918         * tests/test-fcntl-safer.c: New file.
46919         * modules/open-tests (Files): Add test-open.h.
46920         * modules/fcntl-safer-tests: New file.
46921         Suggested by Bruno Haible.
46922
46923         test-fopen-safer: split from test-fopen
46924         * tests/test-fopen.c (main): Move...
46925         * tests/test-fopen.h: ...into new file.
46926         * tests/test-fopen-safer.c: New file.
46927         * modules/fopen-tests (Files): Add test-fopen.h.
46928         * modules/fopen-safer-tests: New file.
46929         Suggested by Bruno Haible.
46930
46931 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46932
46933         popen-safer: test O_CLOEXEC at run-time.
46934         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46935
46936 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46937
46938         fcntl: move more flags to the header
46939         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46940         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46941         * lib/fcntl.in.h: Do both things here.
46942
46943 2009-08-21  Jim Meyering  <meyering@redhat.com>
46944
46945         consistently remove $@-t before redirecting to it
46946         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46947         * modules/alloca-opt: Likewise.
46948         * modules/byteswap: Likewise.
46949         * modules/fnmatch: Likewise.
46950         * modules/getopt-posix: Likewise.
46951         * modules/glob: Likewise.
46952         * modules/poll: Likewise.
46953         * modules/posix_spawnp-tests: Likewise.
46954         * modules/sys_socket: Likewise.
46955         * modules/sysexits: Likewise.
46956
46957 2009-08-21  Eric Blake  <ebb9@byu.net>
46958
46959         popen: simplify access to original popen
46960         * lib/popen.c (rpl_popen): No need to worry about popen being a
46961         macro.
46962         Reported by Bruno Haible.
46963
46964 2009-08-20  Eric Blake  <ebb9@byu.net>
46965
46966         build: avoid some compiler warnings
46967         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46968         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46969         type.
46970         (new_exclude_segment, excluded_file_pattern_p)
46971         (excluded_file_name_p): Reduce scope.
46972         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46973         old-style declaration.
46974
46975 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46976
46977         * tests/test-exclude1.sh: Handle Windows EOL.
46978         * tests/test-exclude2.sh: Likewise.
46979         * tests/test-exclude3.sh: Likewise.
46980         * tests/test-exclude4.sh: Likewise.
46981         * tests/test-exclude5.sh: Likewise.
46982         * tests/test-exclude6.sh: Likewise.
46983         * tests/test-exclude7.sh: Likewise.
46984
46985 2009-08-19  Akim Demaille  <demaille@gostai.com>
46986
46987         bootstrap: find sha1sum when named gsha1sum.
46988         * bootstrap (find_tool): New.
46989         ($SHA1SUM): New.
46990         Use it.
46991
46992 2009-08-20  Jim Meyering  <meyering@redhat.com>
46993
46994         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46995         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46996         expression that converts "." in a file name to "\." in the resulting
46997         regexp.  Start with a dummy statement, so that prior shell variable
46998         definitions are expanded portably.  Reported by Simon Josefsson.
46999
47000 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
47001
47002         Fix polling for writeability of a screen buffer.
47003         * lib/poll.c: Distinguish input and screen buffers for the
47004         Win32 implementation.
47005         * lib/select.c: Likewise.
47006
47007 2009-08-19  Eric Blake  <ebb9@byu.net>
47008
47009         popen-safer: prevent popen from clobbering std descriptors
47010         * modules/popen-safer: New file.
47011         * lib/popen-safer.c: Likewise.
47012         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
47013         * lib/stdio--.h (popen): Provide override.
47014         * lib/stdio-safer.h (popen_safer): Provide declaration.
47015         * tests/test-popen.c (includes): Partially test this.
47016         * modules/popen-safer-tests: New file, for more tests.
47017         * tests/test-popen-safer.c: Likewise.
47018         * MODULES.html.sh (file stream based Input/Output): Mention it.
47019
47020         tests: test some of the *-safer modules
47021         * modules/fopen-safer (Depends-on): Add fopen.
47022         * modules/fcntl-safer (Depends-on): Add fcntl.
47023         * modules/stdlib-safer (Depends-on): Add stdlib.
47024         (configure.ac): Set indicator.
47025         * modules/unistd-safer (configure.ac): Likewise.
47026         * modules/tmpfile-safer (configure.ac): Likewise.
47027         (Depends-on): Add tmpfile.
47028         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
47029         active.
47030         * tests/test-fopen.c (includes): Test safer versions when they are
47031         in use.
47032         * tests/test-open.c (includes): Likewise.
47033
47034         popen: fix cygwin 1.5 bug when stdin closed
47035         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
47036         * modules/popen: New file.
47037         * modules/popen-tests: Likewise.
47038         * tests/test-popen.c: Likewise.
47039         * m4/popen.m4: Likewise.
47040         * lib/popen.c: Likewise.
47041         * lib/stdio.in.h (popen): New declaration.
47042         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
47043         * modules/stdio (Makefile.am): Likewise.
47044         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
47045
47046 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
47047
47048         maint.mk: give full control over update-copyright exclusions
47049         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
47050         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
47051         (update-copyright): Don't force inclusion of top-level
47052         ChangeLog.  Don't force exclusion of all COPYING files, but make
47053         them the default exclusion instead.
47054
47055 2009-08-16  Bruno Haible  <bruno@clisp.org>
47056
47057         Fix test failures on Solaris 10.
47058         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
47059         tests when Solaris iconv() is used.
47060         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
47061         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
47062         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
47063         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
47064         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
47065
47066 2009-08-16  Bruno Haible  <bruno@clisp.org>
47067
47068         Fix test failures on Solaris 10.
47069         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
47070         'tr' program and pass it as first argument.
47071         * tests/test-pipe-filter-gi1.sh: Likewise.
47072         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
47073         program as first argument.
47074         * tests/test-pipe-filter-gi1.c (main): Likewise.
47075
47076 2009-08-16  Eric Blake  <ebb9@byu.net>
47077
47078         fpurge: fix previous commits
47079         * modules/fpurge (Makefile.am): Make replacement conditional,
47080         partially reverting 2007-04-29 change; missed in previous
47081         attempt.
47082         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
47083         is missing.
47084
47085 2009-08-16  Bruno Haible  <bruno@clisp.org>
47086
47087         Clarify fpurge's effect on the file position.
47088         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
47089         * tests/test-fpurge.c (main): Make a second pass for checking the file
47090         position.
47091
47092 2009-08-16  Bruno Haible  <bruno@clisp.org>
47093
47094         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
47095         declaration of fpurge is missing.
47096         * tests/test-fpurge.c (main): Check that the file has not more contents
47097         than expected. Close the file before removing it.
47098
47099 2009-08-15  Eric Blake  <ebb9@byu.net>
47100
47101         fpurge: don't wrap working cygwin implementation
47102         * lib/fpurge.c (fpurge): Fix comment typo.
47103         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
47104         1.7 to avoid replacement.
47105         * tests/test-fpurge.c (main): Enhance test.
47106
47107 2009-08-15  Eric Blake  <ebb9@byu.net>
47108         and Jim Meyering  <meyering@redhat.com>
47109
47110         test-update-copyright: skip if perl is insufficient
47111         * tests/test-update-copyright.sh: Failure to run maintainer tool
47112         should not cause testsuite failure on cygwin 1.5.
47113
47114 2009-08-14  Eric Blake  <ebb9@byu.net>
47115
47116         doc: mention more functions added in cygwin 1.7.0
47117         * doc/posix-headers/limits.texi (limits.h): Update for recent
47118         cygwin additions.
47119         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
47120         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
47121         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
47122         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
47123         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
47124
47125 2009-08-14  Eric Blake  <ebb9@byu.net>
47126
47127         maint.mk: simplify update-copyright rule
47128         * top/maint.mk (update-copyright-local): Delete, and document how
47129         to do it in cfg.mk instead.
47130         (update-copyright-exclude-regexp): Delete, and document how to do
47131         it in .x-update-copyright instead.
47132         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
47133         exclude ChangeLog.
47134
47135 2009-08-14  Bruno Haible  <bruno@clisp.org>
47136
47137         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
47138
47139 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47140
47141         maint.mk: support update-copyright-env
47142         * top/maint.mk (update-copyright-env): Define place-holder.
47143         (update-copyright): Expand $(update-copyright-env) before
47144         invoking update-copyright.
47145
47146 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47147
47148         update-copyright: implement forced reformatting
47149         * build-aux/update-copyright: Implement and document
47150         UPDATE_COPYRIGHT_FORCE.
47151         * tests/test-update-copyright.sh: Test it.
47152
47153 2009-08-14  Eric Blake  <ebb9@byu.net>
47154         and Bruno Haible  <bruno@clisp.org>
47155
47156         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
47157         * tests/test-locale.c: Revert previous patch related to NULL.
47158         * tests/test-stdio.c: Likewise.
47159         * tests/test-stdlib.c: Likewise.
47160         * tests/test-string.c: Likewise.
47161         * tests/test-unistd.c: Likewise.
47162         * modules/time-tests (Depends-on): Add verify.
47163         * modules/wchar-tests (Depends-on): Likewise.
47164         * tests/test-time.c: Test for NULL compliance.
47165         * tests/test-wchar.c: Likewise.
47166         * modules/locale (Depends-on): Add stddef.
47167         * modules/stdio (Depends-on): Likewise.
47168         * modules/stdlib (Depends-on): Likewise.
47169         * modules/string (Depends-on): Likewise.
47170         * modules/time (Depends-on): Likewise.
47171         * modules/unistd (Depends-on): Likewise.
47172         * modules/wchar (Depends-on): Likewise.
47173         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
47174         * lib/stdlib.in.h (includes): Likewise.
47175         * lib/string.in.h (includes): Likewise.
47176         * lib/time.in.h (includes): Likewise.
47177         * lib/unistd.in.h (includes): Likewise.
47178         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
47179         replaced.
47180         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47181         * m4/stddef_h.m4: New file.
47182         * modules/stddef: Likewise.
47183         * lib/stddef.in.h: Likewise.
47184         * modules/stddef-tests: Likewise.
47185         * tests/test-stddef.c: Likewise.
47186         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
47187         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
47188         * doc/posix-headers/locale.texi (locale.h): Likewise.
47189         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
47190         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47191         * doc/posix-headers/string.texi (string.h): Likewise.
47192         * doc/posix-headers/time.texi (time.h): Likewise.
47193         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
47194         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
47195
47196 2009-08-14  Eric Blake  <ebb9@byu.net>
47197
47198         doc: improve git diff of texinfo files
47199         * .gitattributes: Add rule for *.texi files, with hint on how to
47200         use it.
47201         Copied from m4, and based on a report by Bruno Haible.
47202
47203 2009-08-14  Bruno Haible  <bruno@clisp.org>
47204
47205         Disable multithread support by default on Cygwin 1.5.x for real.
47206         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
47207
47208 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47209
47210         update-copyright: much ado about intervals
47211         * build-aux/update-copyright: Implement and document
47212         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
47213         of copyright year intervals.
47214         Also, document UPDATE_COPYRIGHT_YEAR.
47215         * tests/test-update-copyright.sh: Test it.
47216
47217         update-copyright: convert 2-digit to 4-digit years
47218         * build-aux/update-copyright: Implement and document.
47219         * tests/test-update-copyright.sh: Update.
47220
47221 2009-08-14  Jim Meyering  <meyering@redhat.com>
47222
47223         test-exclude: avoid coreutils "make check" failure
47224         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
47225         just as in test-argmatch.c.
47226
47227 2009-08-13  Eric Blake  <ebb9@byu.net>
47228
47229         test-dup2: fix bad assumption
47230         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
47231         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
47232
47233         test-version-etc: fix CRLF portability issue
47234         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
47235         recognize \r.
47236         * tests/test-argp-version-etc-1.sh: Likewise.
47237
47238         getopt: update client modules
47239         * modules/argp (Depends-on): Use getopt-gnu.
47240         * modules/git-merge-changelog (Depends-on): Likewise.
47241         * modules/long-options (Depends-on): Likewise.
47242         * modules/xstrtol (Depends-on): Likewise.
47243
47244 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47245
47246         * tests/test-version-etc.sh: Don't fail on different
47247         project/version.  Don't fail on CRLF differences.  Rewrite to use
47248         multiple -e instead of multiple sed forks, suggested by Eric Blake
47249         <ebb9@byu.net>.
47250         * tests/test-argp-version-etc-1.sh: Likewise.
47251
47252 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47253
47254         * tests/test-version-etc.sh: Don't fail on different
47255         project/version.
47256
47257 2009-08-12  Bruno Haible  <bruno@clisp.org>
47258
47259         Tests for modules 'getopt-posix', 'getopt-gnu'.
47260         * modules/getopt-posix-tests: New file.
47261         * tests/test-getopt.c: New file.
47262         * tests/test-getopt.h: New file.
47263         * tests/test-getopt_long.h: New file.
47264
47265         New modules 'getopt-posix', 'getopt-gnu'.
47266         * modules/getopt-gnu: New file, renamed from modules/getopt.
47267         * modules/getopt-posix: New file.
47268         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
47269         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
47270         (gl_GETOPT): Remove macro.
47271         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
47272         Disable the test against BSD systems that declare optreset. Test
47273         against mingw bug. Test against lack of support of optional arguments
47274         on many platforms.
47275         * doc/glibc-headers/getopt.texi: Update module name and list of
47276         relevant platforms.
47277         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
47278         'getopt-gnu' and more portability problems.
47279         * NEWS: Mention the changes.
47280
47281 2009-08-12  Bruno Haible  <bruno@clisp.org>
47282
47283         Ensure that optarg etc. get declared by <unistd.h>.
47284         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
47285         AC_USE_SYSTEM_EXTENSIONS.
47286         * modules/getopt (Depends-on): Add 'extensions'.
47287
47288 2009-08-12  Bruno Haible  <bruno@clisp.org>
47289
47290         Avoid test link errors.
47291         * modules/pipe-filter-ii-tests (Makefile.am): Define
47292         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
47293         * modules/pipe-filter-gi-tests (Makefile.am): Define
47294         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
47295         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47296
47297 2009-08-12  Bruno Haible  <bruno@clisp.org>
47298
47299         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
47300         gl_GETOPT_SUBSTITUTE before.
47301         (gl_GETOPT): Use it.
47302         * m4/argp.m4 (gl_ARGP): Update.
47303         Reported by Sergey Poznyakoff.
47304
47305         * m4/getopt.m4: Reorder macros.
47306         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
47307         (gl_GETOPT_SUBSTITUTE): Remove macro.
47308
47309 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47310
47311         Minor improvement in gitlog-to-changelog
47312
47313         * build-aux/gitlog-to-changelog: New option `--format' makes
47314         output format string configurable.
47315
47316 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47317
47318         Optimize exclude: use hash tables for non-wildcard patterns.
47319
47320         * lib/exclude.c: Include hash.h and mbuiter.h
47321         (struct exclude_pattern, exclude_segment): New data types.
47322         (struct exclude): Rewrite.
47323         (fnmatch_pattern_has_wildcards): New function.
47324         (new_exclude_segment, free_exclude_segment): New functions.
47325         (excluded_file_pattern_p, excluded_file_name_p): New functions.
47326         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
47327         * lib/exclude.h (is_fnmatch_pattern): New prototype.
47328         * modules/exclude: Depend on hash and mbuiter.
47329
47330         * modules/exclude-tests: New file.
47331         * tests/test-exclude.c: New file.
47332         * tests/test-exclude1.sh: New file.
47333         * tests/test-exclude2.sh: New file.
47334         * tests/test-exclude3.sh: New file.
47335         * tests/test-exclude4.sh: New file.
47336         * tests/test-exclude5.sh: New file.
47337         * tests/test-exclude6.sh: New file.
47338         * tests/test-exclude7.sh: New file.
47339
47340 2009-08-12  Bruno Haible  <bruno@clisp.org>
47341
47342         Ensure that getopt() gets declared by <unistd.h>.
47343         * lib/unistd.in.h: Conditionally include getopt.h.
47344         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
47345         Set GNULIB_UNISTD_H_GETOPT.
47346         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47347         GNULIB_UNISTD_H_GETOPT.
47348         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
47349
47350 2009-08-12  Bruno Haible  <bruno@clisp.org>
47351
47352         Clarify logic.
47353         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
47354         gl_replace_getopt instead of GETOPT_H.
47355
47356 2009-08-12  Bruno Haible  <bruno@clisp.org>
47357
47358         * m4/getopt.m4: Add comments.
47359
47360 2009-08-12  Bruno Haible  <bruno@clisp.org>
47361
47362         Disable multithread support by default on Cygwin 1.5.x.
47363         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
47364         set gl_use_threads=no if not specified otherwise.
47365
47366 2009-08-11  Bruno Haible  <bruno@clisp.org>
47367
47368         Avoid compilation error on NetBSD 5.0.
47369         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
47370         * tests/test-stdio.c: Likewise.
47371         * tests/test-stdlib.c: Likewise.
47372         * tests/test-string.c: Likewise.
47373         * tests/test-unistd.c: Likewise.
47374         Reported by Greg Troxel <gdt@ir.bbn.com>
47375         at <https://savannah.gnu.org/support/?106973>.
47376
47377 2009-08-11  Bruno Haible  <bruno@clisp.org>
47378
47379         * modules/dup2-tests (Depends-on): Remove close.
47380
47381         Undo 2009-07-19 commit.
47382         * modules/acl-tests (Depends-on): Remove close.
47383         * modules/binary-io-tests (Depends-on): Likewise.
47384         * modules/closein-tests (Depends-on): Likewise.
47385         * modules/flock-tests (Depends-on): Likewise.
47386         * modules/fsync-tests (Depends-on): Likewise.
47387         * modules/lseek-tests (Depends-on): Likewise.
47388         * modules/pipe-tests (Depends-on): Likewise.
47389         * modules/posix_spawn-tests (Depends-on): Likewise.
47390         * modules/posix_spawnp-tests (Depends-on): Likewise.
47391         * modules/stat-time-tests (Depends-on): Likewise.
47392         * modules/yesno-tests (Depends-on): Likewise.
47393
47394 2009-08-10  Bruno Haible  <bruno@clisp.org>
47395
47396         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
47397
47398 2009-08-10  Bruno Haible  <bruno@clisp.org>
47399
47400         Fix a gcc warning.
47401         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
47402
47403 2009-08-10  Bruno Haible  <bruno@clisp.org>
47404
47405         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
47406         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
47407         not only the first time.
47408         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
47409         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
47410         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
47411         is 1, not only the the first time.
47412
47413 2009-08-10  Bruno Haible  <bruno@clisp.org>
47414
47415         Make it possible to use module 'gethostname' without module 'close'.
47416         * lib/unistd.in.h (close): Evoke a link error only if
47417         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47418         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47419         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47420         * modules/unistd (Makefile.am): Substitute
47421         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47422         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
47423         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47424         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
47425         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47426         * modules/sys_ioctl (Makefile.am): Substitute
47427         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47428         * modules/socket (configure.ac): On native Windows, set
47429         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
47430         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47431         Reported by Sam Steingold <sds@gnu.org>.
47432
47433 2009-08-10  Bruno Haible  <bruno@clisp.org>
47434
47435         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
47436         * modules/ioctl (configure.ac): Likewise.
47437
47438 2009-08-10  Bruno Haible  <bruno@clisp.org>
47439
47440         Avoid collision between gnulib wrapper and libintl wrapper.
47441         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
47442         already defined in intl/printf.c.
47443         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
47444         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
47445
47446 2009-08-09  Bruno Haible  <bruno@clisp.org>
47447
47448         Make <sys/select.h> really self-contained, also on Solaris 10.
47449         * lib/sys_select.in.h: Include <string.h>.
47450         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
47451         Solaris 10 problem.
47452         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
47453         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
47454         Reported by Jim Meyering.
47455
47456 2009-08-09  Bruno Haible  <bruno@clisp.org>
47457
47458         Avoid warnings from 'aclocal' that are due to a use of macro name
47459         AM_XGETTEXT_OPTION that is not defined in automake.
47460         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47461         automake.
47462         * modules/error (configure.ac): Likewise.
47463         * modules/propername (configure.ac): Likewise.
47464         * modules/vasprintf (configure.ac): Likewise.
47465         * modules/verror (configure.ac): Likewise.
47466         * modules/xprintf (configure.ac): Likewise.
47467         * modules/xvasprintf (configure.ac): Likewise.
47468
47469 2009-08-08  Bruno Haible  <bruno@clisp.org>
47470
47471         Avoid compilation error in C++ mode.
47472         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47473         Reported by Sam Steingold <sds@gnu.org>.
47474
47475 2009-08-08  Bruno Haible  <bruno@clisp.org>
47476
47477         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47478         for the various Unix platforms.
47479         * doc/posix-headers/limits.texi: Update platforms list regarding
47480         HOST_NAME_MAX.
47481         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47482
47483 2009-08-07  Jim Meyering  <meyering@redhat.com>
47484
47485         selinux-at: fix typo in a comment
47486         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47487         Spotted by Paolo Bonzini.
47488
47489         selinux-at: remove redundant m4 code, add documentation
47490         * modules/selinux-at (configure.ac): Remove redundant code.
47491         LIB_SELINUX is already set via the dependent module, selinux-h.
47492         (Include): Add quotes around selinux-at.h.
47493         * lib/selinux-at.h: Add documentation.
47494         Reported by Bruno Haible in
47495         http://marc.info/?l=gnulib-bug&m=124958988300749
47496
47497 2009-08-07  Bruno Haible  <bruno@clisp.org>
47498
47499         Avoid link error on MacOS X 10.3 and 10.4.
47500         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47501         on non-ELF systems.
47502         * lib/argp-pv.c (argp_program_version): Likewise.
47503         Reported by Simon Josefsson.
47504
47505 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47506
47507         * tests/test-version-etc.sh: Use $EXEEXT.
47508
47509 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47510
47511         update-copyright: update documentation to point to maint.mk
47512         * build-aux/update-copyright: Here.
47513
47514 2009-08-06  Jim Meyering  <meyering@redhat.com>
47515
47516         maint.mk: support update-copyright-local
47517         * top/maint.mk (update-copyright-local): Define place-holder.
47518         (update-copyright): Depend on $(update-copyright-local).
47519
47520 2009-08-06  Jim Meyering  <meyering@redhat.com>
47521
47522         selinux-at: new module
47523         Initially written for coreutils, this module will soon be
47524         used by findutils, too.
47525         * MODULES.html.sh [Misc]: Add selinux-at.
47526         * lib/selinux-at.h: New file, from coreutils.
47527         * lib/selinux-at.c: Likewise.
47528         * modules/selinux-at: Likewise.
47529         (License): Change from LGPL to GPL, since it depends
47530         on the GPL'd openat module.
47531
47532         doc: update README
47533         * README: Remove references to cogito.
47534         Remove cvs-repo-updating instructions from 2007.
47535         Don't imply that CVS is better if you have limited disk space.
47536
47537 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47538
47539         update-copyright: support C-style comments
47540         * build-aux/update-copyright: Implement and document.
47541         * tests/test-update-copyright.sh: Test.
47542
47543 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47544
47545         update-copyright: support omitted "(C)"
47546         * build-aux/update-copyright: Implement and document.  Also,
47547         allow variable whitespace before "(C)".
47548         * tests/test-update-copyright.sh: Test.
47549
47550 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47551
47552         update-copyright: don't trip on non-FSF copyright statements
47553         * build-aux/update-copyright: Fix so that the first correctly
47554         formatted FSF copyright statement is recognized no matter what
47555         appears before it.  Update documentation.
47556         * tests/test-update-copyright.sh: Test that.
47557
47558 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47559
47560         update-copyright: clean up code a little
47561         * build-aux/update-copyright: Append "_re" to the name of any
47562         variable holding a regular expression.
47563         Replace "old" and "new" with "stmt" in variable names.
47564         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47565         handled correctly.
47566         Format code more consistently.
47567
47568 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47569
47570         update-copyright-tests: improve portability
47571         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47572         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47573
47574 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47575
47576         update-copyright: support @copyright{} and &copy;
47577         * build-aux/update-copyright: Implement and document.
47578         * tests/test-update-copyright.sh: Test.
47579
47580 2009-08-04  Jim Meyering  <meyering@redhat.com>
47581
47582         update-copyright-tests: correctly test EOL=\r\n handling
47583         * tests/test-update-copyright.sh: Put \r at the end of some lines
47584         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47585
47586         maint.mk: make update-copyright exclusion list more configurable
47587         * top/maint.mk (update-copyright): Default to excluding COPYING,
47588         but allow an override, in case someone does want to update that file.
47589
47590         maint.mk: don't update copyright date in COPYING
47591         * top/maint.mk (update-copyright): Exclude COPYING.
47592
47593         maint.mk: add a copyright-updating rule
47594         * top/maint.mk (update-copyright): New rule.
47595         Derived from coreutils/Makefile.am.
47596
47597         update-copyright: rename some variables
47598         * build-aux/update-copyright: Rename a few variables for clarity.
47599         Tweak syntax.  List Joel E. Denny as coauthor.
47600
47601 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47602
47603         update-copyright: fix bug for 2-digit last year and add tests
47604         * build-aux/update-copyright: Fix bug.
47605         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47606         specified.
47607         * modules/update-copyright-tests: New
47608         * tests/test-update-copyright.sh: New.
47609
47610 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47611
47612         update-copyright: handle leading tabs in line prefix
47613         * build-aux/update-copyright: Count leading tabs as 8 spaces
47614         when computing margin.  This helps with the formatting of
47615         ChangeLogs, for example.
47616         Fix documentation a little.
47617
47618 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47619
47620         update-copyright: support EOL=\r\n
47621         * build-aux/update-copyright: Implement that.
47622
47623 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47624
47625         update-copyright: automatically format copyright statements
47626         * build-aux/update-copyright: Implement that.
47627         Also, be a little more predictable and safer by always failing
47628         when the full copyright format is not perfectly recognized as an
47629         unbroken whole.  Discussed at
47630         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47631         Rewrite documentation.
47632
47633 2009-08-03  Bruno Haible  <bruno@clisp.org>
47634
47635         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47636
47637 2009-08-02  Bruno Haible  <bruno@clisp.org>
47638
47639         Tests for module 'uname'.
47640         * modules/uname-tests: New file.
47641         * tests/test-uname.c: New file.
47642
47643         New module 'uname'.
47644         * lib/uname.c: New file.
47645         * m4/uname.m4: New file.
47646         * modules/uname: New file.
47647         * doc/posix-functions/uname.texi: Mention the new module.
47648
47649 2009-08-02  Bruno Haible  <bruno@clisp.org>
47650
47651         Tests for module 'sys_utsname'.
47652         * modules/sys_utsname-tests: New file.
47653         * tests/test-sys_utsname.c: New file.
47654
47655         New module 'sys_utsname'.
47656         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47657         * m4/sys_utsname_h.m4: New file.
47658         * modules/sys_utsname: New file.
47659         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47660
47661 2009-08-02  Bruno Haible  <bruno@clisp.org>
47662
47663         Implicitly initialize the sockets library.
47664         * lib/gethostname.c: Include sockets.h.
47665         (rpl_gethostname): Invoke gl_sockets_startup.
47666         * lib/socket.c: Include sockets.h.
47667         (rpl_socket): Invoke gl_sockets_startup.
47668         * modules/gethostname (Depends-on): Add sockets.
47669         * modules/socket (Depends-on): Likewise.
47670         * tests/test-poll.c: Don't include sockets.h.
47671         (main): Don't invoke gl_sockets_startup.
47672         * tests/test-select.c: Don't include sockets.h.
47673         (main): Don't invoke gl_sockets_startup.
47674
47675 2009-08-02  Bruno Haible  <bruno@clisp.org>
47676
47677         Allow multiple calls to gl_sockets_startup.
47678         * lib/sockets.c (initialized_sockets_version): New variable.
47679         (gl_sockets_startup): Do nothing if already called for this or a higher
47680         version.
47681         (gl_sockets_cleanup): Reset initialized_sockets_version.
47682
47683 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47684
47685         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47686         different project/version.
47687
47688 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47689             Bruno Haible  <bruno@clisp.org>
47690
47691         Tests for module 'pipe-filter-gi'.
47692         * modules/pipe-filter-gi-tests: New file.
47693         * tests/test-pipe-filter-gi1.sh: New file.
47694         * tests/test-pipe-filter-gi1.c: New file.
47695         * tests/test-pipe-filter-gi2.sh: New file.
47696         * tests/test-pipe-filter-gi2-main.c: New file.
47697         * tests/test-pipe-filter-gi2-child.c: New file.
47698
47699         New module 'pipe-filter-gi'.
47700         * lib/pipe-filter-gi.c: New file.
47701         * modules/pipe-filter-gi: New file.
47702
47703 2009-08-02  Bruno Haible  <bruno@clisp.org>
47704             Paolo Bonzini  <bonzini@gnu.org>
47705
47706         Tests for module 'pipe-filter-ii'.
47707         * modules/pipe-filter-ii-tests: New file.
47708         * tests/test-pipe-filter-ii1.sh: New file.
47709         * tests/test-pipe-filter-ii1.c: New file.
47710         * tests/test-pipe-filter-ii2.sh: New file.
47711         * tests/test-pipe-filter-ii2-main.c: New file.
47712         * tests/test-pipe-filter-ii2-child.c: New file.
47713
47714         New module 'pipe-filter-ii'.
47715         * lib/pipe-filter.h: New file.
47716         * lib/pipe-filter-ii.c: New file.
47717         * lib/pipe-filter-aux.h: New file.
47718         * modules/pipe-filter-ii: New file.
47719
47720 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47721
47722         * lib/gc-libgcrypt.c: Change copyright to FSF.
47723         * lib/gc-gnulib.c: Likewise.
47724
47725 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47726
47727         * lib/gethostname.c: Include limits.h.
47728
47729 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47730             Bruno Haible  <bruno@clisp.org>
47731
47732         Ensure HOST_NAME_MAX as part of the gethostname module.
47733         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47734         define also HOST_NAME_MAX.
47735         * tests/test-gethostname.c: Include <limits.h>.
47736         (main): Check also HOST_NAME_MAX.
47737         * doc/posix-headers/limits.texi: Document the mingw problem.
47738
47739 2009-08-02  Bruno Haible  <bruno@clisp.org>
47740
47741         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47742         Add comments.
47743
47744 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47745
47746         * lib/gethostname.c: Add Windows wrapper.
47747         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47748         * modules/gethostname: Depend on sys_socket & errno, for also
47749         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47750         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47751
47752 2009-07-31  Jim Meyering  <meyering@redhat.com>
47753
47754         getloadavg: fix symbol name in comment
47755         * lib/getloadavg.c: Correct a typo I introduced when adding
47756         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47757         Matt Kraai spotted the problem.
47758
47759 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47760
47761         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47762         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47763         code also if ! defined N_NAME_POINTER.
47764         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47765         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47766         but the n_name member is a 12-byte array.
47767
47768 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47769
47770         update-copyright: generalize comment handling
47771         * build-aux/update-copyright: Handle copyright statements
47772         within more comment styles.
47773         Document usage.
47774         Report any file with an external copyright holder or parse failure.
47775
47776 2009-07-29  Jim Meyering  <meyering@redhat.com>
47777
47778         mktime: correct setting of REPLACE_MKTIME
47779         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47780
47781         update-copyright: new module
47782         * modules/update-copyright: New file.
47783         * build-aux/update-copyright: New file.
47784         * MODULES.html.sh (maint+release support): Add update-copyright.
47785
47786 2009-07-27  Bruno Haible  <bruno@clisp.org>
47787
47788         Fix compilation error when <ctime> is used and mktime is replaced.
47789         * lib/time.in.h (mktime): New declaration.
47790         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47791         REPLACE_MKTIME instead of defining mktime in config.h.
47792         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47793         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47794         Reported by Ross McFarland <rwmcfa1@neces.com>.
47795
47796 2009-07-27  Bruno Haible  <bruno@clisp.org>
47797
47798         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47799         Reported by Matt Kraai <mkraai@beckman.com>.
47800
47801 2009-07-25  Jim Meyering  <meyering@redhat.com>
47802
47803         maint.mk: avoid warnings about missing files
47804         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47805         diagnostic when .prev-version does not exist.
47806         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47807         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47808         nonexistent cfg.mk.
47809         Suggestions from Simon Josefsson.
47810
47811 2009-07-25  Bruno Haible  <bruno@clisp.org>
47812
47813         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47814         defined as macros. Needed on QNX 6.4.1.
47815         Reported by Matt Kraai <mkraai@beckman.com>.
47816
47817 2009-07-23  Jim Meyering  <meyering@redhat.com>
47818
47819         maint.mk: invoke "make dist" with a working value of XZ_OPT
47820         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47821
47822 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47823
47824         Make fseeko.c compile on QNX.
47825         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47826
47827 2009-07-22  Peter Simons  <simons@cryp.to>
47828
47829         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47830         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47831         * lib/md4.h: Likewise.
47832         * lib/md5.h: Likewise.
47833         * lib/sha1.h: Likewise.
47834         * lib/sha256.h: Likewise.
47835         * lib/sha512.h: Likewise.
47836
47837         tests-sha1: don't assign literal string to 'char *' variable
47838         * tests/test-sha1.c (main): Declare locals with "const" to match
47839         attributes of the right hand side.
47840
47841 2009-07-21  Eric Blake  <ebb9@byu.net>
47842
47843         dup2: fix more mingw problems
47844         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47845         fd to itself.
47846         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47847         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47848         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47849         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47850         care of mingw bugs.
47851
47852 2009-07-21  Jim Meyering  <meyering@redhat.com>
47853
47854         vc-list-files: avoid failure when /bin/sh is dash
47855         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47856         On some Debian based systems, /bin/sh is a symlink to dash, and running
47857         this command would omit the "/" following each 'tests' prefix:
47858           dash -x build-aux/vc-list-files -C . tests
47859         That is because bash and dash work differently:
47860           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47861           bash ok
47862           dash odd
47863
47864 2009-07-21  Eric Blake  <ebb9@byu.net>
47865
47866         dup2-tests: test previous patch
47867         * modules/dup2-tests: New file.
47868         * tests/test-dup2.c: Likewise.
47869         * tests/test-open.c (main): Avoid unspecified behavior.
47870         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47871         test.
47872
47873         dup2: work around mingw and cygwin 1.5 bug
47874         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47876         * modules/unistd (Makefile.am): Substitute it.
47877         * lib/unistd.in.h (dup2): Declare the replacement.
47878         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47879         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47880         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47881         * modules/execute (Depends-on): Add dup2.
47882         * modules/fseterr (Depends-on): Likewise.
47883         * modules/pipe (Depends-on): Likewise.
47884         * modules/posix_spawn-internal (Depends-on): Likewise.
47885
47886 2009-07-21  Bruno Haible  <bruno@clisp.org>
47887
47888         * modules/.gitattributes: New file.
47889
47890 2009-07-20  Bruno Haible  <bruno@clisp.org>
47891
47892         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47893         (main): Use it.
47894
47895 2009-07-20  Eric Blake  <ebb9@byu.net>
47896
47897         test-pipe: make a bit more robust.
47898         * tests/test-pipe.c (myerr): Allow error messages regardless of
47899         what we do to stderr.
47900         (test_pipe): Rearrange to avoid deadlock.
47901         (child_main): Try a larger read, to ensure we avoided deadlock.
47902         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47903         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47904         if misused.
47905
47906 2009-07-19  Jim Meyering  <meyering@redhat.com>
47907
47908         fts: avoid false-positive cycle-detection
47909         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47910         for each new command line argument.
47911
47912 2009-07-19  Bruno Haible  <bruno@clisp.org>
47913
47914         Fix build error on mingw with the modules sys_select and unistd.
47915         * modules/acl-tests (Depends-on): Add close.
47916         * modules/binary-io-tests (Depends-on): Likewise.
47917         * modules/closein-tests (Depends-on): Likewise.
47918         * modules/flock-tests (Depends-on): Likewise.
47919         * modules/fsync-tests (Depends-on): Likewise.
47920         * modules/lseek-tests (Depends-on): Likewise.
47921         * modules/pipe-tests (Depends-on): Likewise.
47922         * modules/posix_spawn-tests (Depends-on): Likewise.
47923         * modules/posix_spawnp-tests (Depends-on): Likewise.
47924         * modules/stat-time-tests (Depends-on): Likewise.
47925         * modules/yesno-tests (Depends-on): Likewise.
47926
47927 2009-07-19  Bruno Haible  <bruno@clisp.org>
47928
47929         Unify conditionals.
47930         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47931         macros, not at the compiler macros.
47932         * lib/pipe.c: Likewise.
47933         * lib/execute.c: Likewise.
47934         * lib/spawni.c: Likewise.
47935
47936 2009-07-19  Bruno Haible  <bruno@clisp.org>
47937
47938         Fix handling of closed stdin/stdout/stderr on mingw.
47939         * lib/w32spawn.h: Include unistd.h.
47940         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47941         file descriptor with O_NOINHERIT flag.
47942         (fd_safer_noinherit): New function, based on fd-safer.c.
47943         (dup_safer_noinherit): New function, based on dup-safer.c.
47944         (undup_safer_noinherit): New function.
47945         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47946         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47947         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47948         instead of fd_safer.
47949         * tests/test-pipe.c: Include <windows.h>.
47950         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47951         result.
47952
47953         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47954         from main.
47955         (test_pipe): Pass an extra argument for disambiguation.
47956         (main): Invoke parent_main or child_main.
47957
47958         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47959         consistently.
47960
47961 2009-07-18  Eric Blake  <ebb9@byu.net>
47962
47963         test-pipe: fix mingw build
47964         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47965
47966 2009-07-18  Bruno Haible  <bruno@clisp.org>
47967
47968         * modules/pipe-tests (Makefile.am): Fix typo.
47969
47970 2009-07-18  Eric Blake  <ebb9@byu.net>
47971
47972         error: fix mingw build
47973         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47974         Reported by Bruno Haible.
47975
47976         error: avoid undefined use of stdout
47977         * lib/error.c (error, error_at_line): Check that fd 1 is open
47978         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47979         is handling faults and the close_stdout module wants to report the
47980         detection of closed stdout as an error.
47981
47982 2009-07-17  Eric Blake  <ebb9@byu.net>
47983
47984         pipe: be robust in face of closed fds
47985         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47986         should cause child to misbehave.
47987         * modules/pipe-tests: New module.
47988         * tests/test-pipe.c: New file.
47989         * tests/test-pipe.sh: New file.
47990         Reported by Akim Demaille.
47991
47992 2009-07-14  Bruno Haible  <bruno@clisp.org>
47993
47994         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47995         Reported by anonymous kc.
47996
47997 2009-07-07  Jim Meyering  <meyering@redhat.com>
47998
47999         maint.mk: don't look for translatable strings in *.m4 or *.mk
48000         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
48001         when searching for translatable strings.
48002
48003 2009-07-05  Jim Meyering  <meyering@redhat.com>
48004
48005         remove superfluous parentheses in STREQ definition
48006         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
48007         * lib/getugroups.c (STREQ): Likewise.
48008         * lib/fnmatch.c (STREQ): Likewise.
48009         Spotted by Bruno Haible.
48010
48011 2009-07-04  Jim Meyering  <meyering@redhat.com>
48012
48013         argv-iter: new module
48014         * MODULES.html.sh: Add argv-iter.
48015         * lib/argv-iter.c, lib/argv-iter.h: New files.
48016         * modules/argv-iter: New file.
48017         * modules/argv-iter-tests: New file.
48018         * tests/test-argv-iter.c: Test it.
48019
48020 2009-07-04  Bruno Haible  <bruno@clisp.org>
48021
48022         Fix assertion.
48023         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
48024         contains more exact copies of a given entry than file2, leave the extra
48025         copies unpaired rather than aborting.
48026         Reported by Eric Blake.
48027
48028 2009-07-02  Bruno Haible  <bruno@clisp.org>
48029
48030         Speedup git-merge-changelog for git cherry-pick.
48031         * lib/git-merge-changelog.c (struct entries_mapping): New type.
48032         (entries_mapping_get): New function, extracted from compute_mapping.
48033         (entries_mapping_reverse_get): New function.
48034         (compute_mapping): Add a 'full' argument. Return the result in a
48035         'struct entries_mapping'.
48036         (main): Update. Access the mappings through entries_mapping_get.
48037         Reported by Eric Blake.
48038
48039 2009-07-02  Bruno Haible  <bruno@clisp.org>
48040
48041         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
48042         best_i.
48043
48044 2009-07-02  Bruno Haible  <bruno@clisp.org>
48045
48046         Speed up approximate search for matching ChangeLog entries.
48047         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
48048         argument. Call fstrcmp_bounded instead of fstrcmp.
48049         (compute_mapping, try_split_merged_entry, main): Update callers.
48050
48051 2009-07-02  Bruno Haible  <bruno@clisp.org>
48052
48053         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
48054
48055 2009-06-30  Bruno Haible  <bruno@clisp.org>
48056
48057         Reduce the number of uc_is_cased calls.
48058         * lib/unicase.h (casing_suffix_context_t): Add
48059         'first_char_except_ignorable' field.
48060         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
48061         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
48062         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
48063         Update initializer.
48064         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
48065         case-ignorable characters.
48066         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
48067         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
48068         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
48069         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
48070         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
48071
48072 2009-06-30  Bruno Haible  <bruno@clisp.org>
48073
48074         Tests for module 'unicase/ignorable'.
48075         * modules/unicase/ignorable-tests: New file.
48076         * tests/unicase/test-ignorable.c: New file, generated by
48077         gen-uni-tables.
48078
48079         Tests for module 'unicase/cased'.
48080         * modules/unicase/cased-tests: New file.
48081         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
48082         * tests/unicase/test-predicate-part1.h: New file, derived from
48083         tests/unictype/test-predicate-part1.h.
48084         * tests/unicase/test-predicate-part2.h: New file, same as
48085         tests/unictype/test-predicate-part2.h.
48086
48087         Fix evaluation of "Before C" condition of FINAL_SIGMA.
48088         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
48089         (output_casing_properties): New function.
48090         (main): Call it.
48091         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
48092         * lib/unicase/cased.c: Include unictype/bitmap.h.
48093         (uc_is_cased): Define through a bitmap lookup.
48094         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
48095         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
48096         (uc_is_case_ignorable): Define through a bitmap lookup.
48097         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
48098         lib/unictype/bitmap.h.
48099         (Depends-on): Add inline. Clean up.
48100         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
48101         lib/unictype/bitmap.h.
48102         (Depends-on): Add inline. Clean up.
48103         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
48104         recognition.
48105         * tests/unicase/test-u16-tolower.c (main): Likewise.
48106         * tests/unicase/test-u32-tolower.c (main): Likewise.
48107
48108 2009-06-30  Bruno Haible  <bruno@clisp.org>
48109
48110         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
48111         * lib/unicase/u16-casemap.c: Likewise.
48112         * lib/unicase/u32-casemap.c: Likewise.
48113
48114 2009-06-29  Bruno Haible  <bruno@clisp.org>
48115
48116         Define u32_casefold as a wrapper around u32_ct_casefold.
48117         * lib/unicase/u32-casefold.c: Update.
48118         * modules/unicase/u32-casefold (Depends-on): Add
48119         unicase/u32-ct-casefold, unicase/empty-prefix-context,
48120         unicase/empty-suffix-context. Clean up.
48121
48122         Define u16_casefold as a wrapper around u16_ct_casefold.
48123         * lib/unicase/u16-casefold.c: Update.
48124         * modules/unicase/u16-casefold (Depends-on): Add
48125         unicase/u16-ct-casefold, unicase/empty-prefix-context,
48126         unicase/empty-suffix-context. Clean up.
48127
48128         Define u8_casefold as a wrapper around u8_ct_casefold.
48129         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
48130         * lib/unicase/u8-casefold.c: Update.
48131         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
48132         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48133
48134         Define u32_totitle as a wrapper around u32_ct_totitle.
48135         * lib/unicase/u32-totitle.c: Update.
48136         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
48137         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48138
48139         Define u16_totitle as a wrapper around u16_ct_totitle.
48140         * lib/unicase/u16-totitle.c: Update.
48141         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
48142         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48143
48144         Define u8_totitle as a wrapper around u8_ct_totitle.
48145         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
48146         functions.
48147         (FUNC): Delegate to U_CT_TOTITLE.
48148         * lib/unicase/u8-totitle.c: Update.
48149         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
48150         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48151
48152         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
48153         invocation.
48154         * modules/unicase/u32-tolower (Depends-on): Add
48155         unicase/empty-prefix-context, unicase/empty-suffix-context.
48156
48157         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
48158         invocation.
48159         * modules/unicase/u16-tolower (Depends-on): Add
48160         unicase/empty-prefix-context, unicase/empty-suffix-context.
48161
48162         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
48163         * modules/unicase/u8-tolower (Depends-on): Add
48164         unicase/empty-prefix-context, unicase/empty-suffix-context.
48165
48166         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
48167         invocation.
48168         * modules/unicase/u32-toupper (Depends-on): Add
48169         unicase/empty-prefix-context, unicase/empty-suffix-context.
48170
48171         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
48172         invocation.
48173         * modules/unicase/u16-toupper (Depends-on): Add
48174         unicase/empty-prefix-context, unicase/empty-suffix-context.
48175
48176         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
48177         * modules/unicase/u8-toupper (Depends-on): Add
48178         unicase/empty-prefix-context, unicase/empty-suffix-context.
48179
48180         New module 'unicase/u32-ct-casefold'.
48181         * lib/unicase/u32-ct-casefold.c: New file.
48182         * modules/unicase/u32-ct-casefold: New file.
48183
48184         New module 'unicase/u16-ct-casefold'.
48185         * lib/unicase/u16-ct-casefold.c: New file.
48186         * modules/unicase/u16-ct-casefold: New file.
48187
48188         New module 'unicase/u8-ct-casefold'.
48189         * lib/unicase/u8-ct-casefold.c: New file.
48190         * lib/unicase/u-ct-casefold.h: New file, derived from
48191         lib/unicase/u-casefold.h.
48192         * modules/unicase/u8-ct-casefold: New file.
48193
48194         New module 'unicase/u32-ct-totitle'.
48195         * lib/unicase/u32-ct-totitle.c: New file.
48196         * modules/unicase/u32-ct-totitle: New file.
48197
48198         New module 'unicase/u16-ct-totitle'.
48199         * lib/unicase/u16-ct-totitle.c: New file.
48200         * modules/unicase/u16-ct-totitle: New file.
48201
48202         New module 'unicase/u8-ct-totitle'.
48203         * lib/unicase/u8-ct-totitle.c: New file.
48204         * lib/unicase/u-ct-totitle.h: New file, derived from
48205         lib/unicase/u-totitle.h.
48206         * modules/unicase/u8-ct-totitle: New file.
48207
48208         New module 'unicase/u32-ct-tolower'.
48209         * lib/unicase/u32-ct-tolower.c: New file.
48210         * modules/unicase/u32-ct-tolower: New file.
48211
48212         New module 'unicase/u16-ct-tolower'.
48213         * lib/unicase/u16-ct-tolower.c: New file.
48214         * modules/unicase/u16-ct-tolower: New file.
48215
48216         New module 'unicase/u8-ct-tolower'.
48217         * lib/unicase/u8-ct-tolower.c: New file.
48218         * modules/unicase/u8-ct-tolower: New file.
48219
48220         New module 'unicase/u32-ct-toupper'.
48221         * lib/unicase/u32-ct-toupper.c: New file.
48222         * modules/unicase/u32-ct-toupper: New file.
48223
48224         New module 'unicase/u16-ct-toupper'.
48225         * lib/unicase/u16-ct-toupper.c: New file.
48226         * modules/unicase/u16-ct-toupper: New file.
48227
48228         New module 'unicase/u8-ct-toupper'.
48229         * lib/unicase/u8-ct-toupper.c: New file.
48230         * modules/unicase/u8-ct-toupper: New file.
48231
48232         Add context arguments to u*_casemap functions.
48233         * lib/unicase/unicasemap.h: Include unicase.h.
48234         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
48235         suffix_context arguments.
48236         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
48237         functions.
48238         (FUNC): Add prefix_context and suffix_context arguments. Use
48239         uc_is_cased and uc_is_case_ignorable.
48240         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
48241         * lib/unicase/u16-casemap.c: Likewise.
48242         * lib/unicase/u32-casemap.c: Likewise.
48243         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
48244         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48245         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
48246         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48247         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
48248         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48249
48250         New module 'unicase/u32-suffix-context'.
48251         * lib/unicase/u32-suffix-context.c: New file.
48252         * modules/unicase/u32-suffix-context: New file.
48253
48254         New module 'unicase/u16-suffix-context'.
48255         * lib/unicase/u16-suffix-context.c: New file.
48256         * modules/unicase/u16-suffix-context: New file.
48257
48258         New module 'unicase/u8-suffix-context'.
48259         * lib/unicase/u8-suffix-context.c: New file.
48260         * lib/unicase/u-suffix-context.h: New file.
48261         * modules/unicase/u8-suffix-context: New file.
48262
48263         New module 'unicase/empty-suffix-context'.
48264         * lib/unicase/empty-suffix-context.c: New file.
48265         * modules/unicase/empty-suffix-context: New file.
48266
48267         New module 'unicase/u32-prefix-context'.
48268         * lib/unicase/u32-prefix-context.c: New file.
48269         * modules/unicase/u32-prefix-context: New file.
48270
48271         New module 'unicase/u16-prefix-context'.
48272         * lib/unicase/u16-prefix-context.c: New file.
48273         * modules/unicase/u16-prefix-context: New file.
48274
48275         New module 'unicase/u8-prefix-context'.
48276         * lib/unicase/u8-prefix-context.c: New file.
48277         * lib/unicase/u-prefix-context.h: New file.
48278         * lib/unicase/context.h: New file.
48279         * modules/unicase/u8-prefix-context: New file.
48280
48281         New module 'unicase/empty-prefix-context'.
48282         * lib/unicase/empty-prefix-context.c: New file.
48283         * modules/unicase/empty-prefix-context: New file.
48284
48285         New module 'unicase/ignorable'.
48286         * lib/unicase/ignorable.c: New file.
48287         * modules/unicase/ignorable: New file.
48288
48289         New module 'unicase/cased'.
48290         * lib/unicase/caseprop.h: New file.
48291         * lib/unicase/cased.c: New file.
48292         * modules/unicase/cased: New file.
48293
48294         New functions for case mapping of substrings.
48295         * lib/unicase.h (casing_prefix_context_t): New type.
48296         (unicase_empty_prefix_context): New variable.
48297         (u8_casing_prefix_context, u16_casing_prefix_context,
48298         u32_casing_prefix_context, u8_casing_prefixes_context,
48299         u16_casing_prefixes_context, u32_casing_prefixes_context): New
48300         declarations.
48301         (casing_suffix_context_t): New type.
48302         (unicase_empty_suffix_context): New variable.
48303         (u8_casing_suffix_context, u16_casing_suffix_context,
48304         u32_casing_suffix_context, u8_casing_suffixes_context,
48305         u16_casing_suffixes_context, u32_casing_suffixes_context,
48306         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
48307         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
48308         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
48309         declarations.
48310
48311 2009-06-28  Jim Meyering  <meyering@redhat.com>
48312
48313         boostrap: indent only with spaces
48314         * build-aux/bootstrap: Indent only with spaces, never TABs.
48315
48316         bootstrap: split long lines
48317         * build-aux/bootstrap: Keep line length < 80.
48318
48319         bootstrap: sync from coreutils
48320         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
48321         just as autoreconf does.  Verify a list of prerequisite
48322         package-name,version-number pairs if defined in bootstrap.conf.
48323         Refer to README-prereq, if prerequisites are not satisfied.
48324
48325 2009-06-27  Eric Blake  <ebb9@byu.net>
48326
48327         tests: add test for bogus NULL definition
48328         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
48329         * tests/test-stdlib.c: Likewise.
48330         * tests/test-string.c: Likewise.
48331         * tests/test-locale.c: Likewise.
48332         * tests/test-unistd.c: Likewise.
48333         * modules/stdio-tests (Depends-on): Add verify.
48334         * modules/stdlib-tests (Depends-on): Likewise.
48335         * modules/string-tests (Depends-on): Likewise.
48336         * modules/locale-tests (Depends-on): Likewise.
48337         * modules/unistd-tests (Depends-on): Likewise.
48338
48339 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
48340
48341         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
48342         self-explaining comment.
48343         * m4/selinux-selinux-h: Update serial.
48344         (gl_LIBSELINUX): New macro, adding a warning for missing development
48345         packages to code extracted from...
48346         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
48347         Add warning for missing development packages here, too.
48348
48349 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
48350
48351         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
48352
48353 2009-06-25  Eric Blake  <ebb9@byu.net>
48354
48355         version-etc: fix regression
48356         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
48357         gcc.
48358         (version_etc): Use it, to catch bugs with trailing NULL.
48359         * lib/version-etc.c (version_etc_arn): Delete unused argument.
48360         (version_etc_va): Fix logic bug.
48361         * modules/version-etc-tests: Add test.
48362         * tests/test-version-etc.c: New file.
48363         * tests/test-version-etc.sh: Likewise.
48364
48365 2009-06-25  Sam Steingold  <sds@gnu.org>
48366
48367         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
48368         mbtowc declaration.
48369
48370 2009-06-25  Eric Blake  <ebb9@byu.net>
48371
48372         fpurge: migrate into <stdio.h>
48373         * lib/fpurge.h: Delete...
48374         * lib/stdio.in.h (fpurge): ...and declare here, instead.
48375         * lib/fpurge.c (fpurge): Change declaring header.
48376         * modules/fpurge (Files): Drop deleted file.
48377         (Depends-on): Add stdio.
48378         (configure.ac): Set witness.
48379         * modules/stdio (Makefile.am): Support fpurge macros.
48380         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48381         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
48382         * lib/fflush.c: Update client.
48383         * tests/test-fpurge.c: Likewise.
48384         * NEWS: Mention the change.
48385
48386 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48387
48388         * lib/argp-version-etc.c (program_authors): Add const
48389         qualifier.
48390         * lib/version-etc.c: Fix typos in the comments.
48391         * modules/argp-version-etc: Depends on version-etc.
48392
48393 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48394
48395         argp-version-etc: new module.
48396
48397         * lib/argp-version-etc.c: New file.
48398         * lib/argp-version-etc.h: New file.
48399         * modules/argp-version-etc: New file.
48400         * modules/argp-version-etc-tests: New file.
48401         * tests/test-argp-version-etc.c: New test.
48402         * tests/test-argp-version-etc-1.sh: New test.
48403
48404 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48405
48406         Provide additional interfaces and documentation for version-etc
48407         module.
48408
48409         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
48410         interfaces.
48411         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
48412         prototypes.
48413
48414 2009-06-24  Bruno Haible  <bruno@clisp.org>
48415
48416         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
48417         HAVE_LIB${NAME} macro.
48418         Reported by Sam Steingold <sds@gnu.org>.
48419
48420 2009-06-23  Simon Josefsson  <simon@josefsson.org>
48421
48422         * modules/hash-tests (test_hash_LDADD): Link to libintl when
48423         needed.
48424
48425 2009-06-21  Bruno Haible  <bruno@clisp.org>
48426
48427         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
48428         work.
48429         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
48430         together with LIB${NAME}, LTLIB${NAME}.
48431         Reported by Sam Steingold <sds@gnu.org>.
48432
48433 2009-06-20  Jim Meyering  <meyering@redhat.com>
48434
48435         tests: make sc_require_test_exit_idiom more generic
48436         * top/maint.mk (Exit_witness_file): New overridable variable.
48437         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
48438         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
48439
48440 2009-06-19  Jim Meyering  <meyering@redhat.com>
48441
48442         hash: reverse order of src/dst parameters in an internal interface
48443         * lib/hash.c (transfer_entries): Reverse order of parameters to
48444         put DST before SRC.  Adjust callers.
48445
48446         tests: test-hash: avoid wholesale duplication
48447         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
48448         Instead, use a loop and add a single conditional.
48449
48450         tests: test-hash: allow seed selection via a command line argument
48451         * tests/test-hash.c (get_seed): New function.
48452         (main): Use it.
48453
48454 2009-06-19  Eric Blake  <ebb9@byu.net>
48455
48456         hash: avoid memory leak on allocation failure
48457         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48458         failure.  Factor repeated algorithm...
48459         (transfer_entries): ...into new helper routine.
48460         (hash_delete): React to hash_rehash return value.
48461
48462         hash: reduce memory pressure in hash_rehash no-op case
48463         * lib/hash.c (next_prime): Avoid overflow.
48464         (hash_initialize): Factor bucket size computation...
48465         (compute_bucket_size): ...into new helper function.
48466         (hash_rehash): Use new function and open coding to reduce memory
48467         pressure, and avoid a memory leak in USE_OBSTACK code.
48468         Reported by Jim Meyering.
48469
48470 2009-06-18  Eric Blake  <ebb9@byu.net>
48471
48472         hash: make rotation more obvious
48473         * modules/hash (Depends-on): Add bitrotate and stdint.
48474         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48475         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48476         (SIZE_MAX): Rely on headers for definition.
48477         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48478         (raw_hasher): Use rotr_sz.
48479         Suggested by Jim Meyering.
48480
48481         hash: fix memory leak in last patch
48482         * lib/hash.c (hash_rehash): Avoid memory leak.
48483
48484         hash: avoid no-op rehashing
48485         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48486
48487         hash: provide default callback functions
48488         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48489         (hash_initialize): Use them as defaults.
48490         * tests/test-hash.c (main): Test this.
48491
48492         hash: minor optimization
48493         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48494         when possible.
48495         (hash_initialize): Document this promise.
48496         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48497         * tests/test-hash.c (hash_compare_strings): Test this.
48498
48499 2009-06-18  Bruno Haible  <bruno@clisp.org>
48500
48501         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48502         going to be replaced anyway.
48503
48504 2009-06-18  Bruno Haible  <bruno@clisp.org>
48505
48506         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48507         in one place.
48508         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48509         be replaced anyway.
48510
48511 2009-06-18  Eric Blake  <ebb9@byu.net>
48512
48513         hash: check for resize before insertion
48514         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48515         threshold before insertion, so that a pathological hash_rehash
48516         that fills every bucket can still trigger another rehash.
48517
48518 2009-06-18  Jim Meyering  <meyering@redhat.com>
48519
48520         hash-tests: add a loop around the small tests
48521         * tests/test-hash.c (main): Repeat small tests with selected
48522         small initial table sizes.
48523
48524 2009-06-17  Eric Blake  <ebb9@byu.net>
48525
48526         hash: minor cleanups
48527         * lib/hash.h (hash_entry): Make opaque, by moving...
48528         * lib/hash.c (hash_entry): ...here.
48529         (hash_insert): Clarify restrictions on what can be inserted.
48530         (hash_get_next): Clarify when it is safe to remove an element
48531         during traversal.
48532         (check_tuning): Skip verification when tuning is known safe.
48533         (hash_initialize): Clarify restrictions on tuning.
48534
48535 2009-06-17  Jim Meyering  <jim@meyering.net>
48536         and Eric Blake  <ebb9@byu.net>
48537
48538         hash-tests: new module
48539         * modules/hash-tests: New file.
48540         * tests/test-hash.c: New file.
48541
48542 2009-06-17  Eric Blake  <ebb9@byu.net>
48543
48544         strstr-simple: document new module
48545         * MODULES.html.sh: Document new module.
48546
48547         strstr, strcasestr: replace on platforms with broken memchr
48548         * modules/strstr: Split into...
48549         * modules/strstr-simple: ...new module that does not care about
48550         performance, but does care about glibc bug.
48551         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48552         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48553         if platform memchr is broken, per Debian bug 521737.
48554         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48555         memchr.
48556         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48557         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48558         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48559         * modules/mountlist (Depends-on): Add strstr-simple.
48560         * modules/gen-uni-tables (Depends-on): Likewise.
48561         * modules/argz (Depends-on): Add strstr.
48562
48563 2009-06-17  Bruno Haible  <bruno@clisp.org>
48564
48565         * modules/posix_spawn-internal (Depends-on): Add errno.
48566
48567 2009-06-17  Bruno Haible  <bruno@clisp.org>
48568
48569         Define missing ESTALE on Interix 3.5.
48570         * lib/errno.in.h (ESTALE): Assign a value if missing.
48571         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48572         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48573         missing.
48574         * doc/posix-headers/errno.texi: Mention the Interix bug.
48575         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48576
48577 2009-06-15  Eric Blake  <ebb9@byu.net>
48578
48579         memchr, memchr2: add valgrind exception
48580         * lib/memchr.valgrind: New file.
48581         * lib/memchr2.valgrind: New file.
48582         * modules/memchr (Files): Distribute valgrind file.
48583         * modules/memchr2 (Files): Likewise.
48584
48585         docs: memchr is no longer obsolete
48586         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48587         * lib/string.in.h (memchr): Simplify logic.
48588
48589 2009-06-14  Jim Meyering  <meyering@redhat.com>
48590
48591         link-follow: fix the "checking..." message to not mention trailing slash
48592         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48593         never considered trailing slashes.
48594
48595 2009-06-14  Bruno Haible  <bruno@clisp.org>
48596
48597         * m4/memchr.m4: Mention also the bug on IA-64.
48598         * doc/posix-functions/memchr.texi: Likewise.
48599
48600 2009-06-12  Eric Blake  <ebb9@byu.net>
48601
48602         memchr: detect broken x86_64 and alpha implementations
48603         * modules/memchr-tests (Depends-on): Move mmap detection...
48604         * modules/memchr (Depends-on): ...here.
48605         (configure.ac): Set indicator.
48606         * lib/string.in.h (memchr): Declare replacement.
48607         * modules/string (Makefile.am): Trigger replacement.
48608         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48609         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48610         bugs.
48611         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48612         * modules/getpagesize (License): Relax license.
48613
48614 2009-06-11  Bruno Haible  <bruno@clisp.org>
48615
48616         * lib/idpriv.h: Add more references.
48617
48618 2009-06-08  Bruno Haible  <bruno@clisp.org>
48619
48620         Tests for module 'idpriv-droptemp'.
48621         * modules/idpriv-droptemp-tests: New file.
48622         * tests/test-idpriv-droptemp.sh: New file.
48623         * tests/test-idpriv-droptemp.su.sh: New file.
48624         * tests/test-idpriv-droptemp.c: New file.
48625
48626         New module 'idpriv-droptemp'.
48627         * lib/idpriv-droptemp.c: New file.
48628         * modules/idpriv-droptemp: New file.
48629
48630 2009-06-08  Bruno Haible  <bruno@clisp.org>
48631
48632         Tests for module 'idpriv-drop'.
48633         * modules/idpriv-drop-tests: New file.
48634         * tests/test-idpriv-drop.sh: New file.
48635         * tests/test-idpriv-drop.su.sh: New file.
48636         * tests/test-idpriv-drop.c: New file.
48637
48638         New module 'idpriv-drop'.
48639         * lib/idpriv.h: New file.
48640         * lib-idpriv-drop.c: New file.
48641         * m4/idpriv.m4: New file.
48642         * modules/idpriv-drop: New file.
48643
48644 2009-06-08  Bruno Haible  <bruno@clisp.org>
48645
48646         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48647         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48648         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48649         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48650         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48651         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48652         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48653
48654 2009-06-08  Eric Blake  <ebb9@byu.net>
48655
48656         test-strstr: use memory fence, when possible
48657         * tests/test-strstr.c (main): Use memory fence, in order to be
48658         more likely to trigger Debian bug 521737.
48659         * modules/strstr-tests (Files): Pull in additional files.
48660
48661         memchr: no longer obsolete, for wider field testing
48662         * modules/memchr (Status, Notice): Delete, this module is no
48663         longer obsolete.
48664         * modules/vasnprintf (Depends-on): Add memchr.
48665
48666 2009-06-07  Jim Meyering  <meyering@redhat.com>
48667
48668         hash: declare some functions with the warn_unused_result attribute
48669         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48670
48671 2009-06-07  Bruno Haible  <bruno@clisp.org>
48672
48673         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48674         Reported by Eric Blake.
48675
48676 2009-06-06  Eric Blake  <ebb9@byu.net>
48677
48678         test-alignof: fix typo with long double
48679         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48680         compiler error.
48681
48682 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48683
48684         Escape non-texinfo { and }s.
48685         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48686         markup error.
48687
48688 2009-06-04  Jim Meyering  <meyering@redhat.com>
48689
48690         gitlog-to-changelog: don't infloop on an empty commit log
48691         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48692         Reported by Boris Petersen <transacid@centerim.org>.
48693
48694 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48695
48696         version-etc: extend for packagers
48697         Add three new configure options, intended for packagers:
48698           --with-packager="packager name"
48699           --with-packager-version="packager-specific version"
48700           --with-packager-bug-reports="packager bug reporting"
48701         An example with coreutils:
48702           $ ./configure \
48703             --with-packager=Gentoo \
48704             --with-packager-bug-report=http://bugs.gentoo.org/ \
48705             --with-packager-version="patchset 1.6"
48706           $ ./src/ls --version | head -n2
48707           ls (GNU coreutils) 7.1-dirty
48708           Packaged by Gentoo (patchset 1.6)
48709         Note that the bug reporting info via --help doesn't show up because
48710         coreutils uses its own custom emit_bug_reporting_address() implementation
48711         in src/system.h.  If it didn't, it'd look like:
48712           $ ./src/ls --help | tail -n4
48713           Report bugs to <bug-coreutils@gnu.org>.
48714           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48715           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48716           General help using GNU software: <http://www.gnu.org/gethelp/>.
48717         * lib/version-etc.c: Print new information, if provided.
48718         * m4/version-etc.m4: New file.
48719         * modules/version-etc (Files): Add m4/version-etc.m4.
48720         (configure.ac): Add gl_VERSION_ETC.
48721
48722 2009-05-31  Bruno Haible  <bruno@clisp.org>
48723
48724         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48725         and 'int64_t'.
48726         * modules/alignof-tests (Dependencies): Add stdint.
48727         Reported by Eric Blake.
48728
48729 2009-05-31  Bruno Haible  <bruno@clisp.org>
48730
48731         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48732         restriction due to compiler bugs.
48733         Reported by Eric Blake.
48734
48735 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48736             Bruno Haible  <bruno@clisp.org>
48737
48738         Fix test-alignof failure.
48739         * lib/alignof.h (alignof_slot): New macro.
48740         (alignof_type): New macro, with the same semantics as the previous
48741         'alignof'.
48742         (alignof): Alias to alignof_slot.
48743         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48744         check that the results are usable as constant expressions.
48745
48746 2009-05-31  Bruno Haible  <bruno@clisp.org>
48747
48748         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48749         * tests/test-memchr.c (main): Check that memchr does not read past the
48750         first occurrence of the byte.
48751         * tests/test-strstr.c (main): Update comment.
48752         Suggested by Eric Blake.
48753
48754 2009-05-30  Bruno Haible  <bruno@clisp.org>
48755
48756         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48757         detail how to use dumpbin.
48758         Reported by David Byron <dbyron@dbyron.com>.
48759
48760 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48761
48762         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48763
48764 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48765
48766         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48767
48768 2009-05-28  Bruno Haible  <bruno@clisp.org>
48769
48770         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48771         build-aux/ files.
48772
48773 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48774
48775         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48776
48777 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48778
48779         * gnulib-tool (sed_transform_main_lib_file)
48780         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48781         regexps.
48782
48783 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48784
48785         * tests/test-strstr.c: Add another self-test.
48786         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48787         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48788
48789 2009-05-23  Bruno Haible  <bruno@clisp.org>
48790
48791         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48792         change.
48793
48794 2009-05-21  Bruno Haible  <bruno@clisp.org>
48795
48796         Simplify use of mode_t varargs.
48797         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48798         uses 'mode_t' or 'int'.
48799         * lib/openat.c (openat): Likewise.
48800         * lib/open-safer.c (open_safer): Likewise.
48801         * m4/mode_t.m4: New file.
48802         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48803         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48804         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48805         * modules/open (Files): Add m4/mode_t.m4.
48806         * modules/openat (Files): Likewise.
48807         * modules/fcntl-safer (Files): Likewise.
48808         Suggested by Eric Blake.
48809
48810 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48811
48812         * doc/glibc-functions/fallocate.texi: New file.
48813         * doc/gnulib.texi: Include it.
48814
48815 2009-05-21  Eric Blake  <ebb9@byu.net>
48816             Bruno Haible  <bruno@clisp.org>
48817
48818         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48819         invocations.
48820         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48821
48822 2009-05-21  Eric Blake  <ebb9@byu.net>
48823             Bruno Haible  <bruno@clisp.org>
48824
48825         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48826         include_next. Fix of 2008-11-20 commit.
48827         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48828         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48829         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48830         NEXT_MATH_H.
48831         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48832         instead of NEXT_MATH_H.
48833
48834 2009-05-21  Bruno Haible  <bruno@clisp.org>
48835
48836         Avoid redefinition warnings for SIZE_MAX.
48837         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48838         Reported by Simon Josefsson.
48839
48840 2009-05-21  Bruno Haible  <bruno@clisp.org>
48841
48842         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48843         AC_CACHE_VAL.
48844
48845 2009-05-20  Bruno Haible  <bruno@clisp.org>
48846
48847         Make zeroptr.h work on mingw.
48848         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48849         mprotect.
48850         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48851         * modules/memchr2-tests (configure.ac): Likewise.
48852         * modules/memcmp-tests (configure.ac): Likewise.
48853         * modules/memmem-tests (configure.ac): Likewise.
48854         * modules/memrchr-tests (configure.ac): Likewise.
48855         Reported by Simon Josefsson.
48856
48857 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48858
48859         * tests/test-glob.c: Include string.h for strcmp prototype.
48860
48861 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48862
48863         * modules/getdelim (Depends-on): Add explicit stdint, although it
48864         was implicitly already pulled in via realloc-posix.
48865         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48866
48867 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48868
48869         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48870         G. Christensen" <tgc@jupiterrise.com>.
48871         * m4/sys_socket_h.m4: Check for sa_family_t.
48872         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48873         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48874         * tests/test-sys_socket.c: Check that sa_family_t works.
48875
48876 2009-05-18  Eric Blake  <ebb9@byu.net>
48877
48878         maint.mk: allow gnulib_dir in VPATH build
48879         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48880
48881 2009-05-15  Jim Meyering  <meyering@redhat.com>
48882
48883         maint.mk: Give gnulib_dir a default definition.
48884         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48885         Thus, most packages no longer need to specify this variable in cfg.mk
48886
48887 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48888
48889         rename.m4: fix typos that would make non-mingw cross-configure fail
48890         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48891
48892 2009-05-13  Eric Blake  <ebb9@byu.net>
48893
48894         mmap-anon: avoid out-of-order autoconf expansion
48895         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48896         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48897         * modules/memchr-tests (Depends-on): Add extensions.
48898         * modules/memchr2-tests (Depends-on): Add extensions.
48899         * modules/memcmp-tests (Depends-on): Add extensions.
48900         * modules/memmem-tests (Depends-on): Add extensions.
48901         * modules/memrchr-tests (Depends-on): Add extensions.
48902
48903 2009-05-13  Bruno Haible  <bruno@clisp.org>
48904
48905         Make some tests ISO C 99 compliant.
48906         * tests/zerosize-ptr.h: New file.
48907         * tests/test-memchr.c: Include zerosize-ptr.h.
48908         (main): Use a zero-size object pointer instead of NULL.
48909         * tests/test-memchr2.c: Include zerosize-ptr.h.
48910         (main): Use a zero-size object pointer instead of NULL.
48911         * tests/test-memcmp.c: Include zerosize-ptr.h.
48912         (main): Use a zero-size object pointer instead of NULL.
48913         * tests/test-memmem.c: Include zerosize-ptr.h.
48914         (main): Use a zero-size object pointer instead of NULL.
48915         * tests/test-memrchr.c: Include zerosize-ptr.h.
48916         (main): Use a zero-size object pointer instead of NULL.
48917         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48918         m4/mmap-anon.m4.
48919         (Depends-on): Add getpagesize.
48920         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48921         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48922         m4/mmap-anon.m4.
48923         (Depends-on): Add getpagesize.
48924         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48925         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48926         m4/mmap-anon.m4.
48927         (Depends-on): Add getpagesize.
48928         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48929         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48930         m4/mmap-anon.m4.
48931         (Depends-on): Add getpagesize.
48932         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48933         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48934         m4/mmap-anon.m4.
48935         (Depends-on): Add getpagesize.
48936         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48937
48938 2009-05-12  Bruno Haible  <bruno@clisp.org>
48939
48940         Tests for module 'alignof'.
48941         * modules/alignof-tests: New file.
48942         * tests/test-alignof.c: New file.
48943
48944 2009-05-12  Bruno Haible  <bruno@clisp.org>
48945
48946         Fix alignof macro.
48947         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48948         vendor compilers that are always correct.
48949
48950 2009-05-12  Bruno Haible  <bruno@clisp.org>
48951
48952         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48953         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48954         not whether its fully works.
48955
48956 2009-05-12  Bruno Haible  <bruno@clisp.org>
48957
48958         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48959
48960 2009-05-12  Jim Meyering  <meyering@redhat.com>
48961
48962         * top/maint.mk: Adjust backslash alignment.
48963
48964 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48965
48966         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48967
48968 2009-05-11  Eric Blake  <ebb9@byu.net>
48969
48970         argp: avoid undefined behavior
48971         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48972         macros.
48973
48974 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48975
48976         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48977         user.name to prevent git commit from complaining.
48978
48979 2009-05-10  Bruno Haible  <bruno@clisp.org>
48980
48981         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48982         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48983         it rewrites every file name only once.
48984         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48985
48986 2009-05-08  Bruno Haible  <bruno@clisp.org>
48987
48988         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48989         instead of 'max'.
48990
48991 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48992
48993         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48994         sockaddr_storage test.
48995
48996 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48997
48998         * modules/sys_socket (Makefile.am): Substitute
48999         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
49000         * m4/sys_socket_h.m4: Check for sockaddr_storage.
49001         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
49002         * tests/test-sys_socket.c: Check sockaddr_storage.
49003
49004 2009-05-08  Bruno Haible  <bruno@clisp.org>
49005
49006         New module 'alignof'.
49007         * lib/alignof.h: New file.
49008         * modules/alignof: New file.
49009
49010 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49011             Bruno Haible  <bruno@clisp.org>
49012
49013         Fix test-file-has-acl on FreeBSD.
49014         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
49015         mask is implicitly added.
49016         * tests/test-file-has-acl.c: Include <signal.h>.
49017         (main): Terminate the test after 5 seconds.
49018         * modules/acl-tests (configure.ac): Check for alarm function.
49019
49020 2009-05-04  Bruno Haible  <bruno@clisp.org>
49021
49022         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
49023         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
49024         * modules/errno (configure.ac): Drop AC_REQUIRE.
49025         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
49026         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
49027
49028 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49029
49030         * modules/glob-tests: New module.
49031         * tests/test-glob.c: Add.
49032
49033 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49034
49035         * modules/fnmatch-tests: New module.
49036         * tests/test-fnmatch.c: Add.
49037
49038 2009-05-04  Eric Blake  <ebb9@byu.net>
49039
49040         maint: make the new no-submodule-changes rule VPATH-safe
49041         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
49042
49043 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49044             Bruno Haible  <bruno@clisp.org>
49045
49046         acl: Fix infinite loop on FreeBSD.
49047         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
49048         of return value from acl_get_entry.
49049         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
49050         Likewise.
49051
49052 2009-05-03  Bruno Haible  <bruno@clisp.org>
49053
49054         * lib/acl-internal.h (acl_entries): Clarify return value.
49055         * lib/acl_entries.c (acl_entries): Likewise.
49056
49057 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49058
49059         Bug fix in acl module.
49060         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
49061
49062 2009-05-03  Bruno Haible  <bruno@clisp.org>
49063
49064         Create gperf-generated file in the source dir, not in the build dir.
49065         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
49066         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
49067         * modules/unicase/locale-language (unicase/locale-languages.h):
49068         Likewise.
49069         * modules/unicase/special-casing (unicase/special-casing-table.h):
49070         Likewise.
49071         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
49072         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
49073         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
49074         Reported by Ralf Wildenhues.
49075
49076 2009-05-03  Bruno Haible  <bruno@clisp.org>
49077
49078         * modules/fnmatch (Description, configure.ac): Taken from
49079         fnmatch-posix.
49080         * modules/fnmatch-posix: Turn into a symbolic reference to the
49081         'fnmatch' module, and deprecate.
49082         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
49083
49084 2009-05-03  Bruno Haible  <bruno@clisp.org>
49085
49086         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
49087         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
49088         Reported by Ralf Wildenhues.
49089
49090 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49091
49092         * m4/fnmatch.m4: Fix fnmatch re-define.
49093
49094 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49095
49096         priv-set: new module and tests; adapt write-any-file
49097         * lib/priv-set.c: New file.
49098         * lib/priv-set.h: New file.
49099         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
49100         * lib/write-any-file.c: Simplify by using priv-set module.
49101         * m4/priv-set.m4: New file.
49102         * modules/priv-set: New file.
49103         * modules/unlinkdir: Add dependency on priv-set module.
49104         * modules/write-any-file: Likewise.
49105
49106         Tests for module 'priv-set'.
49107         * modules/priv-set-tests: New file.
49108         * tests/test-priv-set.c: New file.
49109
49110 2009-05-03  Jim Meyering  <meyering@redhat.com>
49111             Bruno Haible  <bruno@clisp.org>
49112
49113         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
49114         use the converted UTF-8 variant of the name instead.
49115
49116 2009-05-03  Jim Meyering  <meyering@redhat.com>
49117
49118         tests: tighten some getdate tests
49119         * tests/test-getdate.c (main): Tighten tests: require equality,
49120         not just greater than.  Set TZ envvar to UTC0.
49121
49122 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
49123
49124         getdate: correctly interpret "next monday" when run on a Monday
49125         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
49126         that e.g., "next tues" (when run on a tuesday) results in a date
49127         that is one week in the future, and not today's date.
49128         I.e., add a week when the wday is the same as the current one.
49129         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
49130         and earlier by Martin Bernreuther and Jan Minář.
49131         * tests/test-getdate.c (main): Check that "next DAY" is always in
49132         the future and that "last DAY" is always in the past.
49133
49134 2009-05-02  Jim Meyering  <meyering@redhat.com>
49135
49136         build: ensure that a release build fails when a submodule is unclean
49137         * top/maint.mk (no-submodule-changes): New rule.
49138         (alpha beta major): Depend on it.
49139
49140 2009-05-02  Bruno Haible  <bruno@clisp.org>
49141
49142         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
49143         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
49144         shell variable gl_fnmatch_required to detect which variant is
49145         requested.
49146         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
49147         gl_FUNC_FNMATCH_POSIX.
49148         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
49149         exclude fnmatch-posix.
49150
49151 2009-05-02  Bruno Haible  <bruno@clisp.org>
49152
49153         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
49154         * modules/mbsrtowcs (License): Change to LGPLv2+.
49155         * modules/strnlen1 (License): Likewise.
49156         Reported by Simon Josefsson.
49157
49158 2009-05-02  Bruno Haible  <bruno@clisp.org>
49159
49160         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
49161         "cross".
49162         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
49163         gnulib-tool was called with option --source-base=lib.
49164
49165 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49166
49167         Use automake *-local hooks without commands, for extensibility.
49168         * modules/localcharset (Makefile.am): Rename install-exec-local
49169         rule to install-exec-localcharset, and make it a prerequisite of
49170         install-exec-local.  Likewise, rename the uninstall-local rule to
49171         uninstall-localcharset, and make it a prerequisite of the former.
49172
49173 2009-05-01  Bruno Haible  <bruno@clisp.org>
49174
49175         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
49176         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49177         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
49178         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
49179         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
49180         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49181         m4/locale-zh.m4, m4/codeset.m4.
49182
49183         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49184         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
49185         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49186         m4/locale-zh.m4.
49187
49188         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
49189         REPLACE_WCRTOMB if mbstate_t must be replaced.
49190         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
49191         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
49192
49193 2009-05-01  Bruno Haible  <bruno@clisp.org>
49194
49195         Avoid compiler warnings when redefining macros defined by <libintl.h>.
49196         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
49197         dngettext, dcngettext, textdomain, bindtextdomain,
49198         bind_textdomain_codeset): Undefine before redefining.
49199
49200 2009-04-30  Bruno Haible  <bruno@clisp.org>
49201
49202         Fix bug introduced on 2009-04-25.
49203         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
49204         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
49205         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
49206         is defined.
49207         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
49208         is defined.
49209         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
49210         is defined.
49211         Reported by Elbert_Pol <elbert.pol@gmail.com>.
49212
49213 2009-04-28  Bruno Haible  <bruno@clisp.org>
49214
49215         Comment tweaks.
49216         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
49217         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
49218         * lib/unicase.h (u*_casexfrm): Likewise.
49219         Reported by Paolo Bonzini.
49220
49221 2009-04-28  Bruno Haible  <bruno@clisp.org>
49222
49223         Fix a compilation error.
49224         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
49225         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49226         Reported by Jim Meyering.
49227
49228 2009-04-27  Bruno Haible  <bruno@clisp.org>
49229
49230         New module 'libunistring'.
49231         * modules/libunistring: New file.
49232         * m4/libunistring.m4: New file.
49233         * MODULES.html.sh (Unicode string functions): Add it.
49234
49235 2009-04-27  Eric Blake  <ebb9@byu.net>
49236
49237         maint.mk: allow package-specific header to provide <config.h>
49238         * top/maint.mk (sc_require_config_h): New variable.
49239         (sc_require_config_h, sc_require_config_h_first): Use it.
49240
49241 2009-04-27  Simon Josefsson  <simon@josefsson.org>
49242
49243         * top/maint.mk (sc_avoid_if_before_free): Except
49244         useless-if-before-free script.
49245
49246 2009-04-27  Eric Blake  <ebb9@byu.net>
49247
49248         maintainer-makefile: depend on all required helper scripts
49249         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
49250         useless-if-before-free.
49251         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
49252         version, rather than assuming gnulib checkout is available.
49253         Reported by Simen Josefsson.
49254
49255 2009-04-26  Bruno Haible  <bruno@clisp.org>
49256
49257         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
49258         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
49259         "../" or "..".
49260
49261 2009-04-26  Bruno Haible  <bruno@clisp.org>
49262
49263         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
49264         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
49265         AC_LIB_HAVE_LINKFLAGS.
49266
49267 2009-04-26  Bruno Haible  <bruno@clisp.org>
49268
49269         Simplify calling convention of u*_conv_from_encoding.
49270         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
49271         u32_conv_from_encoding): Expect a resultbuf argument and return the
49272         result directly as a pointer.
49273         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
49274         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
49275         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
49276         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
49277         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
49278         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49279         Update.
49280         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
49281         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
49282         * lib/vasnprintf.c (VASNPRINTF): Update.
49283         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
49284         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
49285         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
49286         * NEWS: Mention the change.
49287
49288 2009-04-26  Bruno Haible  <bruno@clisp.org>
49289
49290         Simplify calling convention of u*_conv_to_encoding.
49291         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49292         u32_conv_to_encoding): Expect a resultbuf argument and return the
49293         result directly as a pointer.
49294         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49295         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
49296         freeing scaled_offsets if mem_iconveha failed.
49297         * lib/unicase/u-casexfrm.h (FUNC): Update.
49298         * lib/uninorm/u-normxfrm.h (FUNC): Update.
49299         * lib/vasnprintf.c (VASNPRINTF): Update.
49300         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
49301         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
49302         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
49303         * NEWS: Mention the change.
49304
49305 2009-04-26  Bruno Haible  <bruno@clisp.org>
49306
49307         Avoid test failures on AIX and OSF/1.
49308         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
49309         malloc(0).
49310         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49311         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49312         Likewise.
49313         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
49314         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
49315         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
49316         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
49317         * doc/posix-functions/malloc.texi: Document the portability problem
49318         related to malloc(0).
49319
49320 2009-04-26  Bruno Haible  <bruno@clisp.org>
49321
49322         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
49323         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
49324         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
49325
49326 2009-04-25  Bruno Haible  <bruno@clisp.org>
49327
49328         Avoid link error when creating a namespace clean library.
49329         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
49330         as macro with arguments if already defined as an alias.
49331         * lib/signbitf.c (gl_signbitf): Don't undefine.
49332         * lib/signbitd.c (gl_signbitd): Don't undefine.
49333         * lib/signbitl.c (gl_signbitl): Don't undefine.
49334
49335 2009-04-25  Jim Meyering  <meyering@redhat.com>
49336
49337         vc-list-files: fix another quoting bug
49338         * build-aux/vc-list-files: Avoid sed backslash expansion
49339         of pathological directory names.
49340
49341 2009-04-25  Eric Blake  <ebb9@byu.net>
49342
49343         vc-list-files: fix shell quoting error
49344         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
49345         timestamp.
49346
49347 2009-04-25  Jim Meyering  <meyering@redhat.com>
49348
49349         vc-list-files: restore lost functionality with subdir argument
49350         * build-aux/vc-list-files: When given a non-"." sub-directory
49351         argument, substitute the $dir/ prefix back onto each resulting name.
49352         Otherwise, coreutils' root_tests check would fail.
49353
49354 2009-04-24  Eric Blake  <ebb9@byu.net>
49355
49356         vc-list-files: ignore git symlinks
49357         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
49358         than ls-files, to ignore git symlinks.
49359
49360         maint.mk: import improvements from m4
49361         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
49362         (move_if_change): Delete unused macro.
49363         (news-date-check, vc-diff-check): Support VPATH builds.
49364         (announcement): Likewise.  Split --bootstrap-tools list...
49365         (boostrap-tools): ...into separate list, which can be overridden
49366         in cfg.mk.
49367         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
49368         requiring dependency on useless-if-before-free module.
49369         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
49370         Support VPATH builds.
49371
49372 2009-04-24  Jim Meyering  <meyering@redhat.com>
49373
49374         maint.mk: remove coreutils-specific rules and variables
49375         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
49376         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
49377         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
49378
49379         maint.mk: remove obsolete rule
49380         * top/maint.mk (rel-check): Remove rule.
49381         (WGET, WGETFLAGS): Remove now-unused variables.
49382
49383 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49384
49385         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
49386         consistency.
49387
49388         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
49389         '$(PATH_SEPARATOR)' instead of ':'.
49390
49391 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49392
49393         * lib/getopt1.c (main): Use 'const' for static array.
49394
49395 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49396
49397         * top/maint.mk: Sync with coreutils.
49398         * NEWS: Explain incompatibilities.
49399
49400 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49401             Bruno Haible  <bruno@clisp.org>
49402
49403         Fix cross-compilation results.
49404         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
49405         statement, as third argument of AC_TRY_RUN.
49406         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49407         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49408         Likewise.
49409         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49410         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
49411         Likewise.
49412         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49413         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
49414         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
49415
49416 2009-04-20  Bruno Haible  <bruno@clisp.org>
49417
49418         Avoid test failure on mingw.
49419         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
49420
49421 2009-04-20  Bruno Haible  <bruno@clisp.org>
49422
49423         Avoid compilation error on mingw.
49424         * modules/localename-tests (Depends-on): Add locale.
49425
49426 2009-04-19  Bruno Haible  <bruno@clisp.org>
49427
49428         Support for building a shared library on Windows platforms.
49429         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
49430         (main): Test the presence of UNINORM_NFC here.
49431         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
49432         (main): Test the presence of UNINORM_NFD here.
49433         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
49434         (main): Test the presence of UNINORM_NFKC here.
49435         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
49436         (main): Test the presence of UNINORM_NFKD here.
49437
49438 2009-04-19  Bruno Haible  <bruno@clisp.org>
49439
49440         Avoid a compiler warning.
49441         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
49442         Change type of variable 'sequence'.
49443
49444 2009-04-19  Bruno Haible  <bruno@clisp.org>
49445
49446         * modules/configmake (Makefile.am): When the contents of configmake.h
49447         does not change, arrange to preserve its modification time.
49448
49449 2009-04-17  Simon Josefsson  <simon@josefsson.org>
49450
49451         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
49452         gettext domain.
49453
49454 2009-04-16  Jim Meyering  <meyering@redhat.com>
49455
49456         useless-if-before-free: improve conversion code
49457         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49458         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49459
49460 2009-04-14  Bruno Haible  <bruno@clisp.org>
49461
49462         * modules/fcntl (Depends-on): Add extensions.
49463         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49464
49465 2009-04-12  Ben Pfaff  <blp@gnu.org>
49466
49467         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49468         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49469
49470 2009-03-20  Ben Pfaff  <blp@gnu.org>
49471
49472         Make rename replace existing destinations on Windows.
49473         * m4/rename.m4: Add test for Mingw.
49474         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49475         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49476         * doc/posix-functions/rename.texi: Document.
49477
49478 2009-04-10  Bruno Haible  <bruno@clisp.org>
49479
49480         New include file "iconveh.h".
49481         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49482         * lib/striconveh.h: Include it.
49483         (enum iconv_ilseq_handler): Remove definition.
49484         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49485         striconveh.h.
49486         * lib/striconveha.c: Include striconveh.h.
49487         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49488         * modules/striconveh (Files): Add lib/iconveh.h.
49489         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49490         lib/striconveh.h.
49491
49492 2009-04-10  Bruno Haible  <bruno@clisp.org>
49493
49494         * lib/uniconv.h: Update comment.
49495
49496 2009-04-10  Bruno Haible  <bruno@clisp.org>
49497
49498         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49499         always.
49500         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49501         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49502         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49503         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49504         "unistring-notinline.h", so that the function gets defined always.
49505         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49506         * lib/unistr/u8-uctomb.c: Likewise.
49507         * lib/unistr/u16-mbtouc.c: Likewise.
49508         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49509         * lib/unistr/u16-uctomb.c: Likewise.
49510         * lib/unistr/u32-mbtouc.c: Likewise.
49511         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49512         * lib/unistr/u32-uctomb.c: Likewise.
49513
49514 2009-04-10  Bruno Haible  <bruno@clisp.org>
49515
49516         Mark 'utime' obsolete.
49517         * modules/utime (Status, Notice): New sections.
49518         Suggested by Jim Meyering.
49519
49520         Fix cross-compile guess for utime test.
49521         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49522         autoconf.
49523         * doc/posix-functions/utime.texi: Give more precisions.
49524         Reported by Jan <ipif@ymail.com>.
49525
49526 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49527
49528         filevercmp: correct today's change
49529         * lib/filevercmp.c: Also handle coreutils' test inputs.
49530         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49531
49532         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49533         for reporting it.
49534         * lib/filevercmp.c: Special handle for "", "." and "..".
49535         * tests/test-filevercmp.c: Enlarge the set suite.
49536
49537 2009-04-07  Jim Meyering  <meyering@redhat.com>
49538
49539         useless-if-before-free: show how to remove braced useless free, too
49540         * build-aux/useless-if-before-free: still only in a comment, though.
49541
49542 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49543
49544         maint.mk: import changes to syntax-check macros from coreutils
49545         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49546         Use them in the relevant macros.
49547
49548 2009-04-06  Bruno Haible  <bruno@clisp.org>
49549
49550         Fix unportable use of bit-fields.
49551         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49552         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49553         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49554
49555 2009-04-06  Bruno Haible  <bruno@clisp.org>
49556
49557         Avoid test failures on AIX and OSF/1.
49558         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49559         that malloc(0) = NULL.
49560         * tests/unicase/test-u8-tolower.c (check): Likewise.
49561         * tests/unicase/test-u8-totitle.c (check): Likewise.
49562         * tests/unicase/test-u8-toupper.c (check): Likewise.
49563         * tests/unicase/test-u16-casefold.c (check): Likewise.
49564         * tests/unicase/test-u16-tolower.c (check): Likewise.
49565         * tests/unicase/test-u16-totitle.c (check): Likewise.
49566         * tests/unicase/test-u16-toupper.c (check): Likewise.
49567         * tests/unicase/test-u32-casefold.c (check): Likewise.
49568         * tests/unicase/test-u32-tolower.c (check): Likewise.
49569         * tests/unicase/test-u32-totitle.c (check): Likewise.
49570         * tests/unicase/test-u32-toupper.c (check): Likewise.
49571         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49572         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49573         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49574         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49575         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49576         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49577         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49578         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49579         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49580         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49581         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49582         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49583
49584 2009-04-05  Bruno Haible  <bruno@clisp.org>
49585
49586         Work around an autoconf limitation.
49587         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49588         comment line if it would be longer than 3 KB.
49589
49590 2009-04-05  Bruno Haible  <bruno@clisp.org>
49591
49592         Avoid test failure with libiconv-1.13.
49593         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49594         of the expected test results.
49595
49596 2009-04-05  Bruno Haible  <bruno@clisp.org>
49597
49598         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49599         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49600         that it should be installed.
49601
49602 2009-04-05  Bruno Haible  <bruno@clisp.org>
49603
49604         * gnulib-tool: New option --copy-file.
49605         (func_usage): Document it.
49606         (func_dest_tmpfilename): Moved out of func_import.
49607         (func_add_file, func_update_file): New functions, extracted from
49608         func_import.
49609         (func_import): Update.
49610
49611 2009-04-05  Karl Berry  <karl@gnu.org>
49612
49613         * README: prominently mention gnulib-tool.
49614         Rearrange sections so getting the code is near the top.
49615
49616 2009-04-05  Bruno Haible  <bruno@clisp.org>
49617
49618         * lib/unicase.h: Mention u*_cmp2.
49619         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49620         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49621         * lib/unicase/ulc-casecmp.c: Likewise.
49622         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49623         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49624         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49625         unistr/u8-cmp.
49626         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49627         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49628         unistr/u16-cmp.
49629         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49630         unistr/u32-cmp.
49631
49632         * lib/uninorm.h: Mention u*_cmp2.
49633         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49634         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49635         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49636         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49637         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49638         unistr/u8-cmp.
49639         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49640         unistr/u16-cmp.
49641         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49642         unistr/u32-cmp.
49643
49644         New module 'unistr/u32-cmp2'.
49645         * lib/unistr/u32-cmp2.c: New file.
49646         * modules/unistr/u32-cmp2: New file.
49647
49648         New module 'unistr/u16-cmp2'.
49649         * lib/unistr/u16-cmp2.c: New file.
49650         * modules/unistr/u16-cmp2: New file.
49651
49652         New module 'unistr/u8-cmp2'.
49653         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49654         * lib/unistr/u8-cmp2.c: New file.
49655         * lib/unistr/u-cmp2.h: New file.
49656         * modules/unistr/u8-cmp2: New file.
49657
49658 2009-04-05  Bruno Haible  <bruno@clisp.org>
49659
49660         * lib/unictype.h (uc_property_is_valid): New macro.
49661         * tests/unictype/test-pr_byname.c (main): Use it.
49662
49663         * lib/unistr.h: Doc fixes.
49664         * lib/uniconv.h: Doc fixes.
49665         * lib/unictype.h: Doc fixes.
49666
49667 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49668
49669         Port coreutils 7.2 to Solaris 8.
49670
49671         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49672         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49673         for Solaris 8.  This is a bit of a hack, as it means it's the
49674         caller's responsibility to add -lnsl if needed, but most likely it
49675         won't be needed since only getaddrinfo uses this and getaddrinfo
49676         isn't needed on Solaris 8.
49677
49678         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49679         problem to Solaris 8 encountered with coreutils 7.2, which
49680         resulted in a message "fnmatch.c:292: warning: passing argument 4
49681         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49682         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49683
49684 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49685
49686         * m4/ld-version-script.m4: Add FIXME comment.
49687
49688 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49689
49690         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49691         SOVERSION variable.
49692
49693 2009-04-02  Bruno Haible  <bruno@clisp.org>
49694
49695         * Makefile (info, html, dvi, pdf): Combine the rules.
49696         Suggested by Jim Meyering.
49697
49698 2009-04-01  Bruno Haible  <bruno@clisp.org>
49699
49700         * Makefile (info, html, dvi, pdf): New targets.
49701         Reported by Reuben Thomas <rrt@sc3d.org>.
49702
49703 2009-04-01  Bruno Haible  <bruno@clisp.org>
49704
49705         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49706         can be put into PATH.
49707         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49708
49709 2009-04-01  Bruno Haible  <bruno@clisp.org>
49710
49711         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49712
49713 2009-04-01  Bruno Haible  <bruno@clisp.org>
49714
49715         Rename module 'visibility'.
49716         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49717         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49718         * doc/gnulib.texi: Update.
49719         * MODULES.html.sh (Misc): Update.
49720         * NEWS: Mention the change.
49721
49722 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49723
49724         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49725         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49726         Eric Blake <ebb9@byu.net> for review.
49727         * MODULES.html.sh: Add lib-msvc-compat.
49728         * doc/gnulib.texi: Link to new section.
49729         * m4/ld-output-def.m4: New file.
49730         * doc/ld-output-def.texi: New file.
49731
49732 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49733
49734         Rename ld-version-script to lib-symbol-versions.  Suggested by
49735         Bruno Haible <bruno@clisp.org>.
49736         * modules/ld-version-script: Renamed to lib-symbol-versions.
49737         * doc/ld-version-script.texi: Fix module name.
49738         * MODULES.html.sh: Add lib-symbol-versions.
49739
49740 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49741
49742         * modules/u64-tests: New file.
49743         * tests/test-u64.c: New file.
49744
49745 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49746
49747         * MODULES.html.sh: Mention u64.
49748         * modules/u64: New module.
49749         * modules/crypto/sha512: Depend on u64 module instead of providing
49750         u64.h.
49751
49752 2009-03-27  Eric Blake  <ebb9@byu.net>
49753
49754         test-strerror: make debugging EAI_SYSTEM easier
49755         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49756         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49757         failure was EAI_SYSTEM.
49758
49759 2009-03-25  Bruno Haible  <bruno@clisp.org>
49760
49761         Fix a problem with --enable-relocatable on Solaris 7.
49762         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49763         since 2008-02-24.
49764
49765 2009-03-25  Eric Blake  <ebb9@byu.net>
49766
49767         test-sockets: avoid gcc warning
49768         * tests/test-sockets.c (main): Silence compiler warning.
49769
49770 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49771
49772         New modules nproc, pthread, contributed by Glen Lenker.
49773
49774         * MODULES.html.sh: Add pthread, nproc.
49775         * lib/nproc.c: New file.
49776         * lib/nproc.h: New file.
49777         * lib/pthread.in.h: New file.
49778         * m4/pthread.m4: New file.
49779         * modules/nproc: New file.
49780         * modules/pthread: New file.
49781
49782 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49783
49784         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49785         New variable.
49786
49787 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49788
49789         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49790         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49791         * tests/test-filevercmp.c: Add tests for backup suffixes.
49792
49793 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49794
49795         * modules/stdlib (Depends-on): Add stdint, needed when defining
49796         struct random_data on, for example, HP-UX 10.20.  Reported by
49797         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49798
49799 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49800
49801         * lib/readline.c (readline): Call fflush on stdout after printing
49802         prompt.
49803
49804 2009-03-20  Bruno Haible  <bruno@clisp.org>
49805
49806         Remove dependency from 'close' module to -lws2_32 on native Windows.
49807         * lib/close-hook.h: New file.
49808         * lib/close-hook.c: New file.
49809         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49810         w32sock.h.
49811         (_gl_close_fd_maybe_socket): Remove function.
49812         (rpl_close): Invoke execute_all_close_hooks instead of
49813         _gl_close_fd_maybe_socket.
49814         * lib/sockets.c: Include close-hook.h, w32sock.h.
49815         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49816         (close_sockets_hook): New variable.
49817         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49818         (gl_sockets_cleanup): Unregister it.
49819         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49820         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49821         * modules/close-hook: New file.
49822         * modules/close (Files): Remove lib/w32sock.h.
49823         (Depends-on): Add close-hook.
49824         (Link): Remove section.
49825         * modules/sockets (Files): Add lib/w32sock.h.
49826         (Depends-on): Add close-hook.
49827         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49828         invocation.
49829         * NEWS: Mention that LIB_CLOSE is gone.
49830
49831 2009-03-23  Eric Blake  <ebb9@byu.net>
49832
49833         signal-tests: test previous patch
49834         * tests/test-signal.c: New file.
49835         * modules/signal-tests: Likewise.
49836
49837         signal.h: always support 'volatile sig_atomic_t'
49838         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49839         (gl_SIGNAL_H_DEFAULTS): Add a default.
49840         * modules/signal (Makefile.am): Substitute if needed.
49841         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49842         users can blindly add volatile.
49843         * doc/posix-headers/signal.texi (signal.h): Document it.
49844         Reported by Matthew Woehlke.
49845
49846 2009-03-23  Jim Meyering  <meyering@redhat.com>
49847
49848         pathmax: PATH_MAX: use pathconf only when available
49849         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49850         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49851         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49852         This avoids a link failure in a PSP cross-compilation environment
49853         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49854
49855         * lib/vasnprintf.c (divide): Fix typo in comment.
49856
49857 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49858
49859         * gnulib-tool (func_filter_filelist): Fix comment.
49860
49861 2009-03-20  Bruno Haible  <bruno@clisp.org>
49862
49863         Make sockets.h self-contained.
49864         * lib/sockets.c: Include sockets.h first.
49865         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49866
49867 2009-03-19  Eric Blake  <ebb9@byu.net>
49868
49869         doc: mention more functions added in cygwin 1.7.0
49870         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49871         addition.
49872         * doc/posix-functions/log2f.texi: Likewise.
49873
49874 2009-03-19  Jim Meyering  <meyering@redhat.com>
49875
49876         fsusage: avoid syntax error due to statement-before-declaration
49877         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49878         after all declarations.  Reported by Matthew Woehlke in
49879         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49880
49881 2009-03-18  Eric Blake  <ebb9@byu.net>
49882
49883         build-aux/compile: sync from automake
49884         * build-aux/compile: New file, from automake.
49885         * config/srclist.txt: Mention build-aux/compile.
49886
49887 2009-03-17  Bruno Haible  <bruno@clisp.org>
49888
49889         * lib/git-merge-changelog.c: Fix typo in comment.
49890         Reported by Reuben Thomas <rrt@sc3d.org>.
49891
49892 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49893
49894         * m4/regex.m4: update and improve help for
49895         --without-included-regex.
49896
49897 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49898
49899         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49900         failure on missing include files.
49901
49902 2009-03-17  Eric Blake  <ebb9@byu.net>
49903
49904         doc: mention more functions added in cygwin 1.7.0
49905         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49906         addition.
49907         * doc/posix-functions/fwscanf.texi: Likewise.
49908         * doc/posix-functions/swprintf.texi: Likewise.
49909         * doc/posix-functions/swscanf.texi: Likewise.
49910         * doc/posix-functions/vfwprintf.texi: Likewise.
49911         * doc/posix-functions/vfwscanf.texi: Likewise.
49912         * doc/posix-functions/vswprintf.texi: Likewise.
49913         * doc/posix-functions/vswscanf.texi: Likewise.
49914         * doc/posix-functions/vwprintf.texi: Likewise.
49915         * doc/posix-functions/vwscanf.texi: Likewise.
49916         * doc/posix-functions/wcscasecmp.texi: Likewise.
49917         * doc/posix-functions/wcsdup.texi: Likewise.
49918         * doc/posix-functions/wcsftime.texi: Likewise.
49919         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49920         * doc/posix-functions/wprintf.texi: Likewise.
49921         * doc/posix-functions/wscanf.texi: Likewise.
49922         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49923
49924 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49925
49926         maint.mk: really add $(AM_MAKEFLAGS)
49927         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49928         was inadvertently omitted in the last commit.
49929         Spotted by Bruno Haible.
49930
49931         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49932         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49933         $(AM_MAKEFLAGS)' rather than plain `make'.
49934
49935         gnulib-tool: execute $MAKE not make
49936         * gnulib-tool: Default $MAKE to 'make'.
49937         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49938         than make.  Initialize $MAKE in the do-autobuild script.
49939
49940         gnulib-tool: use $MAKE not make in generated files
49941         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49942         make, in generated files.  Initialize $MAKE in the do-autobuild
49943         script.
49944
49945         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49946
49947         GNUmakefile: disable parallelism only for multiple, recursive targets
49948         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49949         additions in the Makefile.
49950         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49951         by Automake.
49952         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49953         are listed on the command line and at least one of them is
49954         listed in $(ALL_RECURSIVE_TARGETS).
49955
49956 2009-03-14  Bruno Haible  <bruno@clisp.org>
49957
49958         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49959         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49960         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49961         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49962         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49963         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49964         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49965         unistr/u8-uctomb.
49966         * modules/unistr/u8-strchr (Depends-on): Likewise.
49967         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49968         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49969         unistr/u16-uctomb.
49970         * modules/unistr/u16-strchr (Depends-on): Likewise.
49971         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49972
49973 2009-03-12  Bruno Haible  <bruno@clisp.org>
49974
49975         Work around select() bug on Interix 3.5.
49976         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49977         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49978         * m4/select.m4: New file.
49979         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49980         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49981         * modules/select (Files): Add m4/select.m4.
49982         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49983         * modules/nanosleep (Depends-on): Add select.
49984         * modules/poll (Depends-on): Likewise.
49985         * doc/posix-functions/select.texi: Mention the Interix bug.
49986         Reported by Markus Duft <mduft@gentoo.org>.
49987
49988         * lib/select.c: Renamed from lib/winsock-select.c.
49989         * modules/select (Files): Add lib/select.c, remove
49990         lib/winsock-select.c.
49991         (configure.ac): Update.
49992
49993 2009-03-12  Jim Meyering  <meyering@redhat.com>
49994
49995         avoid gcc warnings about unused macro definitions
49996         * lib/readtokens.c (STREQ): Remove unused definition.
49997         * lib/xmalloc.c (SIZE_MAX): Likewise.
49998         * lib/openat-die.c (N_): Likewise.
49999         * lib/mountlist.c (SIZE_MAX): Remove definition.
50000         Instead, include <stdint.h>.
50001         * lib/readutmp.c: Likewise.
50002         * modules/readutmp (Depends-on): Add stdint.
50003         * modules/mountlist (Depends-on): Add stdint.
50004         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
50005
50006 2009-03-10  Bruno Haible  <bruno@clisp.org>
50007
50008         Tests for module 'mbmemcasecoll'.
50009         * modules/mbmemcasecoll-tests: New file.
50010         * tests/test-mbmemcasecoll1.sh: New file.
50011         * tests/test-mbmemcasecoll2.sh: New file.
50012         * tests/test-mbmemcasecoll3.sh: New file.
50013         * tests/test-mbmemcasecoll.c: New file.
50014
50015         New module 'mbmemcasecoll'.
50016         * lib/mbmemcasecoll.h: New file.
50017         * lib/mbmemcasecoll.c: New file.
50018         * modules/mbmemcasecoll: New file.
50019
50020         * tests/test-mbmemcasecmp.h: New file, extracted from
50021         tests/test-mbmemcasecmp.c.
50022         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
50023         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
50024         (main): Update.
50025         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
50026
50027 2009-03-09  Bruno Haible  <bruno@clisp.org>
50028
50029         Tests for module 'mbmemcasecmp'.
50030         * modules/mbmemcasecmp-tests: New file.
50031         * tests/test-mbmemcasecmp1.sh: New file.
50032         * tests/test-mbmemcasecmp2.sh: New file.
50033         * tests/test-mbmemcasecmp3.sh: New file.
50034         * tests/test-mbmemcasecmp.c: New file.
50035
50036         New module 'mbmemcasecmp'.
50037         * lib/mbmemcasecmp.h: New file.
50038         * lib/mbmemcasecmp.c: New file.
50039         * modules/mbmemcasecmp: New file.
50040
50041 2009-03-09  Bruno Haible  <bruno@clisp.org>
50042
50043         Tests for module 'unicase/ulc-casecoll'.
50044         * modules/unicase/ulc-casecoll-tests: New file.
50045         * tests/unicase/test-ulc-casecoll1.sh: New file.
50046         * tests/unicase/test-ulc-casecoll2.sh: New file.
50047         * tests/unicase/test-ulc-casecoll.c: New file.
50048
50049         New module 'unicase/ulc-casecoll'.
50050         * lib/unicase.h (ulc_casecoll): New declaration.
50051         * lib/unicase/ulc-casecoll.c: New file.
50052         * modules/unicase/ulc-casecoll: New file.
50053
50054         New module 'unicase/ulc-casexfrm'.
50055         * lib/unicase.h (ulc_casexfrm): New declaration.
50056         * lib/unicase/ulc-casexfrm.c: New file.
50057         * modules/unicase/ulc-casexfrm: New file.
50058
50059 2009-03-09  Bruno Haible  <bruno@clisp.org>
50060
50061         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
50062         invocations.
50063
50064         * m4/mbscasecmp.m4: Remove file.
50065         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
50066         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
50067
50068         * m4/mbscasestr.m4: Remove file.
50069         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
50070         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
50071
50072         * m4/mbschr.m4: Remove file.
50073         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
50074         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
50075
50076         * m4/mbscspn.m4: Remove file.
50077         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
50078         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
50079
50080         * m4/mbslen.m4: Remove file.
50081         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
50082         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
50083
50084         * m4/mbsncasecmp.m4: Remove file.
50085         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
50086         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
50087
50088         * m4/mbsnlen.m4: Remove file.
50089         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
50090         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
50091
50092         * m4/mbspbrk.m4: Remove file.
50093         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
50094         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
50095
50096         * m4/mbspcasecmp.m4: Remove file.
50097         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
50098         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
50099
50100         * m4/mbsrchr.m4: Remove file.
50101         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
50102         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
50103
50104         * m4/mbssep.m4: Remove file.
50105         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
50106         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
50107
50108         * m4/mbsspn.m4: Remove file.
50109         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
50110         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
50111
50112         * m4/mbsstr.m4: Remove file.
50113         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
50114         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
50115
50116         * m4/mbstok_r.m4: Remove file.
50117         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
50118         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
50119
50120         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
50121
50122         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
50123         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
50124
50125         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
50126
50127 2009-03-08  Bruno Haible  <bruno@clisp.org>
50128
50129         Tests for module 'unicase/ulc-casecmp'.
50130         * modules/unicase/ulc-casecmp-tests: New file.
50131         * tests/unicase/test-ulc-casecmp1.sh: New file.
50132         * tests/unicase/test-ulc-casecmp2.sh: New file.
50133         * tests/unicase/test-ulc-casecmp.c: New file.
50134
50135         New module 'unicase/ulc-casecmp'.
50136         * lib/unicase.h (ulc_casecmp): New declaration.
50137         * lib/unicase/ulc-casecmp.c: New file.
50138         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
50139         'const SRC_UNIT *'.
50140         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
50141         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
50142         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
50143         * modules/unicase/ulc-casecmp: New file.
50144
50145         Tests for module 'unicase/u32-is-cased'.
50146         * modules/unicase/u32-is-cased-tests: New file.
50147         * tests/unicase/test-u32-is-cased.c: New file.
50148
50149         Tests for module 'unicase/u16-is-cased'.
50150         * modules/unicase/u16-is-cased-tests: New file.
50151         * tests/unicase/test-u16-is-cased.c: New file.
50152
50153         Tests for module 'unicase/u8-is-cased'.
50154         * modules/unicase/u8-is-cased-tests: New file.
50155         * tests/unicase/test-u8-is-cased.c: New file.
50156         * tests/unicase/test-is-cased.h: New file.
50157
50158         New module 'unicase/u32-is-cased'.
50159         * lib/unicase/u32-is-cased.c: New file.
50160         * modules/unicase/u32-is-cased: New file.
50161
50162         New module 'unicase/u16-is-cased'.
50163         * lib/unicase/u16-is-cased.c: New file.
50164         * modules/unicase/u16-is-cased: New file.
50165
50166         New module 'unicase/u8-is-cased'.
50167         * lib/unicase/u8-is-cased.c: New file.
50168         * lib/unicase/u-is-cased.h: New file.
50169         * modules/unicase/u8-is-cased: New file.
50170
50171         Tests for module 'unicase/u32-is-casefolded'.
50172         * modules/unicase/u32-is-casefolded-tests: New file.
50173         * tests/unicase/test-u32-is-casefolded.c: New file.
50174
50175         Tests for module 'unicase/u16-is-casefolded'.
50176         * modules/unicase/u16-is-casefolded-tests: New file.
50177         * tests/unicase/test-u16-is-casefolded.c: New file.
50178
50179         Tests for module 'unicase/u8-is-casefolded'.
50180         * modules/unicase/u8-is-casefolded-tests: New file.
50181         * tests/unicase/test-u8-is-casefolded.c: New file.
50182         * tests/unicase/test-is-casefolded.h: New file.
50183
50184         New module 'unicase/u32-is-casefolded'.
50185         * lib/unicase/u32-is-casefolded.c: New file.
50186         * modules/unicase/u32-is-casefolded: New file.
50187
50188         New module 'unicase/u16-is-casefolded'.
50189         * lib/unicase/u16-is-casefolded.c: New file.
50190         * modules/unicase/u16-is-casefolded: New file.
50191
50192         New module 'unicase/u8-is-casefolded'.
50193         * lib/unicase/u8-is-casefolded.c: New file.
50194         * modules/unicase/u8-is-casefolded: New file.
50195
50196         Tests for module 'unicase/u32-is-titlecase'.
50197         * modules/unicase/u32-is-titlecase-tests: New file.
50198         * tests/unicase/test-u32-is-titlecase.c: New file.
50199
50200         Tests for module 'unicase/u16-is-titlecase'.
50201         * modules/unicase/u16-is-titlecase-tests: New file.
50202         * tests/unicase/test-u16-is-titlecase.c: New file.
50203
50204         Tests for module 'unicase/u8-is-titlecase'.
50205         * modules/unicase/u8-is-titlecase-tests: New file.
50206         * tests/unicase/test-u8-is-titlecase.c: New file.
50207         * tests/unicase/test-is-titlecase.h: New file.
50208
50209         New module 'unicase/u32-is-titlecase'.
50210         * lib/unicase/u32-is-titlecase.c: New file.
50211         * modules/unicase/u32-is-titlecase: New file.
50212
50213         New module 'unicase/u16-is-titlecase'.
50214         * lib/unicase/u16-is-titlecase.c: New file.
50215         * modules/unicase/u16-is-titlecase: New file.
50216
50217         New module 'unicase/u8-is-titlecase'.
50218         * lib/unicase/u8-is-titlecase.c: New file.
50219         * modules/unicase/u8-is-titlecase: New file.
50220
50221         Tests for module 'unicase/u32-is-lowercase'.
50222         * modules/unicase/u32-is-lowercase-tests: New file.
50223         * tests/unicase/test-u32-is-lowercase.c: New file.
50224
50225         Tests for module 'unicase/u16-is-lowercase'.
50226         * modules/unicase/u16-is-lowercase-tests: New file.
50227         * tests/unicase/test-u16-is-lowercase.c: New file.
50228
50229         Tests for module 'unicase/u8-is-lowercase'.
50230         * modules/unicase/u8-is-lowercase-tests: New file.
50231         * tests/unicase/test-u8-is-lowercase.c: New file.
50232         * tests/unicase/test-is-lowercase.h: New file.
50233
50234         New module 'unicase/u32-is-lowercase'.
50235         * lib/unicase/u32-is-lowercase.c: New file.
50236         * modules/unicase/u32-is-lowercase: New file.
50237
50238         New module 'unicase/u16-is-lowercase'.
50239         * lib/unicase/u16-is-lowercase.c: New file.
50240         * modules/unicase/u16-is-lowercase: New file.
50241
50242         New module 'unicase/u8-is-lowercase'.
50243         * lib/unicase/u8-is-lowercase.c: New file.
50244         * modules/unicase/u8-is-lowercase: New file.
50245
50246         Tests for module 'unicase/u32-is-uppercase'.
50247         * modules/unicase/u32-is-uppercase-tests: New file.
50248         * tests/unicase/test-u32-is-uppercase.c: New file.
50249
50250         Tests for module 'unicase/u16-is-uppercase'.
50251         * modules/unicase/u16-is-uppercase-tests: New file.
50252         * tests/unicase/test-u16-is-uppercase.c: New file.
50253
50254         Tests for module 'unicase/u8-is-uppercase'.
50255         * modules/unicase/u8-is-uppercase-tests: New file.
50256         * tests/unicase/test-u8-is-uppercase.c: New file.
50257         * tests/unicase/test-is-uppercase.h: New file.
50258
50259         New module 'unicase/u32-is-uppercase'.
50260         * lib/unicase/u32-is-uppercase.c: New file.
50261         * modules/unicase/u32-is-uppercase: New file.
50262
50263         New module 'unicase/u16-is-uppercase'.
50264         * lib/unicase/u16-is-uppercase.c: New file.
50265         * modules/unicase/u16-is-uppercase: New file.
50266
50267         New module 'unicase/u8-is-uppercase'.
50268         * lib/unicase/u8-is-uppercase.c: New file.
50269         * modules/unicase/u8-is-uppercase: New file.
50270
50271         New module 'unicase/u32-is-invariant'.
50272         * lib/unicase/u32-is-invariant.c: New file.
50273         * modules/unicase/u32-is-invariant: New file.
50274
50275         New module 'unicase/u16-is-invariant'.
50276         * lib/unicase/u16-is-invariant.c: New file.
50277         * modules/unicase/u16-is-invariant: New file.
50278
50279         New module 'unicase/u8-is-invariant'.
50280         * lib/unicase/u8-is-invariant.c: New file.
50281         * lib/unicase/invariant.h: New file.
50282         * lib/unicase/u-is-invariant.h: New file.
50283         * modules/unicase/u8-is-invariant: New file.
50284
50285         Tests for module 'unicase/u32-casecoll'.
50286         * modules/unicase/u32-casecoll-tests: New file.
50287         * tests/unicase/test-u32-casecoll.c: New file.
50288
50289         Tests for module 'unicase/u16-casecoll'.
50290         * modules/unicase/u16-casecoll-tests: New file.
50291         * tests/unicase/test-u16-casecoll.c: New file.
50292
50293         Tests for module 'unicase/u8-casecoll'.
50294         * modules/unicase/u8-casecoll-tests: New file.
50295         * tests/unicase/test-u8-casecoll.c: New file.
50296
50297         New module 'unicase/u32-casecoll'.
50298         * lib/unicase/u32-casecoll.c: New file.
50299         * modules/unicase/u32-casecoll: New file.
50300
50301         New module 'unicase/u16-casecoll'.
50302         * lib/unicase/u16-casecoll.c: New file.
50303         * modules/unicase/u16-casecoll: New file.
50304
50305         New module 'unicase/u8-casecoll'.
50306         * lib/unicase/u8-casecoll.c: New file.
50307         * lib/unicase/u-casecoll.h: New file.
50308         * modules/unicase/u8-casecoll: New file.
50309
50310         New module 'unicase/u32-casexfrm'.
50311         * lib/unicase/u32-casexfrm.c: New file.
50312         * modules/unicase/u32-casexfrm: New file.
50313
50314         New module 'unicase/u16-casexfrm'.
50315         * lib/unicase/u16-casexfrm.c: New file.
50316         * modules/unicase/u16-casexfrm: New file.
50317
50318         New module 'unicase/u8-casexfrm'.
50319         * lib/unicase/u8-casexfrm.c: New file.
50320         * lib/unicase/u-casexfrm.h: New file.
50321         * modules/unicase/u8-casexfrm: New file.
50322
50323         Tests for module 'unicase/u32-casecmp'.
50324         * modules/unicase/u32-casecmp-tests: New file.
50325         * tests/unicase/test-u32-casecmp.c: New file.
50326
50327         Tests for module 'unicase/u16-casecmp'.
50328         * modules/unicase/u16-casecmp-tests: New file.
50329         * tests/unicase/test-u16-casecmp.c: New file.
50330
50331         Tests for module 'unicase/u8-casecmp'.
50332         * modules/unicase/u8-casecmp-tests: New file.
50333         * tests/unicase/test-u8-casecmp.c: New file.
50334         * tests/unicase/test-casecmp.h: New file.
50335
50336         New module 'unicase/u32-casecmp'.
50337         * lib/unicase/u32-casecmp.c: New file.
50338         * modules/unicase/u32-casecmp: New file.
50339
50340         New module 'unicase/u16-casecmp'.
50341         * lib/unicase/u16-casecmp.c: New file.
50342         * modules/unicase/u16-casecmp: New file.
50343
50344         New module 'unicase/u8-casecmp'.
50345         * lib/unicase/u8-casecmp.c: New file.
50346         * lib/unicase/u-casecmp.h: New file.
50347         * modules/unicase/u8-casecmp: New file.
50348
50349         Tests for module 'unicase/u32-casefold'.
50350         * modules/unicase/u32-casefold-tests: New file.
50351         * tests/unicase/test-u32-casefold.c: New file.
50352
50353         Tests for module 'unicase/u16-casefold'.
50354         * modules/unicase/u16-casefold-tests: New file.
50355         * tests/unicase/test-u16-casefold.c: New file.
50356
50357         Tests for module 'unicase/u8-casefold'.
50358         * modules/unicase/u8-casefold-tests: New file.
50359         * tests/unicase/test-u8-casefold.c: New file.
50360
50361         New module 'unicase/u32-casefold'.
50362         * lib/unicase/u32-casefold.c: New file.
50363         * modules/unicase/u32-casefold: New file.
50364
50365         New module 'unicase/u16-casefold'.
50366         * lib/unicase/u16-casefold.c: New file.
50367         * modules/unicase/u16-casefold: New file.
50368
50369         New module 'unicase/u8-casefold'.
50370         * lib/unicase/u8-casefold.c: New file.
50371         * lib/unicase/u-casefold.h: New file.
50372         * modules/unicase/u8-casefold: New file.
50373
50374         New module 'unicase/tocasefold'.
50375         * lib/unicase/casefold.h: New file.
50376         * lib/unicase/tocasefold.c: New file.
50377         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
50378         * modules/unicase/tocasefold: New file.
50379
50380         Tests for module 'unicase/u32-totitle'.
50381         * modules/unicase/u32-totitle-tests: New file.
50382         * tests/unicase/test-u32-totitle.c: New file.
50383
50384         Tests for module 'unicase/u16-totitle'.
50385         * modules/unicase/u16-totitle-tests: New file.
50386         * tests/unicase/test-u16-totitle.c: New file.
50387
50388         Tests for module 'unicase/u8-totitle'.
50389         * modules/unicase/u8-totitle-tests: New file.
50390         * tests/unicase/test-u8-totitle.c: New file.
50391
50392         New module 'unicase/u32-totitle'.
50393         * lib/unicase/u32-totitle.c: New file.
50394         * modules/unicase/u32-totitle: New file.
50395
50396         New module 'unicase/u16-totitle'.
50397         * lib/unicase/u16-totitle.c: New file.
50398         * modules/unicase/u16-totitle: New file.
50399
50400         New module 'unicase/u8-totitle'.
50401         * lib/unicase/u8-totitle.c: New file.
50402         * lib/unicase/u-totitle.h: New file.
50403         * modules/unicase/u8-totitle: New file.
50404
50405         Tests for module 'unicase/u32-tolower'.
50406         * modules/unicase/u32-tolower-tests: New file.
50407         * tests/unicase/test-u32-tolower.c: New file.
50408
50409         Tests for module 'unicase/u16-tolower'.
50410         * modules/unicase/u16-tolower-tests: New file.
50411         * tests/unicase/test-u16-tolower.c: New file.
50412
50413         Tests for module 'unicase/u8-tolower'.
50414         * modules/unicase/u8-tolower-tests: New file.
50415         * tests/unicase/test-u8-tolower.c: New file.
50416
50417         New module 'unicase/u32-tolower'.
50418         * lib/unicase/u32-tolower.c: New file.
50419         * modules/unicase/u32-tolower: New file.
50420
50421         New module 'unicase/u16-tolower'.
50422         * lib/unicase/u16-tolower.c: New file.
50423         * modules/unicase/u16-tolower: New file.
50424
50425         New module 'unicase/u8-tolower'.
50426         * lib/unicase/u8-tolower.c: New file.
50427         * modules/unicase/u8-tolower: New file.
50428
50429         Tests for module 'unicase/u32-toupper'.
50430         * modules/unicase/u32-toupper-tests: New file.
50431         * tests/unicase/test-u32-toupper.c: New file.
50432
50433         Tests for module 'unicase/u16-toupper'.
50434         * modules/unicase/u16-toupper-tests: New file.
50435         * tests/unicase/test-u16-toupper.c: New file.
50436
50437         Tests for module 'unicase/u8-toupper'.
50438         * modules/unicase/u8-toupper-tests: New file.
50439         * tests/unicase/test-u8-toupper.c: New file.
50440
50441         New module 'unicase/u32-toupper'.
50442         * lib/unicase/u32-toupper.c: New file.
50443         * modules/unicase/u32-toupper: New file.
50444
50445         New module 'unicase/u16-toupper'.
50446         * lib/unicase/u16-toupper.c: New file.
50447         * modules/unicase/u16-toupper: New file.
50448
50449         New module 'unicase/u8-toupper'.
50450         * lib/unicase/u8-toupper.c: New file.
50451         * modules/unicase/u8-toupper: New file.
50452
50453         New module 'unicase/u32-casemap'.
50454         * lib/unicase/u32-casemap.c: New file.
50455         * modules/unicase/u32-casemap: New file.
50456
50457         New module 'unicase/u16-casemap'.
50458         * lib/unicase/u16-casemap.c: New file.
50459         * modules/unicase/u16-casemap: New file.
50460
50461         New module 'unicase/u8-casemap'.
50462         * lib/unicase/unicasemap.h: New file.
50463         * lib/unicase/u8-casemap.c: New file.
50464         * lib/unicase/u-casemap.h: New file.
50465         * modules/unicase/u8-casemap: New file.
50466
50467         New module 'unicase/special-casing'.
50468         * lib/unicase/special-casing.h: New file.
50469         * lib/unicase/special-casing.c: New file.
50470         * lib/unicase/special-casing-table.gperf: New file, generated by
50471         gen-uni-tables.c.
50472         * modules/unicase/special-casing: New file.
50473
50474         Tests for module 'unicase/locale-language'.
50475         * modules/unicase/locale-language-tests: New file.
50476         * tests/unicase/test-locale-language.sh: New file.
50477         * tests/unicase/test-locale-language.c: New file.
50478
50479         New module 'unicase/locale-language'.
50480         * lib/unicase/locale-language.c: New file.
50481         * lib/unicase/locale-languages.gperf: New file.
50482         * modules/unicase/locale-language: New file.
50483
50484         Generate more tables for case conversion and case folding.
50485         * lib/gen-uni-tables.c (SCC_*): New enum items.
50486         (struct special_casing_rule): New type.
50487         (casing_rules, num_casing_rules, allocated_casing_rules): New
50488         variables.
50489         (add_casing_rule, fill_casing_rules): New functions.
50490         (struct casefold_rule): New type.
50491         (casefolding_rules, num_casefolding_rules,
50492         allocated_casefolding_rules): New variables.
50493         (fill_casefolding_rules): New function.
50494         (unicode_casefold): New variable.
50495         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50496         sort_casing_rules, output_casing_rules): New functions.
50497         (main): Accept to more arguments: SpecialCasing.txt and
50498         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50499         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50500         Output mapping for casefolding.
50501
50502         * lib/unicase.h: Include stdbool.h, uninorm.h.
50503         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50504         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50505         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50506         arguments.
50507         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50508         resultp arguments.
50509         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50510         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50511         resultp arguments.
50512         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50513         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50514         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50515         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50516         declarations.
50517         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50518
50519 2009-03-08  Bruno Haible  <bruno@clisp.org>
50520
50521         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50522         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50523         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50524         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50525
50526 2009-03-07  Bruno Haible  <bruno@clisp.org>
50527
50528         Adjust u*_normcmp, u*_normcoll API.
50529         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50530         u16_normcoll, u32_normcoll): Change failure conventions.
50531         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50532         errno and return -1.
50533         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50534
50535 2009-03-07  Bruno Haible  <bruno@clisp.org>
50536
50537         Tests for module 'uninorm/u32-normcoll'.
50538         * modules/uninorm/u32-normcoll-tests: New file.
50539         * tests/uninorm/test-u32-normcoll.c: New file.
50540
50541         Tests for module 'uninorm/u16-normcoll'.
50542         * modules/uninorm/u16-normcoll-tests: New file.
50543         * tests/uninorm/test-u16-normcoll.c: New file.
50544
50545         Tests for module 'uninorm/u8-normcoll'.
50546         * modules/uninorm/u8-normcoll-tests: New file.
50547         * tests/uninorm/test-u8-normcoll.c: New file.
50548
50549 2009-03-07  Bruno Haible  <bruno@clisp.org>
50550
50551         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50552         tests/uninorm/test-u32-normcmp.c.
50553         * tests/uninorm/test-u32-normcmp.c: Include it.
50554         (test_nonascii): New function, extracted from main. Add some more
50555         tests.
50556         (main): Invoke test_ascii and test_nonascii.
50557         * modules/uninorm/u32-normcmp-tests (Files): Add
50558         tests/uninorm/test-u32-normcmp.h.
50559         (Depends-on): Remove uninorm/u32-normcmp.
50560
50561         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50562         tests/uninorm/test-u16-normcmp.c.
50563         * tests/uninorm/test-u16-normcmp.c: Include it.
50564         (test_nonascii): New function, extracted from main. Add some more
50565         tests.
50566         (main): Invoke test_ascii and test_nonascii.
50567         * modules/uninorm/u16-normcmp-tests (Files): Add
50568         tests/uninorm/test-u16-normcmp.h.
50569         (Depends-on): Remove uninorm/u16-normcmp.
50570
50571         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50572         tests/uninorm/test-u8-normcmp.c.
50573         * tests/uninorm/test-u8-normcmp.c: Include it.
50574         (test_nonascii): New function, extracted from main. Add some more
50575         tests.
50576         (main): Invoke test_ascii and test_nonascii.
50577         * modules/uninorm/u8-normcmp-tests (Files): Add
50578         tests/uninorm/test-u8-normcmp.h.
50579         (Depends-on): Remove uninorm/u8-normcmp.
50580
50581 2009-03-07  Bruno Haible  <bruno@clisp.org>
50582
50583         New module 'uninorm/u32-normcoll'.
50584         * lib/uninorm/u32-normcoll.c: New file.
50585         * modules/uninorm/u32-normcoll: New file.
50586
50587         New module 'uninorm/u16-normcoll'.
50588         * lib/uninorm/u16-normcoll.c: New file.
50589         * modules/uninorm/u16-normcoll: New file.
50590
50591         New module 'uninorm/u8-normcoll'.
50592         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50593         declarations.
50594         * lib/uninorm/u8-normcoll.c: New file.
50595         * lib/uninorm/u-normcoll.h: New file.
50596         * modules/uninorm/u8-normcoll: New file.
50597
50598         New module 'uninorm/u32-normxfrm'.
50599         * lib/uninorm/u32-normxfrm.c: New file.
50600         * modules/uninorm/u32-normxfrm: New file.
50601
50602         New module 'uninorm/u16-normxfrm'.
50603         * lib/uninorm/u16-normxfrm.c: New file.
50604         * modules/uninorm/u16-normxfrm: New file.
50605
50606         New module 'uninorm/u8-normxfrm'.
50607         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50608         declarations.
50609         * lib/uninorm/u8-normxfrm.c: New file.
50610         * lib/uninorm/u-normxfrm.h: New file.
50611         * modules/uninorm/u8-normxfrm: New file.
50612
50613 2009-03-07  Bruno Haible  <bruno@clisp.org>
50614
50615         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50616         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50617         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50618
50619 2009-03-07  Bruno Haible  <bruno@clisp.org>
50620
50621         New module 'memxfrm'.
50622         * lib/memxfrm.h: New file.
50623         * lib/memxfrm.c: New file.
50624         * modules/memxfrm: New file.
50625
50626 2009-03-07  Bruno Haible  <bruno@clisp.org>
50627
50628         New module 'memcmp2'.
50629         * lib/memcmp2.h: New file.
50630         * lib/memcmp2.c: New file.
50631         * modules/memcmp2: New file.
50632
50633 2009-03-07  Bruno Haible  <bruno@clisp.org>
50634
50635         Tests for module 'uninorm/decomposing-form'.
50636         * modules/uninorm/decomposing-form-tests: New file.
50637         * tests/uninorm/test-decomposing-form.c: New file.
50638
50639         New module 'uninorm/decomposing-form'.
50640         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50641         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50642         Add 'decomposing_variant' field.
50643         * lib/uninorm/decomposing-form.c: New file.
50644         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50645         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50646         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50647         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50648         * modules/uninorm/decomposing-form: New file.
50649         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50650         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50651
50652 2009-03-07  Bruno Haible  <bruno@clisp.org>
50653
50654         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50655         strings.
50656
50657 2009-03-06  Bruno Haible  <bruno@clisp.org>
50658
50659         Tests for module 'uninorm/u32-normcmp'.
50660         * tests/uninorm/test-u32-normcmp.c: New file.
50661         * modules/uninorm/u32-normcmp-tests: New file.
50662
50663         Tests for module 'uninorm/u16-normcmp'.
50664         * tests/uninorm/test-u16-normcmp.c: New file.
50665         * modules/uninorm/u16-normcmp-tests: New file.
50666
50667         Tests for module 'uninorm/u8-normcmp'.
50668         * tests/uninorm/test-u8-normcmp.c: New file.
50669         * modules/uninorm/u8-normcmp-tests: New file.
50670
50671         New module 'uninorm/u32-normcmp'.
50672         * lib/uninorm/u32-normcmp.c: New file.
50673         * modules/uninorm/u32-normcmp: New file.
50674
50675         New module 'uninorm/u16-normcmp'.
50676         * lib/uninorm/u16-normcmp.c: New file.
50677         * modules/uninorm/u16-normcmp: New file.
50678
50679         New module 'uninorm/u8-normcmp'.
50680         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50681         declarations.
50682         * lib/uninorm/u8-normcmp.c: New file.
50683         * lib/uninorm/u-normcmp.h: New file.
50684         * modules/uninorm/u8-normcmp: New file.
50685
50686 2009-03-06  Bruno Haible  <bruno@clisp.org>
50687
50688         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50689         Reported by Eric Blake.
50690
50691 2009-03-06  Eric Blake  <ebb9@byu.net>
50692             Bruno Haible  <bruno@clisp.org>
50693
50694         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50695         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50696         condition.
50697         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50698         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50699         condition.
50700         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50701
50702 2009-03-06  Eric Blake  <ebb9@byu.net>
50703
50704         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50705         to avoid compiler warnings.
50706         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50707
50708 2009-03-05  Bruno Haible  <bruno@clisp.org>
50709
50710         * tests/test-ftell.c (main): Disable test beyond end of file on
50711         FreeMiNT.
50712         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50713
50714 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50715
50716         * lib/filevercmp.c: Move hidden files up in ordering.
50717         * tests/test-filevercmp.c: Add tests for hidden files.
50718
50719 2009-03-04  Bruno Haible  <bruno@clisp.org>
50720
50721         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50722         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50723         AM_CFLAGS.
50724         Reported by Simon Josefsson.
50725
50726 2009-03-03  Bruno Haible  <bruno@clisp.org>
50727
50728         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50729         Reported by Simon Josefsson.
50730
50731         * doc/ld-version-script.texi: Update node reference.
50732
50733 2009-03-03  Bruno Haible  <bruno@clisp.org>
50734
50735         * modules/visibility (License): Change to 'unlimited'.
50736         Suggested by Simon Josefsson.
50737
50738 2009-03-03  Jim Meyering  <meyering@redhat.com>
50739
50740         unlinkdir: cannot_unlink_dir may modify process state
50741         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50742         it's neither thread-safe nor appropriate for use in a library.
50743
50744 2009-03-03  Eric Blake  <ebb9@byu.net>
50745
50746         test-closein: silence test under Darwin
50747         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50748         care if it dies from EPIPE or EBADF.
50749
50750 2009-03-03  Bruno Haible  <bruno@clisp.org>
50751
50752         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50753         earlier.
50754         * doc/visibility.texi: Fix @node and @section.
50755
50756 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50757
50758         * doc/gnulib.texi: Link to sections for ld version script and
50759         visibility.
50760         * doc/visibility.texi: Add @node and @section.
50761         * modules/ld-version-script: New module.
50762         * m4/ld-version-script.m4: New file.
50763         * doc/ld-version-script.texi: New file.
50764
50765 2009-03-02  David Lutterkort  <lutter@redhat.com>
50766
50767         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50768         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50769
50770 2009-03-02  Bruno Haible  <bruno@clisp.org>
50771
50772         * doc/visibility.texi: Mention libtool's -export-symbols option.
50773
50774 2009-03-02  Jim Meyering  <meyering@redhat.com>
50775
50776         announce-gen: new option: --no-print-checksums
50777         * build-aux/announce-gen (usage): Describe it.
50778         (print_checksums): Print a newline here, not in the [*] footnote.
50779         (main): Honor it.
50780
50781 2009-03-01  Bruno Haible  <bruno@clisp.org>
50782
50783         Use socklen_t in the native Windows replacements prototypes.
50784         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50785         instead of 'int'.
50786         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50787         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50788         * modules/getsockopt (Depends-on): Add socklen.
50789         * modules/setsockopt (Depends-on): Add socklen.
50790
50791 2009-03-01  Bruno Haible  <bruno@clisp.org>
50792
50793         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50794         least 4.2.
50795
50796 2009-03-01  Eric Blake  <ebb9@byu.net>
50797             Bruno Haible  <bruno@clisp.org>
50798
50799         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50800         error messages.
50801         * lib/wait-process.c (wait_subprocess): Omit error message about
50802         deadly signal sent to the child of termsigp != NULL.
50803
50804 2009-03-01  Eric Blake  <ebb9@byu.net>
50805
50806         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50807
50808 2009-03-01  Bruno Haible  <bruno@clisp.org>
50809
50810         Avoid a gcc warning.
50811         * tests/test-sched.c (b): Make global.
50812         Reported by Eric Blake.
50813
50814 2009-01-19  Martin Lambers  <marlam@marlam.de>
50815
50816         Provide POSIX semantics for socket timeout options on W32.
50817         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50818         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50819         * modules/setsockopt: Depend on sys_time module for struct timeval.
50820         * modules/getsockopt: Depend on sys_time module for struct timeval.
50821
50822 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50823
50824         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50825         __USE_GNU, for consistency with netdb.in.h.
50826         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50827
50828 2009-03-01  Bruno Haible  <bruno@clisp.org>
50829
50830         More support for FreeMiNT.
50831         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50832         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50833
50834 2009-03-01  Bruno Haible  <bruno@clisp.org>
50835
50836         More support for FreeMiNT.
50837         * lib/fpurge.c (fpurge): Correct last commit.
50838         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50839
50840 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50841
50842         Fix unportable awk script in vc-list-files.
50843         * build-aux/vc-list-files: In the replacement awk script, use
50844         substr with a second argument of 1, not zero.
50845         Report by Simon Josefsson.
50846
50847 2009-02-28  Bruno Haible  <bruno@clisp.org>
50848
50849         More support for FreeMiNT.
50850         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50851         to FreeMiNT today.
50852         * lib/fwriting.c (fwriting): Likewise.
50853         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50854
50855 2009-02-28  Bruno Haible  <bruno@clisp.org>
50856
50857         * tests/test-freadseek.c (main): Disable test beyond end of file on
50858         FreeMiNT.
50859         * tests/test-ftello.c (main): Likewise.
50860         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50861
50862 2009-02-28  Bruno Haible  <bruno@clisp.org>
50863
50864         Add tentative support for FreeMiNT.
50865         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50866         * lib/fpurge.c (fpurge): Likewise.
50867         * lib/freadable.c (freadable): Likewise.
50868         * lib/freading.c (freading): Likewise.
50869         * lib/freadptr.c (freadptr): Likewise.
50870         * lib/freadseek.c (freadptrinc): Likewise.
50871         * lib/fseeko.c (rpl_fseeko): Likewise.
50872         * lib/fseterr.c (fseterr): Likewise.
50873         * lib/fwritable.c (fwritable): Likewise.
50874         * lib/fwriting.c (fwriting): Likewise.
50875         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50876         Hourihane.
50877         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50878
50879 2009-02-28  Bruno Haible  <bruno@clisp.org>
50880
50881         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50882         SIGCHLD.
50883         Reported by Jim Meyering.
50884
50885 2009-02-28  Bruno Haible  <bruno@clisp.org>
50886
50887         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50888         Mention the results of these tests on various platforms.
50889         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50890         order.
50891         * doc/posix-functions/printf.texi: Likewise.
50892         * doc/posix-functions/snprintf.texi: Likewise.
50893         * doc/posix-functions/sprintf.texi: Likewise.
50894         * doc/posix-functions/vfprintf.texi: Likewise.
50895         * doc/posix-functions/vprintf.texi: Likewise.
50896         * doc/posix-functions/vsnprintf.texi: Likewise.
50897         * doc/posix-functions/vsprintf.texi: Likewise.
50898         * doc/glibc-functions/obstack_printf.texi: Likewise.
50899         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50900
50901 2009-02-28  Bruno Haible  <bruno@clisp.org>
50902
50903         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50904         Reported by Loïc Minier <lool@dooz.org>.
50905
50906 2009-02-27  Bruno Haible  <bruno@clisp.org>
50907
50908         * gnulib-tool (func_import): Make the sed expression used to create the
50909         sed script for updating the .gitignore file POSIX compliant.
50910         Reported by Eric Blake.
50911
50912 2009-02-27  Bruno Haible  <bruno@clisp.org>
50913
50914         * gnulib-tool (sed): Don't alias as "sed --posix".
50915         Reported by Eric Blake.
50916
50917 2009-02-27  Bruno Haible  <bruno@clisp.org>
50918
50919         Avoid test link errors.
50920         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50921         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50922         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50923         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50924         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50925
50926 2009-02-27  Bruno Haible  <bruno@clisp.org>
50927
50928         Avoid spurious "(cached)" in configure output.
50929         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50930         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50931         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50932         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50933         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50934         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50935         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50936         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50937         Reported by Eric Blake.
50938
50939 2009-02-27  Eric Blake  <ebb9@byu.net>
50940
50941         printf: fix regression in previous patch
50942         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50943
50944 2009-02-27  Bruno Haible  <bruno@clisp.org>
50945
50946         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50947         value.
50948         * lib/stdint.in.h: Likewise.
50949         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50950
50951 2009-02-27  Eric Blake  <ebb9@byu.net>
50952
50953         doc: mention more functions added in cygwin 1.7.0
50954         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50955         addition.
50956         * doc/posix-functions/open_wmemstream.texi: Likewise.
50957         * doc/posix-functions/wcsnlen.texi: Likewise.
50958         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50959         * doc/posix-functions/wcstod.texi: Likewise.
50960         * doc/posix-functions/wcstof.texi: Likewise.
50961         * doc/posix-functions/wcstoimax.texi: Likewise.
50962         * doc/posix-functions/wcstok.texi: Likewise.
50963         * doc/posix-functions/wcstoumax.texi: Likewise.
50964
50965         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50966         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50967         * doc/posix-functions/fprintf.texi: Update.
50968         * doc/posix-functions/printf.texi: Update.
50969         * doc/posix-functions/snprintf.texi: Update.
50970         * doc/posix-functions/sprintf.texi: Update.
50971         * doc/posix-functions/vfprintf.texi: Update.
50972         * doc/posix-functions/vprintf.texi: Update.
50973         * doc/posix-functions/vsnprintf.texi: Update.
50974         * doc/posix-functions/vsprintf.texi: Update.
50975         * doc/glibc-functions/obstack_printf.texi: Update.
50976         * doc/glibc-functions/obstack_vprintf.texi: Update.
50977
50978 2009-02-26  Eric Blake  <ebb9@byu.net>
50979
50980         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50981         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50982         compilation bug by using runtime conversion.
50983         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50984         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50985         * modules/ceill-tests (Files): Use nan.h.
50986         * modules/floorl-tests (Files): Likewise.
50987         * modules/frexpl-tests (Files): Likewise.
50988         * modules/isnanl-tests (Files): Likewise.
50989         * modules/ldexpl-tests (Files): Likewise.
50990         * modules/roundl-tests (Files): Likewise.
50991         * modules/truncl-tests (Files): Likewise.
50992         * tests/test-ceill.c (main): Use a working NaN.
50993         * tests/test-floorl.c (main): Likewise.
50994         * tests/test-frexpl.c (main): Likewise.
50995         * tests/test-isnan.c (test_long_double): Likewise.
50996         * tests/test-isnanl.h (main): Likewise.
50997         * tests/test-ldexpl.h (main): Likewise.
50998         * tests/test-roundl.h (main): Likewise.
50999         * tests/test-truncl.h (main): Likewise.
51000         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
51001
51002 2009-02-26  Eric Blake  <ebb9@byu.net>
51003             Bruno Haible  <bruno@clisp.org>
51004
51005         Work around a *printf bug with %ls on Solaris.
51006         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
51007         precision is specified, sprintf stops converting the wide string
51008         argument when the number of bytes that have been produced by this
51009         conversion equals or exceeds the precision.
51010         * doc/posix-functions/fprintf.texi: Update.
51011         * doc/posix-functions/printf.texi: Update.
51012         * doc/posix-functions/snprintf.texi: Update.
51013         * doc/posix-functions/sprintf.texi: Update.
51014         * doc/posix-functions/vfprintf.texi: Update.
51015         * doc/posix-functions/vprintf.texi: Update.
51016         * doc/posix-functions/vsnprintf.texi: Update.
51017         * doc/posix-functions/vsprintf.texi: Update.
51018         * doc/glibc-functions/obstack_printf.texi: Update.
51019         * doc/glibc-functions/obstack_vprintf.texi: Update.
51020
51021 2009-02-26  Eric Blake  <ebb9@byu.net>
51022
51023         stdlib: favor compiler check of random.h
51024         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
51025         to avoid an ObjC random.h installed by Swarm.
51026
51027 2009-02-26  Bruno Haible  <bruno@clisp.org>
51028
51029         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
51030         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
51031         Reported by Gary V. Vaughan <gary@gnu.org>.
51032
51033 2009-02-26  Bruno Haible  <bruno@clisp.org>
51034
51035         Fix *printf behaviour regarding the %ls directive.
51036         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
51037         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
51038         NEED_PRINTF_DIRECTIVE_LS.
51039         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
51040         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51041         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51042         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
51043         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
51044         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
51045         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
51046         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51047         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51048         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51049         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51050         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
51051         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51052         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51053         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51054         * doc/posix-functions/fprintf.texi: Update.
51055         * doc/posix-functions/printf.texi: Update.
51056         * doc/posix-functions/snprintf.texi: Update.
51057         * doc/posix-functions/sprintf.texi: Update.
51058         * doc/posix-functions/vfprintf.texi: Update.
51059         * doc/posix-functions/vprintf.texi: Update.
51060         * doc/posix-functions/vsnprintf.texi: Update.
51061         * doc/posix-functions/vsprintf.texi: Update.
51062         * doc/glibc-functions/obstack_printf.texi: Update.
51063         * doc/glibc-functions/obstack_vprintf.texi: Update.
51064         Reported by Eric Blake.
51065
51066 2009-02-25  Bruno Haible  <bruno@clisp.org>
51067
51068         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
51069         with known value.
51070         Reported by Gary V. Vaughan <gary@gnu.org>.
51071
51072 2009-02-25  Bruno Haible  <bruno@clisp.org>
51073
51074         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
51075         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
51076         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
51077         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
51078         Reported by Gary V. Vaughan <gary@gnu.org>.
51079
51080 2009-02-25  Bruno Haible  <bruno@clisp.org>
51081
51082         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
51083         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
51084         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
51085         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
51086         Reported by Gary V. Vaughan <gary@gnu.org>.
51087
51088 2009-02-25  Eric Blake  <ebb9@byu.net>
51089
51090         tests: skip fseek/ftell tests if ungetc is broken
51091         * m4/ungetc.m4: New file.
51092         * modules/fseek-tests: Split test, so ungetc dependency is
51093         separate from rest of test.
51094         * modules/fseeko-tests: Likewise.
51095         * modules/ftell-tests: Likewise.
51096         * modules/ftello-tests: Likewise.
51097         * tests/test-fseek.c (main): Isolate ungetc dependency.
51098         * tests/test-fseeko.c (main): Likewise.
51099         * tests/test-ftell.c (main): Likewise.
51100         * tests/test-ftello.c (main): Likewise.
51101         * tests/test-fseek2.sh: New file.
51102         * tests/test-fseeko2.sh: Likewise.
51103         * tests/test-ftell2.sh: Likewise.
51104         * tests/test-ftello2.sh: Likewise.
51105
51106 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
51107
51108         test-getaddrinfo: fix usage of skip return code 77
51109         * tests/test-gettaddrinfo.c: Return skip code 77 only
51110         for first occurrence of skip (4x77 is not 77)
51111
51112 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
51113
51114         strtod: avoid C99 decl-after-statement
51115         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
51116
51117 2009-02-24  Eric Blake  <ebb9@byu.net>
51118
51119         strtod: detect HP-UX 11.31 bug
51120         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
51121         Reported by Gary V. Vaughan.
51122
51123 2009-02-23  Bruno Haible  <bruno@clisp.org>
51124
51125         Fix invalid read past end of memory block.
51126         * lib/vasnprintf.c (DCHAR_SET): Define.
51127         (local_wcslen): Define only when needed.
51128         (local_strnlen, local_wcsnlen): New functions.
51129         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
51130         directives that involve a conversion ourselves.
51131         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
51132         wcsnlen, mbrtowc, wcrtomb.
51133         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
51134         * tests/test-vasprintf-posix.c (test_function): Likewise.
51135         * tests/test-snprintf-posix.h (test_function): Likewise.
51136         * tests/test-sprintf-posix.h (test_function): Likewise.
51137         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51138
51139 2009-02-22  Bruno Haible  <bruno@clisp.org>
51140
51141         Implement new clarified decomposition of Hangul syllables.
51142         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
51143         of type LTV, return only a pairwise decomposition.
51144         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
51145         Likewise.
51146         * tests/uninorm/test-decomposition.c (main): Updated expected result.
51147         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
51148         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
51149
51150 2009-02-22  Bruno Haible  <bruno@clisp.org>
51151
51152         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
51153         zero-length results and shrink excess allocated memory.
51154         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
51155         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
51156         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
51157         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
51158         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
51159         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
51160         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
51161         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
51162         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
51163         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
51164         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
51165         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
51166
51167 2009-02-21  Bruno Haible  <bruno@clisp.org>
51168
51169         * doc/gnulib.texi: Include safe-alloc.texi earlier.
51170         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
51171         spaces after a period. Put a space between a macro name and its
51172         argument list. Trivial rewordings.
51173         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
51174         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
51175         (main): Return 0 explicitly.
51176
51177 2009-02-21  Bruno Haible  <bruno@clisp.org>
51178
51179         Tests for module 'uninorm/filter'.
51180         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
51181         * modules/uninorm/filter-tests: New file.
51182
51183         New module 'uninorm/filter'.
51184         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
51185         uninorm_filter_flush, uninorm_filter_free): New declarations.
51186         * lib/uninorm/uninorm-filter.c: New file.
51187         * modules/uninorm/filter: New file.
51188
51189 2009-02-21  Bruno Haible  <bruno@clisp.org>
51190
51191         Tests for module 'uninorm/nfkc'.
51192         * tests/uninorm/test-nfkc.c: New file.
51193         * tests/uninorm/test-u8-nfkc.c: New file.
51194         * tests/uninorm/test-u16-nfkc.c: New file.
51195         * tests/uninorm/test-u32-nfkc.c: New file.
51196         * tests/uninorm/test-u32-nfkc-big.sh: New file.
51197         * tests/uninorm/test-u32-nfkc-big.c: New file.
51198         * modules/uninorm/nfkc-tests: New file.
51199
51200         New module 'uninorm/nfkc'.
51201         * lib/uninorm/nfkc.c: New file.
51202         * modules/uninorm/nfkc: New file.
51203
51204         Tests for module 'uninorm/nfkd'.
51205         * tests/uninorm/test-nfkd.c: New file.
51206         * tests/uninorm/test-u8-nfkd.c: New file.
51207         * tests/uninorm/test-u16-nfkd.c: New file.
51208         * tests/uninorm/test-u32-nfkd.c: New file.
51209         * tests/uninorm/test-u32-nfkd-big.sh: New file.
51210         * tests/uninorm/test-u32-nfkd-big.c: New file.
51211         * modules/uninorm/nfkd-tests: New file.
51212
51213         New module 'uninorm/nfkd'.
51214         * lib/uninorm/nfkd.c: New file.
51215         * modules/uninorm/nfkd: New file.
51216
51217         Tests for module 'uninorm/nfc'.
51218         * tests/uninorm/test-nfc.c: New file.
51219         * tests/uninorm/test-u8-nfc.c: New file.
51220         * tests/uninorm/test-u16-nfc.c: New file.
51221         * tests/uninorm/test-u32-nfc.c: New file.
51222         * tests/uninorm/test-u32-nfc-big.sh: New file.
51223         * tests/uninorm/test-u32-nfc-big.c: New file.
51224         * modules/uninorm/nfc-tests: New file.
51225
51226         New module 'uninorm/nfc'.
51227         * lib/uninorm/nfc.c: New file.
51228         * modules/uninorm/nfc: New file.
51229
51230         Tests for module 'uninorm/nfd'.
51231         * tests/uninorm/test-nfd.c: New file.
51232         * tests/uninorm/test-u8-nfd.c: New file.
51233         * tests/uninorm/test-u16-nfd.c: New file.
51234         * tests/uninorm/test-u32-nfd.c: New file.
51235         * tests/uninorm/test-u32-nfd-big.sh: New file.
51236         * tests/uninorm/test-u32-nfd-big.c: New file.
51237         * tests/uninorm/test-u32-normalize-big.h: New file.
51238         * tests/uninorm/test-u32-normalize-big.c: New file.
51239         * tests/uninorm/NormalizationTest.txt: New file, created from
51240         Unicode 5.1.0 NormalizationTest.txt.
51241         * modules/uninorm/nfd-tests: New file.
51242
51243         New module 'uninorm/nfd'.
51244         * lib/uninorm/nfd.c: New file.
51245         * modules/uninorm/nfd: New file.
51246
51247         New module 'uninorm/u32-normalize'.
51248         * lib/uninorm/u32-normalize.c: New file.
51249         * modules/uninorm/u32-normalize: New file.
51250
51251         New module 'uninorm/u16-normalize'.
51252         * lib/uninorm/u16-normalize.c: New file.
51253         * modules/uninorm/u16-normalize: New file.
51254
51255         New module 'uninorm/u8-normalize'.
51256         * lib/uninorm/u8-normalize.c: New file.
51257         * lib/uninorm/normalize-internal.h: New file.
51258         * lib/uninorm/u-normalize-internal.h: New file.
51259         * modules/uninorm/u8-normalize: New file.
51260
51261         New module 'uninorm/decompose-internal'.
51262         * lib/uninorm/decompose-internal.c: New file.
51263         * modules/uninorm/decompose-internal: New file.
51264
51265         Tests for module 'uninorm/composition'.
51266         * tests/uninorm/test-composition.c: New file.
51267         * modules/uninorm/composition-tests: New file.
51268
51269         New module 'uninorm/composition'.
51270         * lib/uninorm/composition.c: New file.
51271         * lib/uninorm/composition-table.gperf: New file, generated by
51272         gen-uni-tables.
51273         * modules/uninorm/composition: New file.
51274
51275         Tests for module 'uninorm/compat-decomposition'.
51276         * tests/uninorm/test-compat-decomposition.c: New file.
51277         * modules/uninorm/compat-decomposition-tests: New file.
51278
51279         New module 'uninorm/compat-decomposition'.
51280         * lib/uninorm/decompose-internal.h: New file.
51281         * lib/uninorm/compat-decomposition.c: New file.
51282         * modules/uninorm/compat-decomposition: New file.
51283
51284         Tests for module 'uninorm/canonical-decomposition'.
51285         * tests/uninorm/test-canonical-decomposition.c: New file.
51286         * modules/uninorm/canonical-decomposition-tests: New file.
51287
51288         New module 'uninorm/canonical-decomposition'.
51289         * lib/uninorm/canonical-decomposition.c: New file.
51290         * modules/uninorm/canonical-decomposition: New file.
51291
51292         Tests for module 'uninorm/decomposition'.
51293         * tests/uninorm/test-decomposition.c: New file.
51294         * modules/uninorm/decomposition-tests: New file.
51295
51296         New module 'uninorm/decomposition'.
51297         * lib/uninorm/decomposition.c: New file.
51298         * modules/uninorm/decomposition: New file.
51299
51300         New module 'uninorm/decomposition-table'.
51301         * lib/uninorm/decomposition-table.h: New file.
51302         * lib/uninorm/decomposition-table.c: New file.
51303         * lib/uninorm/decomposition-table1.h: New file, generated by
51304         gen-uni-tables.
51305         * lib/uninorm/decomposition-table2.h: New file, generated by
51306         gen-uni-tables.
51307         * modules/uninorm/decomposition-table: New file.
51308
51309         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
51310         (UC_DECOMP_*): New enumeration items.
51311         (get_decomposition): New function.
51312         (struct decomp_table): New type.
51313         (output_decomposition, output_decomposition_tables): New functions.
51314         (unicode_composition_exclusions): New variable.
51315         (fill_composition_exclusions, debug_output_composition_tables): New
51316         functions.
51317         (main): Accept one more argument. Invoke fill_composition_exclusions.
51318         Output decomposition and composition tables.
51319
51320         New module 'uninorm/base'.
51321         * lib/uninorm.h: New file.
51322         * lib/unictype.h: Update comment.
51323         * modules/uninorm/base: New file.
51324
51325 2009-02-21  David Lutterkort  <lutter@redhat.com>
51326
51327         Tests for module 'safe-alloc'.
51328         * tests/test-safe-alloc.c: New file.
51329         * modules/safe-alloc-tests: New file.
51330
51331         New module 'safe-alloc'.
51332         * lib/safe-alloc.h: New file.
51333         * lib/safe-alloc.c: New file.
51334         * m4/safe-alloc.m4: New file.
51335         * modules/safe-alloc: New file.
51336         * doc/safe-alloc.texi: New file.
51337         * doc/gnulib.texi: Include it.
51338         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
51339         safe-alloc.
51340
51341 2009-02-18  Bruno Haible  <bruno@clisp.org>
51342
51343         Fix link error on non-glibc systems.
51344         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
51345         variable.
51346         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51347
51348 2009-02-18  Jim Meyering  <meyering@redhat.com>
51349
51350         fts: avoid used-uninitialized error due to recent change
51351         * lib/fts.c (fts_read): Guard uses of the new member,
51352         parent->fts_n_dirs_remaining, since it's not relevant for
51353         the parent of a directory specified on the command-line.
51354
51355 2009-02-17  James Youngman  <jay@gnu.org>
51356             Bruno Haible  <bruno@clisp.org>
51357
51358         * m4/include_next.m4: Reformulate comment.
51359
51360 2009-02-16  Jim Meyering  <meyering@redhat.com>
51361
51362         fts: add #if guards so that the fts_lgpl module still builds
51363         * lib/fts.c: Guard just-added hash-table-using parts with
51364         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
51365         Reported by Simon Josefsson.
51366
51367 2009-02-15  Bruno Haible  <bruno@clisp.org>
51368
51369         * modules/array-mergesort-tests: New file.
51370         * tests/test-array-mergesort.c: New file.
51371
51372         New module 'array-mergesort'.
51373         * modules/array-mergesort: New file.
51374         * lib/array-mergesort.h: New file.
51375
51376 2009-02-15  Bruno Haible  <bruno@clisp.org>
51377
51378         Fix 2009-02-07 commit.
51379         * lib/gen-uni-tables.c (output_predicate, output_category,
51380         output_combclass, output_bidi_category, output_decimal_digit,
51381         output_digit, output_numeric, output_mirror, output_scripts,
51382         output_ident_category, output_simple_mapping): Fix format directives.
51383         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
51384
51385 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
51386
51387         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
51388         fixes are available from IBM.
51389
51390 2009-02-13  Jim Meyering  <meyering@redhat.com>
51391
51392         fts: arrange not to stat non-directories in more cases
51393         This makes GNU find (when it doesn't need to stat each file)
51394         *much* more efficient at traversing reiserfs file systems.
51395         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
51396         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
51397         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
51398         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
51399         (leaf_optimization_applies): New function.
51400         (LCO_hash, LCO_compare): New helper functions.
51401         (link_count_optimize_ok): New function.
51402         (fts_stat): Initialize new member (if dir).
51403         (fts_read): Decrement parent's fts_n_dirs_remaining count if
51404         we've just stat'ed a directory.  Skip the stat call when possible.
51405         ---
51406         Note this AFS-related exchange:
51407         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
51408         and note find's pioctl call in find/fstype.c.
51409         But that is necessary only if you want to enable the
51410         optimization for AFS, and for now, I don't.
51411
51412         fts: move a function definition "up" (no semantic change)
51413         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
51414         "up" to precede upcoming use of a related function.
51415
51416 2009-02-11  Jim Meyering  <meyering@redhat.com>
51417
51418         fts: correct internal computation of nlinks (optimization-related)
51419         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
51420         whether the current entry is a directory, so don't test it.
51421
51422 2009-02-10  Bruno Haible  <bruno@clisp.org>
51423
51424         Tests for module 'uniwbrk/ulc-wordbreaks'.
51425         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
51426         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
51427         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
51428
51429         Tests for module 'uniwbrk/u32-wordbreaks'.
51430         * modules/uniwbrk/u32-wordbreaks-tests: New file.
51431         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
51432
51433         Tests for module 'uniwbrk/u16-wordbreaks'.
51434         * modules/uniwbrk/u16-wordbreaks-tests: New file.
51435         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
51436
51437         Tests for module 'uniwbrk/u8-wordbreaks'.
51438         * modules/uniwbrk/u8-wordbreaks-tests: New file.
51439         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
51440
51441 2009-02-10  Bruno Haible  <bruno@clisp.org>
51442
51443         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
51444         property.
51445         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
51446         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
51447         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
51448
51449 2009-02-10  Simon Josefsson  <simon@josefsson.org>
51450
51451         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
51452         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
51453
51454 2009-02-10  Bruno Haible  <bruno@clisp.org>
51455
51456         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51457         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51458         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51459         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51460         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51461         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51462
51463 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51464
51465         * lib/sockets.h (gl_fd_to_handle): New function.
51466
51467         * tests/test-sockets.c: Call gl_fd_to_handle.
51468
51469 2009-02-09  Bruno Haible  <bruno@clisp.org>
51470
51471         * doc/havelib.texi: Document the conventions on bi-arch systems.
51472
51473 2009-02-08  Bruno Haible  <bruno@clisp.org>
51474
51475         Document the AC_LIB_LINKFLAGS macro.
51476         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51477         * doc/gnulib.texi: Include it.
51478
51479 2009-02-08  Bruno Haible  <bruno@clisp.org>
51480
51481         Fix wrong order of sections, compared to TOC.
51482         * doc/gnulib.texi: Include relocatable-maint.texi after the
51483         "Regular expressions" node, not before.
51484
51485 2009-02-08  Bruno Haible  <bruno@clisp.org>
51486
51487         Tests for module 'unicase/totitle'.
51488         * modules/unicase/totitle-tests: New file.
51489
51490         Tests for module 'unicase/tolower'.
51491         * modules/unicase/tolower-tests: New file.
51492
51493         Tests for module 'unicase/toupper'.
51494         * modules/unicase/toupper-tests: New file.
51495         * tests/unicase/test-mapping-part1.h: New file.
51496         * tests/unicase/test-mapping-part2.h: New file.
51497
51498         New module 'unicase/totitle'.
51499         * modules/unicase/totitle: New file.
51500         * lib/unicase/totitle.c: New file.
51501
51502         New module 'unicase/tolower'.
51503         * modules/unicase/tolower: New file.
51504         * lib/unicase/tolower.c: New file.
51505
51506         New module 'unicase/toupper'.
51507         * modules/unicase/toupper: New file.
51508         * lib/unicase/toupper.c: New file.
51509         * lib/unicase/simple-mapping.h: New file.
51510
51511         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51512         (mapping_table): New structure.
51513         (output_simple_mapping): New function.
51514         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51515         * modules/gen-uni-tables (Description): Update.
51516         * lib/unicase/toupper.h: New file, automatically generated by
51517         gen-uni-tables.
51518         * lib/unicase/tolower.h: New file, automatically generated by
51519         gen-uni-tables.
51520         * lib/unicase/totitle.h: New file, automatically generated by
51521         gen-uni-tables.
51522         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51523         gen-uni-tables.
51524         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51525         gen-uni-tables.
51526         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51527         gen-uni-tables.
51528
51529         New module 'unicase/base'.
51530         * modules/unicase/base: New file.
51531         * lib/unicase.h: New file.
51532
51533 2009-02-08  Bruno Haible  <bruno@clisp.org>
51534
51535         New module 'uniwbrk/ulc-wordbreaks'.
51536         * modules/uniwbrk/ulc-wordbreaks: New file.
51537         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51538
51539         New module 'uniwbrk/u32-wordbreaks'.
51540         * modules/uniwbrk/u32-wordbreaks: New file.
51541         * lib/uniwbrk/u32-wordbreaks.c: New file.
51542
51543         New module 'uniwbrk/u16-wordbreaks'.
51544         * modules/uniwbrk/u16-wordbreaks: New file.
51545         * lib/uniwbrk/u16-wordbreaks.c: New file.
51546
51547         New module 'uniwbrk/u8-wordbreaks'.
51548         * modules/uniwbrk/u8-wordbreaks: New file.
51549         * lib/uniwbrk/u8-wordbreaks.c: New file.
51550         * lib/uniwbrk/u-wordbreaks.h: New file.
51551
51552         New module 'uniwbrk/table'.
51553         * modules/uniwbrk/table: New file.
51554         * lib/uniwbrk/wbrktable.h: New file.
51555         * lib/uniwbrk/wbrktable.c: New file.
51556
51557         New module 'uniwbrk/wordbreak-property'.
51558         * modules/uniwbrk/wordbreak-property: New file.
51559         * lib/uniwbrk/wordbreak-property.c: New file.
51560
51561         * lib/gen-uni-tables.c (WBP_*): New enum items.
51562         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51563         (unicode_org_wbp): New variable.
51564         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51565         New functions.
51566         (wbp_table): New structure.
51567         (output_wbp, output_wbrk_tables): New functions.
51568         (main): Accept additional argument. Invoke fill_org_wbp,
51569         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51570         output_wbrk_tables.
51571         * modules/gen-uni-tables (Description): Update.
51572         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51573         gen-uni-tables.
51574
51575         New module 'uniwbrk/base'.
51576         * modules/uniwbrk/base: New file.
51577         * lib/uniwbrk.h: New file.
51578
51579 2009-02-08  Bruno Haible  <bruno@clisp.org>
51580
51581         Update to Unicode 5.1.0.
51582         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51583         U+2185..U+2188.
51584         (is_property_default_ignorable_code_point): Don't include characters
51585         of category Cc or Cs and not-a-characters.
51586         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51587         U+0D79, U+109E, U+109F, U+A60C.
51588         * lib/unictype/bidi_of.h: Regenerated.
51589         * lib/unictype/blocks.h: Regenerated.
51590         * lib/unictype/categ_C.h: Regenerated.
51591         * lib/unictype/categ_Cf.h: Regenerated.
51592         * lib/unictype/categ_Cn.h: Regenerated.
51593         * lib/unictype/categ_L.h: Regenerated.
51594         * lib/unictype/categ_Ll.h: Regenerated.
51595         * lib/unictype/categ_Lm.h: Regenerated.
51596         * lib/unictype/categ_Lo.h: Regenerated.
51597         * lib/unictype/categ_Lu.h: Regenerated.
51598         * lib/unictype/categ_M.h: Regenerated.
51599         * lib/unictype/categ_Mc.h: Regenerated.
51600         * lib/unictype/categ_Me.h: Regenerated.
51601         * lib/unictype/categ_Mn.h: Regenerated.
51602         * lib/unictype/categ_N.h: Regenerated.
51603         * lib/unictype/categ_Nd.h: Regenerated.
51604         * lib/unictype/categ_Nl.h: Regenerated.
51605         * lib/unictype/categ_No.h: Regenerated.
51606         * lib/unictype/categ_P.h: Regenerated.
51607         * lib/unictype/categ_Pd.h: Regenerated.
51608         * lib/unictype/categ_Pe.h: Regenerated.
51609         * lib/unictype/categ_Pf.h: Regenerated.
51610         * lib/unictype/categ_Pi.h: Regenerated.
51611         * lib/unictype/categ_Po.h: Regenerated.
51612         * lib/unictype/categ_Ps.h: Regenerated.
51613         * lib/unictype/categ_S.h: Regenerated.
51614         * lib/unictype/categ_Sk.h: Regenerated.
51615         * lib/unictype/categ_Sm.h: Regenerated.
51616         * lib/unictype/categ_So.h: Regenerated.
51617         * lib/unictype/categ_of.h: Regenerated.
51618         * lib/unictype/combining.h: Regenerated.
51619         * lib/unictype/ctype_alnum.h: Regenerated.
51620         * lib/unictype/ctype_alpha.h: Regenerated.
51621         * lib/unictype/ctype_graph.h: Regenerated.
51622         * lib/unictype/ctype_lower.h: Regenerated.
51623         * lib/unictype/ctype_print.h: Regenerated.
51624         * lib/unictype/ctype_punct.h: Regenerated.
51625         * lib/unictype/ctype_upper.h: Regenerated.
51626         * lib/unictype/decdigit.h: Regenerated.
51627         * lib/unictype/digit.h: Regenerated.
51628         * lib/unictype/mirror.h: Regenerated.
51629         * lib/unictype/numeric.h: Regenerated.
51630         * lib/unictype/pr_alphabetic.h: Regenerated.
51631         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51632         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51633         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51634         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51635         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51636         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51637         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51638         * lib/unictype/pr_combining.h: Regenerated.
51639         * lib/unictype/pr_dash.h: Regenerated.
51640         * lib/unictype/pr_decimal_digit.h: Regenerated.
51641         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51642         * lib/unictype/pr_deprecated.h: Regenerated.
51643         * lib/unictype/pr_diacritic.h: Regenerated.
51644         * lib/unictype/pr_extender.h: Regenerated.
51645         * lib/unictype/pr_format_control.h: Regenerated.
51646         * lib/unictype/pr_grapheme_base.h: Regenerated.
51647         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51648         * lib/unictype/pr_grapheme_link.h: Regenerated.
51649         * lib/unictype/pr_id_continue.h: Regenerated.
51650         * lib/unictype/pr_id_start.h: Regenerated.
51651         * lib/unictype/pr_ideographic.h: Regenerated.
51652         * lib/unictype/pr_ignorable_control.h: Regenerated.
51653         * lib/unictype/pr_lowercase.h: Regenerated.
51654         * lib/unictype/pr_math.h: Regenerated.
51655         * lib/unictype/pr_numeric.h: Regenerated.
51656         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51657         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51658         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51659         * lib/unictype/pr_other_id_continue.h: Regenerated.
51660         * lib/unictype/pr_other_lowercase.h: Regenerated.
51661         * lib/unictype/pr_other_math.h: Regenerated.
51662         * lib/unictype/pr_punctuation.h: Regenerated.
51663         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51664         * lib/unictype/pr_soft_dotted.h: Regenerated.
51665         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51666         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51667         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51668         * lib/unictype/pr_uppercase.h: Regenerated.
51669         * lib/unictype/pr_xid_continue.h: Regenerated.
51670         * lib/unictype/pr_xid_start.h: Regenerated.
51671         * lib/unictype/pr_zero_width.h: Regenerated.
51672         * lib/unictype/scripts.h: Regenerated.
51673         * lib/unictype/scripts_byname.gperf: Regenerated.
51674         * lib/unictype/sy_java_ident.h: Regenerated.
51675         * lib/unilbrk/lbrkprop1.h: Regenerated.
51676         * lib/unilbrk/lbrkprop2.h: Regenerated.
51677         * tests/unictype/test-categ_C.c: Regenerated.
51678         * tests/unictype/test-categ_Cf.c: Regenerated.
51679         * tests/unictype/test-categ_Cn.c: Regenerated.
51680         * tests/unictype/test-categ_L.c: Regenerated.
51681         * tests/unictype/test-categ_Ll.c: Regenerated.
51682         * tests/unictype/test-categ_Lm.c: Regenerated.
51683         * tests/unictype/test-categ_Lo.c: Regenerated.
51684         * tests/unictype/test-categ_Lu.c: Regenerated.
51685         * tests/unictype/test-categ_M.c: Regenerated.
51686         * tests/unictype/test-categ_Mc.c: Regenerated.
51687         * tests/unictype/test-categ_Me.c: Regenerated.
51688         * tests/unictype/test-categ_Mn.c: Regenerated.
51689         * tests/unictype/test-categ_N.c: Regenerated.
51690         * tests/unictype/test-categ_Nd.c: Regenerated.
51691         * tests/unictype/test-categ_Nl.c: Regenerated.
51692         * tests/unictype/test-categ_No.c: Regenerated.
51693         * tests/unictype/test-categ_P.c: Regenerated.
51694         * tests/unictype/test-categ_Pd.c: Regenerated.
51695         * tests/unictype/test-categ_Pe.c: Regenerated.
51696         * tests/unictype/test-categ_Pf.c: Regenerated.
51697         * tests/unictype/test-categ_Pi.c: Regenerated.
51698         * tests/unictype/test-categ_Po.c: Regenerated.
51699         * tests/unictype/test-categ_Ps.c: Regenerated.
51700         * tests/unictype/test-categ_S.c: Regenerated.
51701         * tests/unictype/test-categ_Sk.c: Regenerated.
51702         * tests/unictype/test-categ_Sm.c: Regenerated.
51703         * tests/unictype/test-categ_So.c: Regenerated.
51704         * tests/unictype/test-ctype_alnum.c: Regenerated.
51705         * tests/unictype/test-ctype_alpha.c: Regenerated.
51706         * tests/unictype/test-ctype_graph.c: Regenerated.
51707         * tests/unictype/test-ctype_lower.c: Regenerated.
51708         * tests/unictype/test-ctype_print.c: Regenerated.
51709         * tests/unictype/test-ctype_punct.c: Regenerated.
51710         * tests/unictype/test-ctype_upper.c: Regenerated.
51711         * tests/unictype/test-decdigit.h: Regenerated.
51712         * tests/unictype/test-digit.h: Regenerated.
51713         * tests/unictype/test-numeric.h: Regenerated.
51714         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51715         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51716         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51717         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51718         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51719         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51720         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51721         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51722         * tests/unictype/test-pr_combining.c: Regenerated.
51723         * tests/unictype/test-pr_dash.c: Regenerated.
51724         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51725         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51726         * tests/unictype/test-pr_deprecated.c: Regenerated.
51727         * tests/unictype/test-pr_diacritic.c: Regenerated.
51728         * tests/unictype/test-pr_extender.c: Regenerated.
51729         * tests/unictype/test-pr_format_control.c: Regenerated.
51730         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51731         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51732         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51733         * tests/unictype/test-pr_id_continue.c: Regenerated.
51734         * tests/unictype/test-pr_id_start.c: Regenerated.
51735         * tests/unictype/test-pr_ideographic.c: Regenerated.
51736         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51737         * tests/unictype/test-pr_lowercase.c: Regenerated.
51738         * tests/unictype/test-pr_math.c: Regenerated.
51739         * tests/unictype/test-pr_numeric.c: Regenerated.
51740         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51741         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51742         Regenerated.
51743         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51744         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51745         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51746         * tests/unictype/test-pr_other_math.c: Regenerated.
51747         * tests/unictype/test-pr_punctuation.c: Regenerated.
51748         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51749         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51750         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51751         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51752         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51753         * tests/unictype/test-pr_uppercase.c: Regenerated.
51754         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51755         * tests/unictype/test-pr_xid_start.c: Regenerated.
51756         * tests/unictype/test-pr_zero_width.c: Regenerated.
51757
51758         Update to Unicode 5.1.0.
51759         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51760         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51761         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51762         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51763         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51764         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51765         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51766         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51767         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51768         (nonspacing_table_ind): Update.
51769         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51770
51771         Update to Unicode 5.1.0.
51772         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51773         code transform.
51774         * lib/uniname/uniname.c (unicode_character_name,
51775         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51776         * lib/uniname/uninames.h: Regenerated.
51777         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51778
51779 2009-02-07  Bruno Haible  <bruno@clisp.org>
51780
51781         Merge gen-ctype and gen-lbrk into a single program.
51782         * lib/gen-uni-tables.c: New file, incorporating
51783         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51784         Add directory prefixes to the names of the generated files.
51785         * lib/unictype/gen-ctype.c: Remove file.
51786         * lib/unilbrk/gen-lbrk.c: Remove file.
51787         * modules/gen-uni-tables: New file.
51788         * modules/unictype/gen-ctype: Remove file.
51789         * modules/unilbrk/gen-lbrk: Remove file.
51790
51791 2009-02-07  Bruno Haible  <bruno@clisp.org>
51792
51793         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51794
51795         New module 'unistr/u32-strcoll'.
51796         * modules/unistr/u32-strcoll: New file.
51797         * lib/unistr/u32-strcoll.c: New file.
51798
51799         New module 'unistr/u16-strcoll'.
51800         * modules/unistr/u16-strcoll: New file.
51801         * lib/unistr/u16-strcoll.c: New file.
51802
51803         New module 'unistr/u8-strcoll'.
51804         * modules/unistr/u8-strcoll: New file.
51805         * lib/unistr/u8-strcoll.c: New file.
51806         * lib/unistr/u-strcoll.h: New file.
51807
51808 2009-02-07  Bruno Haible  <bruno@clisp.org>
51809
51810         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51811         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51812         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51813         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51814         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51815         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51816
51817 2009-02-07  Bruno Haible  <bruno@clisp.org>
51818
51819         Make 64-bit clean.
51820         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51821         output_combclass, output_bidi_category, output_decimal_digit,
51822         output_digit, output_numeric, output_mirror, output_scripts,
51823         output_ident_category): Use proper width specifier in format strings.
51824
51825 2009-02-07  Bruno Haible  <bruno@clisp.org>
51826
51827         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51828         failure behaviour.
51829
51830 2009-02-07  Jim Meyering  <meyering@redhat.com>
51831
51832         regex: avoid compilation failure with upcoming gcc-4.4
51833         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51834         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51835         "... error: integer overflow in preprocessor expression".
51836
51837 2009-02-05  Ben Pfaff  <blp@gnu.org>
51838
51839         Fix link errors on Windows when close module is used.
51840         * modules/close: Add $(LIB_CLOSE) to Link section.
51841         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51842         $(LIB_CLOSE) on Windows.
51843
51844 2009-02-05  Jim Meyering  <meyering@redhat.com>
51845
51846         still avoid unused-parameter warnings, but do it cleanly
51847         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51848         (get_fs_usage): Cast to void instead.
51849         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51850         (dev_from_mount_options, read_file_system_list): Cast to void.
51851         Prompted by Bruno Haible.
51852
51853 2009-02-04  Jim Meyering  <meyering@redhat.com>
51854
51855         fsusage.c: correct copyright year
51856         * lib/fsusage.c: Reflect year in which the change is pushed into
51857
51858         avoid misc. warnings
51859         * lib/fsusage.c (UNUSED_PARAM): Define.
51860         (get_fs_usage): Mark parameter "disk" as unused.
51861         * lib/getugroups.c (getgrent): Use "void" in prototype.
51862         * lib/mountlist.c: Mark unused parameters.
51863         (read_file_system_list): Declare a local with "const".
51864         * lib/nanosleep.c (getnow): Declare static.
51865         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51866
51867         dirfd: set errno upon failure
51868         * lib/dirfd.c: Include <errno.h>.
51869         Set errno to ENOTSUP when returning -1.
51870         * modules/dirfd (Depends-on): Add errno.
51871         Suggested by John Kodis <kodis@comcast.net>.
51872
51873 2009-02-01  Bruno Haible  <bruno@clisp.org>
51874
51875         Don't assume sizeof (long) >= sizeof (void *).
51876         * lib/memcmp.c: Include stdint.h.
51877         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51878         srcp2 to 'const byte *'.
51879         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51880         types to uintptr_t.
51881         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51882         * modules/memcmp (Depends-on): Add stdint.
51883         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51884
51885 2009-01-30  Eric Blake  <ebb9@byu.net>
51886
51887         fix more require-before-expand issues
51888         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51889         expand, AC_PROG_AWK.
51890         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51891
51892 2009-01-28  Eric Blake  <ebb9@byu.net>
51893
51894         version-etc: use consistent URL formatting
51895         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51896         Improve formatting.  Use fputs for string without %.
51897
51898 2009-01-28  Jim Meyering  <meyering@redhat.com>
51899
51900         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51901         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51902         "underquoted definition of NAME" from autoconf-2.59.
51903
51904 2009-01-28  Bruno Haible  <bruno@clisp.org>
51905
51906         * doc/gnulib.texi: Add "Obsolete modules" to index.
51907
51908 2009-01-28  Jim Meyering  <meyering@redhat.com>
51909
51910         useless-if-before-free: recognize more variants
51911         * build-aux/useless-if-before-free: Also recognize e.g.,
51912         if (NULL != p) free (p);
51913
51914 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51915
51916         test-getaddrinfo: skip (don't fail) this test when there's no network
51917         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51918         on the presumption that it means you lack network access.
51919
51920 2009-01-26  Jim Meyering  <meyering@redhat.com>
51921
51922         fflush: avoid warnings on modern systems
51923         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51924         pos and result, into scopes where they're used.
51925
51926 2009-01-26  Eric Blake  <ebb9@byu.net>
51927
51928         Silence warning reintroduced by recent extensions patch.
51929         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51930         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51931         autoconf.
51932
51933         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51934         * m4/00gnulib.m4: New file.
51935         * gnulib-tool (func_get_filelist): Always use it.
51936         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51937         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51938
51939 2009-01-25  Bruno Haible  <bruno@clisp.org>
51940
51941         Make test-quotearg work on MacOS X and AIX.
51942         * tests/test-quotearg.sh: New file.
51943         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51944         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51945         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51946         include <libintl.h>.
51947         (fake_locale): Remove variable.
51948         (gettext, dgettext, dcgettext): Remove functions.
51949         (main): Instead of setting a fake locale, set a real locale. Call
51950         textdomain and bindtextdomain.
51951         * modules/quotearg-tests (Files): Add the new files.
51952         (Depends-on): Add gettext, setenv, unsetenv.
51953         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51954         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51955         Augment TESTS_ENVIRONMENT.
51956
51957 2009-01-25  Bruno Haible  <bruno@clisp.org>
51958
51959         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51960         fr_FR.ISO8859-1 locale on MacOS X.
51961         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51962         ja_JP.eucJP locale on MacOS X.
51963         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51964         zh_CN.GB18030 locale on MacOS X.
51965
51966 2009-01-25  Bruno Haible  <bruno@clisp.org>
51967
51968         Avoid link errors on MacOS X 10.3.
51969         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51970         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51971
51972 2009-01-25  Bruno Haible  <bruno@clisp.org>
51973
51974         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51975         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51976         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51977         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51978         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51979         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51980         posix_spawnattr_init, posix_spawnattr_setsigmask,
51981         posix_spawnattr_setflags, posix_spawnattr_destroy.
51982
51983         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51984         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51985         * modules/execute (Files): Remove m4/posix_spawn.m4.
51986         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51987         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51988         posix_spawnattr_init, posix_spawnattr_setsigmask,
51989         posix_spawnattr_setflags, posix_spawnattr_destroy.
51990
51991 2009-01-25  Bruno Haible  <bruno@clisp.org>
51992
51993         * lib/glthread/threadlib.c: Include <stdlib.h>.
51994
51995 2009-01-25  Bruno Haible  <bruno@clisp.org>
51996
51997         * lib/glthread/threadlib.c (dummy): New declaration.
51998
51999 2009-01-25  Bruno Haible  <bruno@clisp.org>
52000
52001         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
52002         multibyte characters also for the GB18030 encoding. Don't crash when
52003         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
52004
52005 2009-01-25  Bruno Haible  <bruno@clisp.org>
52006
52007         Avoid redefining 'struct random_data' on OSF/1 5.1.
52008         * lib/stdlib.in.h: Include <random.h> if it exists.
52009         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
52010         HAVE_RANDOM_H. Include <random.h> when testing whether
52011         'struct random_data' exists.
52012         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
52013
52014 2009-01-25  Bruno Haible  <bruno@clisp.org>
52015
52016         Don't install charset.alias on MacOS X >= 10.3.
52017         * lib/localcharset.c (DARWIN7): New macro.
52018         (get_charset_aliases): Hardcode the result for Darwin7.
52019         * modules/localcharset (install-exec-local): Don't install
52020         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
52021
52022 2009-01-25  Bruno Haible  <bruno@clisp.org>
52023
52024         Don't install charset.alias on mingw and Cygwin.
52025         * modules/localcharset (install-exec-local): Don't install
52026         charset.alias on mingw and Cygwin, if the file does not yet exist.
52027         The result for these platforms is hardcoded in localcharset.c.
52028
52029 2009-01-25  Bruno Haible  <bruno@clisp.org>
52030
52031         Make it possible again to use AC_GNU_SOURCE together with gnulib.
52032         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
52033         before requiring AC_USE_SYSTEM_EXTENSIONS.
52034
52035 2009-01-25  Jim Meyering  <meyering@redhat.com>
52036
52037         c-strtod: avoid warnings
52038         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
52039         "assignment discards qualifiers from pointer target type" warnings.
52040
52041 2009-01-24  Bruno Haible  <bruno@clisp.org>
52042
52043         Add support for non-UTF-8 locales on MacOS X.
52044         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
52045         canonical encodings. For Darwin 7 and newer, don't map traditional
52046         encodings to UTF-8.
52047         Reported by Vincent Lefevre <vincent@vinc17.org>
52048         at <http://savannah.gnu.org/bugs/?25235>.
52049
52050 2009-01-24  Bruno Haible  <bruno@clisp.org>
52051
52052         * doc/gnulib.texi (Obsolete modules): New section.
52053         Reported by Mike Frysinger <vapier@gentoo.org>.
52054
52055 2009-01-24  Bruno Haible  <bruno@clisp.org>
52056
52057         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
52058         (%.dvi): New rule.
52059
52060 2009-01-24  Bruno Haible  <bruno@clisp.org>
52061
52062         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
52063         Reported by Eric Blake.
52064
52065 2009-01-24  Bruno Haible  <bruno@clisp.org>
52066
52067         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
52068         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
52069         Reported by Gary V. Vaughan <gary@gnu.org>.
52070
52071 2009-01-24  Bruno Haible  <bruno@clisp.org>
52072
52073         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
52074
52075 2009-01-23  Bruno Haible  <bruno@clisp.org>
52076
52077         Make c-strtod, c-strtold usable in libraries.
52078         * lib/c-strtod.c: Include string.h instead of xalloc.h.
52079         (C_STRTOD): Call strdup instead of xstrdup.
52080         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
52081         * modules/c-strtold (Depends-on): Likewise.
52082         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
52083         * NEWS: Mention the change.
52084         Reported by Michael Gold <mgold@ncf.ca>.
52085
52086 2009-01-23  Jim Meyering  <meyering@redhat.com>
52087
52088         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
52089         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
52090         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
52091
52092 2009-01-23  Simon Josefsson  <simon@josefsson.org>
52093
52094         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
52095         GNU CoreUtils.
52096         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
52097         * modules/version-etc (Description): Update.
52098
52099 2009-01-22  Bruno Haible  <bruno@clisp.org>
52100
52101         Cache the C locale object.
52102         * lib/c-strtod.c (c_locale_cache): New variable.
52103         (c_locale): New function.
52104         (C_STRTOD): Use it, and don't call freelocale.
52105         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
52106         Suggested by Paolo Bonzini.
52107
52108 2009-01-21  Bruno Haible  <bruno@clisp.org>
52109
52110         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
52111         conditions other than overflow.
52112
52113 2009-01-21  Bruno Haible  <bruno@clisp.org>
52114
52115         * lib/c-strtod.c: Include errno.h.
52116         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
52117         value from STRTOD_L and STRTOD.
52118
52119 2009-01-21  Bruno Haible  <bruno@clisp.org>
52120         and Jim Meyering  <meyering@redhat.com>
52121
52122         nanosleep: skip configure test (fail it) for apple universal builds
52123         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
52124         universal builds, assume that nanosleep does not work.
52125         * modules/nanosleep (Depends-on): Add multiarch.
52126
52127         mktime: skip configure test (fail it) for apple universal builds
52128         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
52129         universal builds, assume that mktime does not work.
52130         * modules/mktime (Depends-on): Add multiarch.
52131
52132 2009-01-21  Eric Blake  <ebb9@byu.net>
52133
52134         multiarch: avoid expand-before-require warning
52135         * modules/multiarch (configure.ac): Require, rather than expand,
52136         gl_MULTIARCH.
52137         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
52138         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
52139         enforce that all clients require it.  Partial reversion of
52140         2008-12-29 patch.
52141
52142         error: avoid expand-before-require warning
52143         * modules/errno (configure.ac): Require, rather than expand,
52144         gl_HEADER_ERRNO_H.
52145         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
52146         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
52147         enforce that all clients require it.
52148
52149         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
52150         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
52151         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
52152         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
52153
52154 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
52155
52156         Revert:
52157         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52158
52159         regex: do not depend on obsolete modules.
52160         * modules/regex: Remove memcmp and memmove.
52161
52162 2009-01-20  Bruno Haible  <bruno@clisp.org>
52163
52164         Make the 'link' module link on Windows NT 4.
52165         * lib/link.c (_WIN32_WINNT): Don't define.
52166         (CreateHardLinkFuncType): New type.
52167         (CreateHardLinkFunc, initialized): New variables.
52168         (initialize): New function.
52169         (link): Invoke CreateHardLink indirectly through the function pointer.
52170
52171 2009-01-20  Bruno Haible  <bruno@clisp.org>
52172
52173         Fix compilation failure on mingw.
52174         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
52175
52176 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
52177
52178         * doc/c-strtod.texi: Mention a couple of restrictions.
52179
52180 2009-01-20  Jim Meyering  <meyering@redhat.com>
52181
52182         gettimeofday: move more declarations out of functions
52183         * lib/gettimeofday.c: Move extern declarations of tzset and
52184         gmtime out of containing functions.  Prompted by Bruno Haible.
52185
52186 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52187
52188         regex: do not depend on obsolete modules.
52189         * modules/regex: Remove memcmp and memmove.
52190
52191 2009-01-19  Bruno Haible  <bruno@clisp.org>
52192
52193         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52194         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
52195         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52196         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
52197         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
52198
52199 2009-01-19  Bruno Haible  <bruno@clisp.org>
52200
52201         * tests/test-link.c: Include <errno.h>.
52202         (main): Exit with code 77 when a hard link cannot be created due to
52203         the file system.
52204         * tests/test-link.sh: Skip test when a hard link cannot be created due
52205         to the file system.
52206         Suggested by Eric Blake.
52207
52208 2009-01-19  Martin Lambers  <marlam@marlam.de>
52209
52210         * modules/link-tests: New file.
52211         * tests/test-link.sh: New file.
52212         * tests/test-link.c: New file.
52213
52214 2009-01-19  Eric Blake  <ebb9@byu.net>
52215
52216         doc: mention another function added in cygwin 1.7.0
52217         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
52218         Another new function in cygwin 1.7.
52219
52220 2009-01-19  Bruno Haible  <bruno@clisp.org>
52221
52222         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52223         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
52224         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
52225         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52226         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
52227         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
52228         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
52229         * m4/md4.m4 (gl_MD4): Likewise.
52230         * m4/md5.m4 (gl_MD5): Likewise.
52231         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
52232         * m4/sha1.m4 (gl_SHA1): Likewise.
52233         * m4/sha256.m4 (gl_SHA256): Likewise.
52234         * m4/sha512.m4 (gl_SHA512): Likewise.
52235
52236 2009-01-19  Bruno Haible  <bruno@clisp.org>
52237
52238         * modules/uniname/uniname-tests (Depends-on): Add progname.
52239         * tests/uniname/test-uninames.c: Include progname.h.
52240         (main): Call set_program_name.
52241
52242         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
52243         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
52244         (main): Call set_program_name.
52245
52246         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
52247         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
52248         (main): Call set_program_name.
52249
52250         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
52251         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
52252         (main): Call set_program_name.
52253
52254         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
52255         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
52256         (main): Call set_program_name.
52257
52258         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
52259         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
52260         (main): Call set_program_name.
52261
52262         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
52263         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
52264         (main): Call set_program_name.
52265
52266         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
52267         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
52268         (main): Call set_program_name.
52269
52270         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
52271         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
52272         (main): Call set_program_name.
52273
52274 2009-01-19  Eric Blake  <ebb9@byu.net>
52275
52276         test-unistd: test previous patch
52277         * tests/test-unistd.c: Test *_FILENO macros.
52278
52279         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
52280         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52281         Guarantee a definition.
52282         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
52283         * modules/unistd-safer (Depends-on): Add dependency on unistd.
52284         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
52285         * lib/dup-safer.c (STDERR_FILENO): Likewise.
52286         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52287         Likewise.
52288         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
52289         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
52290         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52291         Likewise.
52292         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
52293         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
52294         (STDERR_FILENO): Likewise.
52295         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
52296         (STDERR_FILENO): Likewise.
52297         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
52298         (STDERR_FILENO): Likewise.
52299         Reported by Elbert Pol.
52300
52301 2009-01-19  Eric Blake  <ebb9@byu.net>
52302
52303         doc: mention more functions added in cygwin 1.7.0
52304         * doc/posix-functions/abort.texi (abort): Update wording related
52305         to cygwin.
52306         * doc/posix-functions/daylight.texi (daylight): Likewise.
52307         * doc/posix-functions/optarg.texi (optarg): Likewise.
52308         * doc/posix-functions/optarg.texi (opterr): Likewise.
52309         * doc/posix-functions/optarg.texi (optind): Likewise.
52310         * doc/posix-functions/optarg.texi (optopt): Likewise.
52311         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
52312         worked in 1.5.x, and was withdrawn in 1.7.
52313         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
52314         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
52315         cygwin versions.
52316         * doc/posix-functions/perror.texi (perror): Likewise.
52317         * doc/posix-functions/printf.texi (printf): Likewise.
52318         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
52319         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
52320         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
52321         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
52322         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52323         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
52324         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52325         Likewise.
52326         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52327         Likewise.
52328         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
52329         this function.
52330         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
52331         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
52332         Likewise.
52333         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
52334         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
52335         * doc/posix-functions/confstr.texi (confstr): Likewise.
52336         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
52337         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
52338         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
52339         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
52340         * doc/posix-functions/fputws.texi (fputws): Likewise.
52341         * doc/posix-functions/fwide.texi (fwide): Likewise.
52342         * doc/posix-functions/getwc.texi (getwc): Likewise.
52343         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
52344         * doc/posix-functions/putwc.texi (putwc): Likewise.
52345         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
52346         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
52347         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
52348         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
52349         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
52350         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
52351         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
52352         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
52353         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
52354         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
52355         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
52356
52357 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52358
52359         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
52360         * lib/ioctl.c: Include <sys/ioctl.h>.
52361
52362 2009-01-19  Simon Josefsson  <simon@josefsson.org>
52363
52364         * modules/getdate-tests (Depends-on): Add progname.
52365         * tests/test-getdate.c: Use progname module, to avoid link errors
52366         on non-glibc systems.
52367
52368 2009-01-18  Simon Josefsson  <simon@josefsson.org>
52369
52370         * modules/filenamecat-tests (Depends-on): Add progname.
52371         * modules/fstrcmp-tests (Depends-on): Likewise.
52372
52373         * tests/test-filenamecat.c: Use progname module, to avoid link
52374         errors on non-glibc systems.
52375         * tests/test-fstrcmp.c: Likewise.
52376
52377 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52378
52379         gettimeofday: avoid warning: nested extern declaration of 'localtime'
52380         * lib/gettimeofday.c: Move extern declaration out of function.
52381
52382 2009-01-18  Bruno Haible  <bruno@clisp.org>
52383
52384         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
52385         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
52386         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
52387
52388 2009-01-18  Bruno Haible  <bruno@clisp.org>
52389
52390         * lib/strftime.c (MEMPCPY): Remove unused macro.
52391         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
52392
52393 2009-01-18  Martin Lambers  <marlam@marlam.de>
52394
52395         New module 'link'.
52396         * lib/unistd.in.h (link): New declaration.
52397         * lib/link.c: New file.
52398         * m4/link.m4: New file.
52399         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
52400         HAVE_LINK.
52401         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
52402         * modules/link: New file.
52403         * doc/posix-functions/link.texi: Mention the new module.
52404
52405 2009-01-18  Bruno Haible  <bruno@clisp.org>
52406
52407         * tests/test-avltree_list.c (main): Call set_program_name.
52408         * tests/test-avltree_oset.c (main): Likewise.
52409         * tests/test-obstack-printf.c: Include progname.h.
52410         (main): Call set_program_name.
52411         * tests/test-quotearg.c: Include progname.h.
52412         (main): Call set_program_name.
52413         * tests/test-xmemdup0.c: Include progname.h.
52414         (main): Call set_program_name.
52415
52416 2009-01-18  Bruno Haible  <bruno@clisp.org>
52417
52418         New module 'alphasort'.
52419         * lib/dirent.in.h (alphasort): New declaration.
52420         * lib/alphasort.c: New file, from glibc with modifications.
52421         * m4/alphasort.m4: New file.
52422         * modules/alphasort: New file.
52423         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
52424         HAVE_ALPHASORT.
52425         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
52426         HAVE_ALPHASORT.
52427         * doc/posix-functions/alphasort.texi: Mention the new module and the
52428         portability problems.
52429
52430 2009-01-18  Bruno Haible  <bruno@clisp.org>
52431
52432         New module 'scandir'.
52433         * lib/dirent.in.h (scandir): New declaration.
52434         * lib/scandir.c: New file, from glibc with modifications.
52435         * m4/scandir.m4: New file.
52436         * modules/scandir: New file.
52437         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
52438         HAVE_SCANDIR.
52439         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
52440         HAVE_SCANDIR.
52441         * doc/posix-functions/scandir.texi: Mention the new module and the
52442         portability problems.
52443
52444 2009-01-17  Bruno Haible  <bruno@clisp.org>
52445
52446         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
52447         Update documentation.
52448         (func_remove_suffix): Escape all dots in the suffix. Update
52449         documentation.
52450         (func_filter_filelist): Update documentation.
52451         Reported by Ralf Wildenhues.
52452
52453 2009-01-17  Bruno Haible  <bruno@clisp.org>
52454
52455         * modules/dprintf-posix-tests: New file.
52456         * tests/test-dprintf-posix.sh: New file.
52457         * tests/test-dprintf-posix.c: New file.
52458
52459         New modules 'dprintf', 'dprintf-posix'.
52460         * lib/stdio.in.h (dprintf): New declaration.
52461         * lib/dprintf.c: New file.
52462         * m4/dprintf.m4: New file.
52463         * m4/dprintf-posix.m4: New file.
52464         * modules/dprintf: New file.
52465         * modules/dprintf-posix: New file.
52466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52467         HAVE_DPRINTF, REPLACE_DPRINTF.
52468         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52469         HAVE_DPRINTF, REPLACE_DPRINTF.
52470         * doc/posix-functions/dprintf.texi: Mention the new modules.
52471
52472 2009-01-17  Bruno Haible  <bruno@clisp.org>
52473
52474         * modules/vdprintf-posix-tests: New file.
52475         * tests/test-vdprintf-posix.sh: New file.
52476         * tests/test-vdprintf-posix.c: New file.
52477
52478         New modules 'vdprintf', 'vdprintf-posix'.
52479         * lib/stdio.in.h (vdprintf): New declaration.
52480         * lib/vdprintf.c: New file.
52481         * m4/vdprintf.m4: New file.
52482         * m4/vdprintf-posix.m4: New file.
52483         * modules/vdprintf: New file.
52484         * modules/vdprintf-posix: New file.
52485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52486         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52487         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52488         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52489         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52490
52491 2009-01-17  Bruno Haible  <bruno@clisp.org>
52492
52493         Fix replacement of fopen on mingw.
52494         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52495         mingw.
52496
52497 2009-01-17  Bruno Haible  <bruno@clisp.org>
52498
52499         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52500         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52501
52502 2009-01-17  Bruno Haible  <bruno@clisp.org>
52503
52504         Avoid test-fflush2.sh failure on mingw.
52505         * tests/test-fflush2.c: Include binary-io.h.
52506         (main): Put standard input into binary mode.
52507         * modules/fflush-tests (Depends-on): Add binary-io.
52508
52509 2009-01-17  Bruno Haible  <bruno@clisp.org>
52510
52511         * lib/wchar.in.h: In another particular situation, include only the
52512         system's <wchar.h> file.
52513         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52514         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52515         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52516
52517 2009-01-17  Bruno Haible  <bruno@clisp.org>
52518
52519         Support for stripping executables in --enable-relocatable.
52520         * build-aux/install-reloc: Expect one more argument, or an environment
52521         variable RELOC_STRIP_PROG. If set, strip the destination program and
52522         its wrapper.
52523         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52524         RELOC_STRIP_PROG.
52525         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52526         to set RELOCATABLE_STRIP.
52527         * NEWS: Mention the new Makefile requirement.
52528
52529 2009-01-17  Bruno Haible  <bruno@clisp.org>
52530
52531         * build-aux/install-reloc: Remove debugging information left over by
52532         C compiler on MacOS X.
52533
52534 2009-01-17  Bruno Haible  <bruno@clisp.org>
52535
52536         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52537         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52538         _NSGetExecutablePath.
52539
52540 2009-01-16  Jim Meyering  <meyering@redhat.com>
52541
52542         strerror: avoid warnings about discarding "const"
52543         * lib/strerror.c (rpl_strerror): Instead of returning a const
52544         string from each and every "case", use a variable, and add a single
52545         cast after the switch.
52546
52547 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52548
52549         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52550
52551 2009-01-16  Bruno Haible  <bruno@clisp.org>
52552
52553         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52554         array initializer syntax that also works in C++ mode.
52555         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52556
52557 2009-01-16  Jim Meyering  <meyering@redhat.com>
52558
52559         poll: suppress a warning
52560         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52561         to ignore "...unsigned expression < 0 is always false" warnings.
52562
52563 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52564
52565         poll: remove declarations of unused variables
52566         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52567         sockbuf and optlen.
52568
52569 2009-01-15  Bruno Haible  <bruno@clisp.org>
52570
52571         Make fflush-after-ungetc POSIX compliant on BSD systems.
52572         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52573         (clear_ungetc_buffer): Implement also for other systems.
52574         (rpl_fflush): On glibc systems, invoke
52575         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52576         clear_ungetc_buffer after fetching the stream's position, not before.
52577
52578 2009-01-15  Bruno Haible  <bruno@clisp.org>
52579
52580         Make fflush-after-ungetc POSIX compliant on glibc systems.
52581         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52582         after ungetc.
52583         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52584         (rpl_fflush): On glibc systems, simply call the system's fflush
52585         function after clearing the ungetc buffer.
52586         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52587         Instead, lseek only to the end of file, then use the system's fseeko
52588         for the rest. On glibc systems, reset the EOF indicator bit.
52589
52590 2009-01-15  Jim Meyering  <meyering@redhat.com>
52591
52592         openmp.m4: revert quote-adding change, for portability to older autoconf
52593         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52594         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52595         Simon Josefsson noticed the problem when using autoconf-2.61.
52596
52597 2009-01-15  Bruno Haible  <bruno@clisp.org>
52598
52599         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52600         * tests/test-fflush2.c (ASSERT): Always fail.
52601         (main): Add two tests for fflush() after ungetc(), taking into account
52602         the Austin Group's clarification.
52603         Suggested by Eric Blake.
52604
52605 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52606
52607         mktime.m4: remove K&R-style function prototypes
52608         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52609         for the Sun C++ compiler.
52610
52611 2009-01-14  Bruno Haible  <bruno@clisp.org>
52612
52613         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52614         while including <wchar.h>.
52615         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52616         the system's <wchar.h> file.
52617         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52618
52619 2009-01-14  Bruno Haible  <bruno@clisp.org>
52620
52621         * m4/csharp.m4: Don't mention gettext on the serial number line.
52622         * m4/csharpexec.m4: Likewise.
52623         * m4/eaccess.m4: Likewise.
52624         * m4/javaexec.m4: Likewise.
52625         * m4/sig_atomic_t.m4: Likewise.
52626         * m4/tmpdir.m4: Likewise.
52627         * m4/intldir.m4: Bump gettext version.
52628         * m4/lib-ld.m4: Likewise.
52629
52630 2009-01-14  Bruno Haible  <bruno@clisp.org>
52631
52632         * lib/progname.c (set_program_name): Add more comments.
52633         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52634
52635 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52636
52637         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52638         were sys/stat.h does not define it.
52639
52640 2009-01-14  Jim Meyering  <meyering@redhat.com>
52641
52642         many *.m4 files: improve m4 quoting
52643         99% of this change was performed by running the following commands:
52644         git ls-files | grep '\.m4$' | xargs perl -pi \
52645           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52646           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52647           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52648           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52649         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52650         The remainder were to add Copyright dates, increment serial numbers,
52651         undo some changes in comments, exclude m4/intl.m4, and add quotes
52652         around the "1" in ",1" where the unusual spacing prohibited the
52653         above regexps from doing the job.  For more details, see
52654         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52655         * m4/acl.m4: Modified.
52656         * m4/afs.m4: Likewise.
52657         * m4/alloca.m4: Likewise.
52658         * m4/argp.m4: Likewise.
52659         * m4/argz.m4: Likewise.
52660         * m4/atexit.m4: Likewise.
52661         * m4/bison-i18n.m4: Likewise.
52662         * m4/bison.m4: Likewise.
52663         * m4/byteswap.m4: Likewise.
52664         * m4/c-stack.m4: Likewise.
52665         * m4/c-strtod.m4: Likewise.
52666         * m4/calloc.m4: Likewise.
52667         * m4/canonicalize-lgpl.m4: Likewise.
52668         * m4/chown.m4: Likewise.
52669         * m4/clock_time.m4: Likewise.
52670         * m4/codeset.m4: Likewise.
52671         * m4/copy-file.m4: Likewise.
52672         * m4/csharp.m4: Likewise.
52673         * m4/csharpcomp.m4: Likewise.
52674         * m4/csharpexec.m4: Likewise.
52675         * m4/d-ino.m4: Likewise.
52676         * m4/d-type.m4: Likewise.
52677         * m4/dirfd.m4: Likewise.
52678         * m4/double-slash-root.m4: Likewise.
52679         * m4/eaccess.m4: Likewise.
52680         * m4/eealloc.m4: Likewise.
52681         * m4/environ.m4: Likewise.
52682         * m4/errno_h.m4: Likewise.
52683         * m4/euidaccess.m4: Likewise.
52684         * m4/execute.m4: Likewise.
52685         * m4/fatal-signal.m4: Likewise.
52686         * m4/fchdir.m4: Likewise.
52687         * m4/fcntl_h.m4: Likewise.
52688         * m4/fileblocks.m4: Likewise.
52689         * m4/filenamecat.m4: Likewise.
52690         * m4/findprog.m4: Likewise.
52691         * m4/flexmember.m4: Likewise.
52692         * m4/fnmatch.m4: Likewise.
52693         * m4/fopen.m4: Likewise.
52694         * m4/fpending.m4: Likewise.
52695         * m4/fprintf-posix.m4: Likewise.
52696         * m4/free.m4: Likewise.
52697         * m4/frexp.m4: Likewise.
52698         * m4/frexpl.m4: Likewise.
52699         * m4/fsusage.m4: Likewise.
52700         * m4/ftruncate.m4: Likewise.
52701         * m4/gc-camellia.m4: Likewise.
52702         * m4/gc-random.m4: Likewise.
52703         * m4/gc.m4: Likewise.
52704         * m4/getaddrinfo.m4: Likewise.
52705         * m4/getcwd-abort-bug.m4: Likewise.
52706         * m4/getcwd-path-max.m4: Likewise.
52707         * m4/getdate.m4: Likewise.
52708         * m4/getdomainname.m4: Likewise.
52709         * m4/getgroups.m4: Likewise.
52710         * m4/gethostname.m4: Likewise.
52711         * m4/gethrxtime.m4: Likewise.
52712         * m4/getline.m4: Likewise.
52713         * m4/getloadavg.m4: Likewise.
52714         * m4/getndelim2.m4: Likewise.
52715         * m4/getpass.m4: Likewise.
52716         * m4/gettext.m4: Likewise.
52717         * m4/gettime.m4: Likewise.
52718         * m4/gettimeofday.m4: Likewise.
52719         * m4/gnulib-common.m4: Likewise.
52720         * m4/group-member.m4: Likewise.
52721         * m4/host-os.m4: Likewise.
52722         * m4/iconv.m4: Likewise.
52723         * m4/iconv_open.m4: Likewise.
52724         * m4/inet_ntop.m4: Likewise.
52725         * m4/inet_pton.m4: Likewise.
52726         * m4/inline.m4: Likewise.
52727         * m4/intldir.m4: Likewise.
52728         * m4/intlmacosx.m4: Likewise.
52729         * m4/intmax.m4: Likewise.
52730         * m4/intmax_t.m4: Likewise.
52731         * m4/inttypes.m4: Likewise.
52732         * m4/inttypes_h.m4: Likewise.
52733         * m4/inttypes-pri.m4: Likewise.
52734         * m4/isapipe.m4: Likewise.
52735         * m4/isnand.m4: Likewise.
52736         * m4/isnanf.m4: Likewise.
52737         * m4/isnanl.m4: Likewise.
52738         * m4/javacomp.m4: Likewise.
52739         * m4/javaexec.m4: Likewise.
52740         * m4/jm-winsz1.m4: Likewise.
52741         * m4/jm-winsz2.m4: Likewise.
52742         * m4/lchown.m4: Likewise.
52743         * m4/lcmessage.m4: Likewise.
52744         * m4/ldexpl.m4: Likewise.
52745         * m4/lib-ld.m4: Likewise.
52746         * m4/lib-link.m4: Likewise.
52747         * m4/libsigsegv.m4: Likewise.
52748         * m4/link-follow.m4: Likewise.
52749         * m4/localcharset.m4: Likewise.
52750         * m4/locale-fr.m4: Likewise.
52751         * m4/locale-ja.m4: Likewise.
52752         * m4/locale-tr.m4: Likewise.
52753         * m4/locale-zh.m4: Likewise.
52754         * m4/lock.m4: Likewise.
52755         * m4/longlong.m4: Likewise.
52756         * m4/ls-mntd-fs.m4: Likewise.
52757         * m4/lstat.m4: Likewise.
52758         * m4/malloc.m4: Likewise.
52759         * m4/mathl.m4: Likewise.
52760         * m4/mbrtowc.m4: Likewise.
52761         * m4/mbstate_t.m4: Likewise.
52762         * m4/mbswidth.m4: Likewise.
52763         * m4/memchr.m4: Likewise.
52764         * m4/memcmp.m4: Likewise.
52765         * m4/memcpy.m4: Likewise.
52766         * m4/memmem.m4: Likewise.
52767         * m4/memmove.m4: Likewise.
52768         * m4/mempcpy.m4: Likewise.
52769         * m4/memrchr.m4: Likewise.
52770         * m4/memset.m4: Likewise.
52771         * m4/minmax.m4: Likewise.
52772         * m4/mkdir-slash.m4: Likewise.
52773         * m4/mkdtemp.m4: Likewise.
52774         * m4/mktime.m4: Likewise.
52775         * m4/mmap-anon.m4: Likewise.
52776         * m4/mountlist.m4: Likewise.
52777         * m4/nanosleep.m4: Likewise.
52778         * m4/nls.m4: Likewise.
52779         * m4/nocrash.m4: Likewise.
52780         * m4/open.m4: Likewise.
52781         * m4/openat.m4: Likewise.
52782         * m4/openmp.m4: Likewise.
52783         * m4/pathmax.m4: Likewise.
52784         * m4/perl.m4: Likewise.
52785         * m4/physmem.m4: Likewise.
52786         * m4/pipe.m4: Likewise.
52787         * m4/po.m4: Likewise.
52788         * m4/poll.m4: Likewise.
52789         * m4/posixtm.m4: Likewise.
52790         * m4/posixver.m4: Likewise.
52791         * m4/printf-frexp.m4: Likewise.
52792         * m4/printf-frexpl.m4: Likewise.
52793         * m4/printf-posix.m4: Likewise.
52794         * m4/printf-posix-rpl.m4: Likewise.
52795         * m4/printf.m4: Likewise.
52796         * m4/progtest.m4: Likewise.
52797         * m4/putenv.m4: Likewise.
52798         * m4/readline.m4: Likewise.
52799         * m4/readlink.m4: Likewise.
52800         * m4/readutmp.m4: Likewise.
52801         * m4/realloc.m4: Likewise.
52802         * m4/regex.m4: Likewise.
52803         * m4/relocatable.m4: Likewise.
52804         * m4/relocatable-lib.m4: Likewise.
52805         * m4/rename-dest-slash.m4: Likewise.
52806         * m4/rename.m4: Likewise.
52807         * m4/rmdir-errno.m4: Likewise.
52808         * m4/rmdir.m4: Likewise.
52809         * m4/roundf.m4: Likewise.
52810         * m4/roundl.m4: Likewise.
52811         * m4/rpmatch.m4: Likewise.
52812         * m4/save-cwd.m4: Likewise.
52813         * m4/selinux-selinux-h.m4: Likewise.
52814         * m4/setenv.m4: Likewise.
52815         * m4/settime.m4: Likewise.
52816         * m4/sig2str.m4: Likewise.
52817         * m4/sig_atomic_t.m4: Likewise.
52818         * m4/signalblocking.m4: Likewise.
52819         * m4/signbit.m4: Likewise.
52820         * m4/sigpipe.m4: Likewise.
52821         * m4/sockets.m4: Likewise.
52822         * m4/sockpfaf.m4: Likewise.
52823         * m4/st_dm_mode.m4: Likewise.
52824         * m4/stat-time.m4: Likewise.
52825         * m4/stdbool.m4: Likewise.
52826         * m4/stdint.m4: Likewise.
52827         * m4/stdint_h.m4: Likewise.
52828         * m4/stpcpy.m4: Likewise.
52829         * m4/stpncpy.m4: Likewise.
52830         * m4/strcase.m4: Likewise.
52831         * m4/strchrnul.m4: Likewise.
52832         * m4/strcspn.m4: Likewise.
52833         * m4/strdup.m4: Likewise.
52834         * m4/strftime.m4: Likewise.
52835         * m4/strndup.m4: Likewise.
52836         * m4/strnlen.m4: Likewise.
52837         * m4/strpbrk.m4: Likewise.
52838         * m4/strptime.m4: Likewise.
52839         * m4/strsep.m4: Likewise.
52840         * m4/strtod.m4: Likewise.
52841         * m4/strtoimax.m4: Likewise.
52842         * m4/strtok_r.m4: Likewise.
52843         * m4/strtol.m4: Likewise.
52844         * m4/strtoll.m4: Likewise.
52845         * m4/strtoul.m4: Likewise.
52846         * m4/strtoull.m4: Likewise.
52847         * m4/strtoumax.m4: Likewise.
52848         * m4/strverscmp.m4: Likewise.
52849         * m4/threadlib.m4: Likewise.
52850         * m4/timegm.m4: Likewise.
52851         * m4/tm_gmtoff.m4: Likewise.
52852         * m4/tmpdir.m4: Likewise.
52853         * m4/tmpfile.m4: Likewise.
52854         * m4/tzset.m4: Likewise.
52855         * m4/uintmax_t.m4: Likewise.
52856         * m4/unlinkdir.m4: Likewise.
52857         * m4/unlocked-io.m4: Likewise.
52858         * m4/uptime.m4: Likewise.
52859         * m4/userspec.m4: Likewise.
52860         * m4/utimbuf.m4: Likewise.
52861         * m4/utime.m4: Likewise.
52862         * m4/utimes-null.m4: Likewise.
52863         * m4/utimes.m4: Likewise.
52864         * m4/vararrays.m4: Likewise.
52865         * m4/vasnprintf.m4: Likewise.
52866         * m4/vfprintf-posix.m4: Likewise.
52867         * m4/vprintf-posix.m4: Likewise.
52868         * m4/wait-process.m4: Likewise.
52869         * m4/wchar_t.m4: Likewise.
52870         * m4/wint_t.m4: Likewise.
52871         * m4/write-any-file.m4: Likewise.
52872         * m4/yield.m4: Likewise.
52873
52874 2009-01-13  Bruno Haible  <bruno@clisp.org>
52875
52876         Avoid test-copy-file.sh failures when ACL support insufficient.
52877         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52878         TESTS_ENVIRONMENT.
52879         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52880         Reported by Jim Meyering.
52881
52882 2009-01-13  Bruno Haible  <bruno@clisp.org>
52883
52884         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52885         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52886         * modules/unistdio/u8-printf-parse (Files): Likewise.
52887         * modules/unistdio/u32-printf-parse (Files): Likewise.
52888         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52889
52890 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52891
52892         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52893         and m4/inttypes_h.m4 too.
52894
52895 2009-01-12  Eric Blake  <ebb9@byu.net>
52896
52897         tests: IRIX 6.2 cc can't compile -0.0 into .data
52898         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52899         rather than at compile-time.
52900         * tests/test-floorl.c (minus_zero): Likewise.
52901         * tests/test-frexpl.c (minus_zero): Likewise.
52902         * tests/test-isnan.c (minus_zerol): Likewise.
52903         * tests/test-isnanl.h (minus_zero): Likewise.
52904         * tests/test-ldexpl.c (minus_zero): Likewise.
52905         * tests/test-roundl.c (minus_zero): Likewise.
52906         * tests/test-signbit.c (minus_zerol): Likewise.
52907         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52908         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52909         * tests/test-truncl.c (minus_zero): Likewise.
52910         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52911         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52912         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52913
52914 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52915
52916         regex: fix glibc bug 9697
52917         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52918         handling.
52919
52920 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52921
52922         regex: fix glibc bug 697
52923         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52924         being NULL also if there are no backreferences.
52925
52926 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52927
52928         regex: merge glibc changes
52929         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52930         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52931         re_string_skip_chars, re_string_reconstruct): Likewise.
52932         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52933
52934 2009-01-07  Jim Meyering  <meyering@redhat.com>
52935
52936         poll: filter through cppi
52937         * lib/poll.c: Indent cpp directives to reflect nesting.
52938
52939 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52940
52941         poll: don't return uninitialized
52942         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52943
52944 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52945
52946         avoid compile failure on AIX 6.1
52947         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52948         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52949
52950 2009-01-04  Jim Meyering  <meyering@redhat.com>
52951
52952         remove duplicate inclusion of <stdio.h>
52953         * tests/test-fprintf-posix.c: Likewise.
52954         * tests/test-printf-posix.c: Likewise.
52955         * tests/test-snprintf-posix.c: Likewise.
52956         * tests/test-sprintf-posix.c: Likewise.
52957         * tests/test-vasprintf-posix.c: Likewise.
52958         * tests/test-vfprintf-posix.c: Likewise.
52959         * tests/test-vprintf-posix.c: Likewise.
52960         * tests/test-vsnprintf-posix.c: Likewise.
52961         * tests/test-vsprintf-posix.c: Likewise.
52962
52963 2009-01-03  Jim Meyering  <meyering@redhat.com>
52964
52965         gnulib-tool: fix sed-based filtering
52966         * gnulib-tool (func_filter_filelist): Remove extra backslash
52967         in sed_fff_filter definition.
52968
52969 2009-01-02  Jim Meyering  <meyering@redhat.com>
52970
52971         strftime: avoid compilation failure on Solaris 2.6
52972         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52973         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52974         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52975         be available.  Reported by Tom G. Christensen.  Details in
52976         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52977
52978 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52979             Bruno Haible  <bruno@clisp.org>
52980
52981         Speed up gnulib-tool by doing more string processing through shell
52982         built-ins.
52983         * gnulib-tool (fast_func_append): New variable.
52984         (func_remove_prefix, func_remove_suffix): New functions.
52985         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52986         (func_filter_filelist): New function.
52987         (func_get_dependencies): Use func_remove_suffix instead of sed.
52988         (func_get_automake_snippet): Use func_filter_filelist instead of a
52989         subshell and sed invocation.
52990
52991 2009-01-01  Bruno Haible  <bruno@clisp.org>
52992
52993         Fix a security bug.
52994         * gnulib-tool (func_import, import, update): Don't allow the characters
52995         '"', '$', '`', '\' in macro arguments that become part of commands that
52996         are evaluated.
52997
52998 2009-01-01  Bruno Haible  <bruno@clisp.org>
52999
53000         * gnulib-tool (func_reset_sigpipe): Add more comments.
53001
53002 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53003
53004         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
53005         func_emit_tests_Makefile_am, func_import): Abort loops early if we
53006         already know the answer.
53007
53008 2009-01-01  Jim Meyering  <meyering@redhat.com>
53009
53010         * lib/version-etc.c (version_etc_va): Update copyright year.
53011
53012 2008-12-30  Bruno Haible  <bruno@clisp.org>
53013
53014         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
53015         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
53016         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
53017
53018 2008-12-29  Eric Blake  <ebb9@byu.net>
53019
53020         multiarch: avoid autoconf AC_REQUIRE bug
53021         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
53022         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
53023         2.63 and older.
53024         Reported by Bruno Haible, and analyzed in
53025         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
53026
53027 2008-12-29  Bruno Haible  <bruno@clisp.org>
53028
53029         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
53030         files in subdirectories correctly.
53031         Reported by Ralf Wildenhues.
53032
53033 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53034
53035         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
53036         rather than 'join FILE -', for Solaris join.
53037
53038 2008-12-29  Bruno Haible  <bruno@clisp.org>
53039
53040         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
53041         quoting.
53042         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
53043         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
53044         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
53045         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
53046         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
53047         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
53048         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
53049         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
53050         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
53051         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
53052         * m4/nls.m4 (AM_NLS): Likewise.
53053         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
53054         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
53055         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
53056         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
53057         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
53058         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
53059         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
53060         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
53061         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
53062         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
53063         * m4/xsize.m4 (gl_XSIZE): Likewise.
53064         Suggested by Jim Meyering.
53065
53066 2008-11-17  Bruce Korb  <bkorb@gnu.org>
53067
53068         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
53069         * lib/parse-duration.c: use a switch instead of cascading if's.
53070
53071 2008-12-29  Eric Blake  <ebb9@byu.net>
53072
53073         wchar.h: supply WEOF on Irix 5.3
53074         * lib/wchar.in.h (wint_t): Also supply WEOF.
53075         * lib/wctype.in.h (wint_t): Likewise.
53076         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
53077         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
53078         Reported by Tom G. Christensen.
53079
53080 2008-12-26  Bruno Haible  <bruno@clisp.org>
53081
53082         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
53083         i486, i586, i686.
53084
53085 2008-12-26  Bruno Haible  <bruno@clisp.org>
53086
53087         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
53088
53089 2008-12-26  Bruno Haible  <bruno@clisp.org>
53090
53091         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
53092         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
53093         not __STDC_CONSTANT_MACROS.
53094         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
53095
53096 2008-12-25  Bruno Haible  <bruno@clisp.org>
53097
53098         Add support for universal builds to vasnprintf.
53099         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
53100         universal builds, guess no.
53101         * modules/vasnprintf-posix (Depends-on): Add multiarch.
53102         * modules/vasprintf-posix (Depends-on): Likewise.
53103         * modules/fprintf-posix (Depends-on): Likewise.
53104         * modules/vfprintf-posix (Depends-on): Likewise.
53105         * modules/snprintf-posix (Depends-on): Likewise.
53106         * modules/vsnprintf-posix (Depends-on): Likewise.
53107         * modules/sprintf-posix (Depends-on): Likewise.
53108         * modules/vsprintf-posix (Depends-on): Likewise.
53109         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53110         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53111         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53112         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53113         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53114         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53115         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53116
53117         Add support for universal builds to <inttypes.h>.
53118         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
53119         _SCNu64_PREFIX): In Apple
53120         universal builds, define directly, using _LP64.
53121         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
53122         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
53123         * modules/inttypes (Depends-on): Add multiarch.
53124         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53125
53126         Add support for universal builds to <stdint.h>.
53127         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
53128         universal builds, define directly, using _LP64.
53129         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
53130         Apple universal builds, don't test for the size and suffix of ptrdiff_t
53131         and size_t.
53132         * modules/stdint (Depends-on): Add multiarch.
53133         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53134
53135         New module 'multiarch'.
53136         * modules/multiarch: New file.
53137         * m4/multiarch.m4: New file.
53138
53139 2008-12-25  Bruno Haible  <bruno@clisp.org>
53140
53141         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
53142
53143 2008-12-25  Bruno Haible  <bruno@clisp.org>
53144
53145         * modules/btowc (License): Relicense under LGPLv2+.
53146         * modules/mbsinit (License): Likewise.
53147         * modules/mbrtowc (License): Likewise.
53148         * modules/wcrtomb (License): Likewise.
53149         * modules/streq (License): Likewise.
53150         Reported by David Lutterkort <lutter@redhat.com>.
53151
53152 2008-12-23  Bruno Haible  <bruno@clisp.org>
53153
53154         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
53155
53156 2008-12-23  Bruno Haible  <bruno@clisp.org>
53157
53158         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
53159         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
53160         GETADDRINFO_LIB, not in LIBS.
53161         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
53162         * modules/canon-host (Link): Likewise.
53163         * NEWS: Mention the change.
53164         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
53165         GETADDRINFO_LIB.
53166
53167 2008-12-22  Bruno Haible  <bruno@clisp.org>
53168
53169         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
53170         * doc/posix-functions/iswalpha_l.texi: Likewise.
53171         * doc/posix-functions/iswblank_l.texi: Likewise.
53172         * doc/posix-functions/iswcntrl_l.texi: Likewise.
53173         * doc/posix-functions/iswctype_l.texi: Likewise.
53174         * doc/posix-functions/iswdigit_l.texi: Likewise.
53175         * doc/posix-functions/iswgraph_l.texi: Likewise.
53176         * doc/posix-functions/iswlower_l.texi: Likewise.
53177         * doc/posix-functions/iswprint_l.texi: Likewise.
53178         * doc/posix-functions/iswpunct_l.texi: Likewise.
53179         * doc/posix-functions/iswspace_l.texi: Likewise.
53180         * doc/posix-functions/iswupper_l.texi: Likewise.
53181         * doc/posix-functions/iswxdigit_l.texi: Likewise.
53182         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
53183         * doc/posix-functions/open_wmemstream.texi: Likewise.
53184         * doc/posix-functions/swscanf.texi: Likewise.
53185         * doc/posix-functions/towctrans_l.texi: Likewise.
53186         * doc/posix-functions/towlower.texi: Likewise.
53187         * doc/posix-functions/towlower_l.texi: Likewise.
53188         * doc/posix-functions/towupper.texi: Likewise.
53189         * doc/posix-functions/towupper_l.texi: Likewise.
53190         * doc/posix-functions/vfwprintf.texi: Likewise.
53191         * doc/posix-functions/vfwscanf.texi: Likewise.
53192         * doc/posix-functions/vswscanf.texi: Likewise.
53193         * doc/posix-functions/vwprintf.texi: Likewise.
53194         * doc/posix-functions/vwscanf.texi: Likewise.
53195         * doc/posix-functions/wcpcpy.texi: Likewise.
53196         * doc/posix-functions/wcpncpy.texi: Likewise.
53197         * doc/posix-functions/wcscasecmp.texi: Likewise.
53198         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
53199         * doc/posix-functions/wcscoll_l.texi: Likewise.
53200         * doc/posix-functions/wcsdup.texi: Likewise.
53201         * doc/posix-functions/wcsncasecmp.texi: Likewise.
53202         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
53203         * doc/posix-functions/wcsnlen.texi: Likewise.
53204         * doc/posix-functions/wcsnrtombs.texi: Likewise.
53205         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
53206         * doc/posix-functions/wctrans_l.texi: Likewise.
53207         * doc/posix-functions/wctype_l.texi: Likewise.
53208         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
53209         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
53210         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
53211         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
53212         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
53213         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
53214         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
53215         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
53216         * doc/glibc-functions/wcschrnul.texi: Likewise.
53217         * doc/glibc-functions/wcsftime_l.texi: Likewise.
53218         * doc/glibc-functions/wcstod_l.texi: Likewise.
53219         * doc/glibc-functions/wcstof_l.texi: Likewise.
53220         * doc/glibc-functions/wcstol_l.texi: Likewise.
53221         * doc/glibc-functions/wcstold_l.texi: Likewise.
53222         * doc/glibc-functions/wcstoll_l.texi: Likewise.
53223         * doc/glibc-functions/wcstoq.texi: Likewise.
53224         * doc/glibc-functions/wcstoul_l.texi: Likewise.
53225         * doc/glibc-functions/wcstoull_l.texi: Likewise.
53226         * doc/glibc-functions/wcstouq.texi: Likewise.
53227         * doc/glibc-functions/wmempcpy.texi: Likewise.
53228
53229 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
53230             Eric Blake  <ebb9@byu.net>
53231             Paolo Bonzini  <bonzini@gnu.org>
53232             Bruno Haible  <bruno@clisp.org>
53233
53234         Make c-stack work on Haiku.
53235         * lib/c-stack.c (SA_ONSTACK): Define fallback.
53236         (c_stack_action): Use SA_ONSTACK flag.
53237
53238 2008-12-22  Bruno Haible  <bruno@clisp.org>
53239
53240         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
53241
53242 2008-12-22  Bruno Haible  <bruno@clisp.org>
53243
53244         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
53245         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
53246         being overridden.
53247         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
53248         New macros.
53249         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
53250         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
53251         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
53252         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
53253
53254 2008-12-22  Bruno Haible  <bruno@clisp.org>
53255
53256         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
53257         from test code.
53258
53259 2008-12-22  Eric Blake  <ebb9@byu.net>
53260
53261         Avoid gcc warnings on cygwin.
53262         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
53263         Avoid unused variable.
53264         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
53265         Likewise.
53266
53267 2008-12-22  Bruno Haible  <bruno@clisp.org>
53268
53269         Remove HAVE_MBRTOWC conditionals.
53270         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
53271         (mbscasecmp): Assume mbrtowc function.
53272         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
53273         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
53274         * lib/mbschr.c: Include mbuiter.h unconditionally.
53275         (mbschr): Assume mbrtowc function.
53276         * lib/mbscspn.c: Include mbuiter.h unconditionally.
53277         (mbscspn): Assume mbrtowc function.
53278         * lib/mbslen.c: Include mbuiter.h unconditionally.
53279         (mbslen): Assume mbrtowc function.
53280         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
53281         (mbsncasecmp): Assume mbrtowc function.
53282         * lib/mbsnlen.c: Include mbiter.h unconditionally.
53283         (mbsnlen): Assume mbrtowc function.
53284         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
53285         (mbspbrk): Assume mbrtowc function.
53286         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
53287         (mbspcasecmp): Assume mbrtowc function.
53288         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
53289         (mbsrchr): Assume mbrtowc function.
53290         * lib/mbssep.c: Include mbuiter.h unconditionally.
53291         (mbssep): Assume mbrtowc function.
53292         * lib/mbsspn.c: Include mbuiter.h unconditionally.
53293         (mbsspn): Assume mbrtowc function.
53294         * lib/mbsstr.c: Include mbuiter.h unconditionally.
53295         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
53296         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
53297         (mbstok_r): Assume mbrtowc function.
53298         * lib/propername.c: Include mbuiter.h unconditionally.
53299         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
53300         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
53301         (trim2): Assume mbrtowc function.
53302         * lib/mbswidth.c (mbsinit): Remove fallback definition.
53303         (mbsnwidth): Assume mbrtowc function.
53304         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
53305         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
53306         fallback definitions.
53307         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
53308
53309 2008-12-22  Bruno Haible  <bruno@clisp.org>
53310
53311         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
53312
53313 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
53314
53315         * modules/regex: Request emulations for the mb*/wc* functions we need.
53316         * m4/regex.m4: Don't look for those functions here.
53317         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
53318
53319 2008-12-22  Bruno Haible  <bruno@clisp.org>
53320
53321         * modules/fnmatch (Depends-on): Remove duplicated dependency.
53322
53323 2008-12-21  Bruno Haible  <bruno@clisp.org>
53324
53325         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
53326         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
53327         (Include): Remove conditionalization.
53328         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
53329         (Include): Remove conditionalization.
53330         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
53331         (Include): Remove conditionalization.
53332         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
53333         * m4/mbfile.m4 (gl_MBFILE): Likewise.
53334         * NEWS: Mention the change.
53335         Reported by Alan Hourihane <alanh@fairlite.co.uk>
53336         via Sergey Poznyakoff <gray@gnu.org.ua>.
53337
53338 2008-12-21  Bruno Haible  <bruno@clisp.org>
53339
53340         * MODULES.html.sh (Extended multibyte and wide character utilities
53341         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
53342         wcrtomb, wcsrtombs.
53343         (Support for systems lacking POSIX:2008): Add accept, bind, close,
53344         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
53345         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
53346         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
53347
53348 2008-12-21  Bruno Haible  <bruno@clisp.org>
53349
53350         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
53351
53352 2008-12-21  Bruno Haible  <bruno@clisp.org>
53353
53354         * modules/wcsnrtombs-tests: New file.
53355         * tests/test-wcsnrtombs1.sh: New file.
53356         * tests/test-wcsnrtombs2.sh: New file.
53357         * tests/test-wcsnrtombs3.sh: New file.
53358         * tests/test-wcsnrtombs4.sh: New file.
53359         * tests/test-wcsnrtombs.c: New file.
53360
53361         New module 'wcsnrtombs'.
53362         * lib/wchar.in.h (wcsnrtombs): New declaration.
53363         * lib/wcsnrtombs.c: New file.
53364         * lib/wcsrtombs-state.c: New file.
53365         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
53366         (internal_state): Remove variable.
53367         * m4/wcsnrtombs.m4: New file.
53368         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
53369         compilation units.
53370         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
53371         HAVE_WCSNRTOMBS.
53372         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
53373         HAVE_WCSNRTOMBS.
53374         * modules/wcsnrtombs: New file.
53375         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
53376         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
53377
53378 2008-12-21  Bruno Haible  <bruno@clisp.org>
53379
53380         * modules/wcsrtombs-tests: New file.
53381         * tests/test-wcsrtombs1.sh: New file.
53382         * tests/test-wcsrtombs2.sh: New file.
53383         * tests/test-wcsrtombs3.sh: New file.
53384         * tests/test-wcsrtombs4.sh: New file.
53385         * tests/test-wcsrtombs.c: New file.
53386
53387         New module 'wcsrtombs'.
53388         * lib/wchar.in.h (wcsrtombs): New declaration.
53389         * lib/wcsrtombs.c: New file.
53390         * m4/wcsrtombs.m4: New file.
53391         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
53392         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53393         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
53394         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53395         * modules/wcsrtombs: New file.
53396         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
53397         bugs.
53398
53399 2008-12-21  Bruno Haible  <bruno@clisp.org>
53400
53401         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
53402         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
53403         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
53404         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
53405         if not correct.
53406         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
53407         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
53408         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53409         m4/locale-zh.m4, m4/codeset.m4.
53410         * doc/posix-functions/wcrtomb.texi: Document the bug.
53411
53412 2008-12-21  Bruno Haible  <bruno@clisp.org>
53413
53414         Work around a btowc() bug on IRIX 6.5.
53415         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
53416         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
53417         REPLACE_WTOBC if not.
53418         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
53419         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
53420         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
53421
53422 2008-12-21  Bruno Haible  <bruno@clisp.org>
53423
53424         * modules/wcrtomb-tests: New file.
53425         * tests/test-wcrtomb.sh: New file.
53426         * tests/test-wcrtomb.c: New file.
53427
53428         New module 'wcrtomb'.
53429         * lib/wchar.in.h (wcrtomb): New declaration.
53430         * lib/wcrtomb.c: New file.
53431         * m4/wcrtomb.m4: New file.
53432         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
53433         HAVE_WCRTOMB.
53434         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
53435         HAVE_WCRTOMB.
53436         * modules/wcrtomb: New file.
53437         * doc/posix-functions/wcrtomb.texi: Mention the new module.
53438
53439 2008-12-21  Bruno Haible  <bruno@clisp.org>
53440
53441         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
53442         * modules/mbsrtowcs (Files): Likewise.
53443         * modules/wctob (Files): Likewise.
53444         * modules/c-strcase-tests (Files): Likewise.
53445         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
53446         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
53447         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
53448         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
53449         * modules/vasnprintf-posix-tests (Files): Likewise.
53450
53451 2008-12-21  William Pursell  <bill.pursell@gmail.com>
53452
53453         gitlog-to-changelog: pass all command-line arguments to git-log
53454         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
53455         it is sometimes convenient to filter the commits in various ways.
53456         gitlog-to-changelog only allows --since to specify a start date,
53457         but git-log itself supports many other filtering mechanisms.
53458         At the moment, I want to filter by branch name.  Rather than
53459         adding a --branch option to gitlog-to-changelog, it seems more
53460         flexible to simply pass all options directly to git-log and let
53461         git do the work.  Notice that this effectively makes --since a
53462         redundant option for gitlog-to-changelog, but removing it would
53463         require current usage to change since calls would then require
53464         an additional '--'.
53465
53466 2008-12-21  Bruno Haible  <bruno@clisp.org>
53467
53468         * modules/mbsnrtowcs-tests: New file.
53469         * tests/test-mbsnrtowcs1.sh: New file.
53470         * tests/test-mbsnrtowcs2.sh: New file.
53471         * tests/test-mbsnrtowcs3.sh: New file.
53472         * tests/test-mbsnrtowcs4.sh: New file.
53473         * tests/test-mbsnrtowcs.c: New file.
53474
53475         New module 'mbsnrtowcs'.
53476         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53477         * lib/mbsnrtowcs.c: New file.
53478         * lib/mbsrtowcs-state.c: New file.
53479         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53480         (internal_state): Remove variable.
53481         * m4/mbsnrtowcs.m4: New file.
53482         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53483         compilation units.
53484         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53485         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53486         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53487         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53488         * modules/mbsnrtowcs: New file.
53489         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53490         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53491         portability problem.
53492
53493 2008-12-21  Bruno Haible  <bruno@clisp.org>
53494
53495         Work around mbsrtowcs bug.
53496         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53497         (gl_FUNC_MBSRTOWCS): Invoke it.
53498         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53499         m4/locale-zh.m4.
53500         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53501
53502 2008-12-21  Bruno Haible  <bruno@clisp.org>
53503
53504         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53505
53506 2008-12-21  Bruno Haible  <bruno@clisp.org>
53507
53508         Update doc for AIX.
53509         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53510         16-bit wchar_t type.
53511         * doc/posix-functions/btowc.texi: Likewise.
53512         * doc/posix-functions/fgetwc.texi: Likewise.
53513         * doc/posix-functions/fgetws.texi: Likewise.
53514         * doc/posix-functions/fputwc.texi: Likewise.
53515         * doc/posix-functions/fputws.texi: Likewise.
53516         * doc/posix-functions/fwide.texi: Likewise.
53517         * doc/posix-functions/fwprintf.texi: Likewise.
53518         * doc/posix-functions/fwscanf.texi: Likewise.
53519         * doc/posix-functions/getwchar.texi: Likewise.
53520         * doc/posix-functions/getwc.texi: Likewise.
53521         * doc/posix-functions/iswalnum.texi: Likewise.
53522         * doc/posix-functions/iswalpha.texi: Likewise.
53523         * doc/posix-functions/iswblank.texi: Likewise.
53524         * doc/posix-functions/iswcntrl.texi: Likewise.
53525         * doc/posix-functions/iswctype.texi: Likewise.
53526         * doc/posix-functions/iswdigit.texi: Likewise.
53527         * doc/posix-functions/iswgraph.texi: Likewise.
53528         * doc/posix-functions/iswlower.texi: Likewise.
53529         * doc/posix-functions/iswprint.texi: Likewise.
53530         * doc/posix-functions/iswpunct.texi: Likewise.
53531         * doc/posix-functions/iswspace.texi: Likewise.
53532         * doc/posix-functions/iswupper.texi: Likewise.
53533         * doc/posix-functions/iswxdigit.texi: Likewise.
53534         * doc/posix-functions/mbrtowc.texi: Likewise.
53535         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53536         * doc/posix-functions/mbstowcs.texi: Likewise.
53537         * doc/posix-functions/mbtowc.texi: Likewise.
53538         * doc/posix-functions/putwchar.texi: Likewise.
53539         * doc/posix-functions/putwc.texi: Likewise.
53540         * doc/posix-functions/swprintf.texi: Likewise.
53541         * doc/posix-functions/tolower.texi: Likewise.
53542         * doc/posix-functions/toupper.texi: Likewise.
53543         * doc/posix-functions/towctrans.texi: Likewise.
53544         * doc/posix-functions/ungetwc.texi: Likewise.
53545         * doc/posix-functions/vswprintf.texi: Likewise.
53546         * doc/posix-functions/wcrtomb.texi: Likewise.
53547         * doc/posix-functions/wcscat.texi: Likewise.
53548         * doc/posix-functions/wcschr.texi: Likewise.
53549         * doc/posix-functions/wcscmp.texi: Likewise.
53550         * doc/posix-functions/wcscoll.texi: Likewise.
53551         * doc/posix-functions/wcscpy.texi: Likewise.
53552         * doc/posix-functions/wcscspn.texi: Likewise.
53553         * doc/posix-functions/wcsftime.texi: Likewise.
53554         * doc/posix-functions/wcslen.texi: Likewise.
53555         * doc/posix-functions/wcsncat.texi: Likewise.
53556         * doc/posix-functions/wcsncmp.texi: Likewise.
53557         * doc/posix-functions/wcsncpy.texi: Likewise.
53558         * doc/posix-functions/wcspbrk.texi: Likewise.
53559         * doc/posix-functions/wcsrchr.texi: Likewise.
53560         * doc/posix-functions/wcsrtombs.texi: Likewise.
53561         * doc/posix-functions/wcsspn.texi: Likewise.
53562         * doc/posix-functions/wcsstr.texi: Likewise.
53563         * doc/posix-functions/wcstod.texi: Likewise.
53564         * doc/posix-functions/wcstof.texi: Likewise.
53565         * doc/posix-functions/wcstoimax.texi: Likewise.
53566         * doc/posix-functions/wcstok.texi: Likewise.
53567         * doc/posix-functions/wcstold.texi: Likewise.
53568         * doc/posix-functions/wcstoll.texi: Likewise.
53569         * doc/posix-functions/wcstol.texi: Likewise.
53570         * doc/posix-functions/wcstombs.texi: Likewise.
53571         * doc/posix-functions/wcstoull.texi: Likewise.
53572         * doc/posix-functions/wcstoul.texi: Likewise.
53573         * doc/posix-functions/wcstoumax.texi: Likewise.
53574         * doc/posix-functions/wcswidth.texi: Likewise.
53575         * doc/posix-functions/wcsxfrm.texi: Likewise.
53576         * doc/posix-functions/wctob.texi: Likewise.
53577         * doc/posix-functions/wctomb.texi: Likewise.
53578         * doc/posix-functions/wctrans.texi: Likewise.
53579         * doc/posix-functions/wctype.texi: Likewise.
53580         * doc/posix-functions/wcwidth.texi: Likewise.
53581         * doc/posix-functions/wmemchr.texi: Likewise.
53582         * doc/posix-functions/wmemcmp.texi: Likewise.
53583         * doc/posix-functions/wmemcpy.texi: Likewise.
53584         * doc/posix-functions/wmemmove.texi: Likewise.
53585         * doc/posix-functions/wmemset.texi: Likewise.
53586         * doc/posix-functions/wprintf.texi: Likewise.
53587         * doc/posix-functions/wscanf.texi: Likewise.
53588
53589 2008-12-21  Bruno Haible  <bruno@clisp.org>
53590
53591         Update doc for HP-UX 11.11.
53592         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53593         in HP-UX version 11.00, not in all versions of HP-UX 11.
53594         * doc/posix-functions/fwide.texi: Likewise.
53595         * doc/posix-functions/fwprintf.texi: Likewise.
53596         * doc/posix-functions/fwscanf.texi: Likewise.
53597         * doc/posix-functions/inet_ntop.texi: Likewise.
53598         * doc/posix-functions/inet_pton.texi: Likewise.
53599         * doc/posix-functions/mbrlen.texi: Likewise.
53600         * doc/posix-functions/mbrtowc.texi: Likewise.
53601         * doc/posix-functions/mbsinit.texi: Likewise.
53602         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53603         * doc/posix-functions/swprintf.texi: Likewise.
53604         * doc/posix-functions/swscanf.texi: Likewise.
53605         * doc/posix-functions/towctrans.texi: Likewise.
53606         * doc/posix-functions/vfwprintf.texi: Likewise.
53607         * doc/posix-functions/vswprintf.texi: Likewise.
53608         * doc/posix-functions/vwprintf.texi: Likewise.
53609         * doc/posix-functions/wcrtomb.texi: Likewise.
53610         * doc/posix-functions/wcsrtombs.texi: Likewise.
53611         * doc/posix-functions/wcsstr.texi: Likewise.
53612         * doc/posix-functions/wctob.texi: Likewise.
53613         * doc/posix-functions/wctrans.texi: Likewise.
53614         * doc/posix-functions/wmemchr.texi: Likewise.
53615         * doc/posix-functions/wmemcmp.texi: Likewise.
53616         * doc/posix-functions/wmemcpy.texi: Likewise.
53617         * doc/posix-functions/wmemmove.texi: Likewise.
53618         * doc/posix-functions/wmemset.texi: Likewise.
53619         * doc/posix-functions/wprintf.texi: Likewise.
53620         * doc/posix-functions/wscanf.texi: Likewise.
53621
53622 2008-12-21  Bruno Haible  <bruno@clisp.org>
53623
53624         Work around a portability problem.
53625         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53626         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53627
53628 2008-12-20  Bruno Haible  <bruno@clisp.org>
53629
53630         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53631         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53632         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53633         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53634         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53635
53636         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53637         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53638         set.
53639         (GNULIB_defined_mbstate_t): New macro.
53640         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53641         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53642         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53643         reuses the system's mbrtowc function but works around the bugs.
53644         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53645         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53646         macros.
53647         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53648         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53649         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53650         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53651         REPLACE_MBSINIT if mbsinit needs to be overridden.
53652         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53653         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53654         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53655         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53656         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53657         m4/locale-zh.m4.
53658         (Depends): Add mbsinit.
53659         * modules/mbsinit (Depends): Add mbrtowc.
53660         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53661
53662 2008-12-20  Bruno Haible  <bruno@clisp.org>
53663
53664         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53665         so that there are no conversion errors on AIX.
53666         * tests/test-mbsrtowcs.c (main): LIkewise.
53667
53668 2008-12-20  Bruno Haible  <bruno@clisp.org>
53669
53670         Work around wctob bug on Solaris <= 9.
53671         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53672         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53673         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53674         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53675         * modules/wctob (Files): Add m4/locale-fr.m4.
53676         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53677
53678 2008-12-20  Bruno Haible  <bruno@clisp.org>
53679
53680         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53681         /dev/null.
53682         * tests/test-select-in.sh: Likewise.
53683         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53684
53685 2008-12-20  Bruno Haible  <bruno@clisp.org>
53686
53687         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53688         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53689         Cygwin 1.5.x.
53690
53691 2008-12-20  Bruno Haible  <bruno@clisp.org>
53692
53693         Ensure mbstate_t is defined on HP-UX 11.11.
53694         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53695         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53696         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53697         AC_USE_SYSTEM_EXTENSIONS.
53698         * modules/fnmatch (Depends-on): Add extensions.
53699         * modules/mbrlen (Depends-on): Likewise.
53700         * modules/mbrtowc (Depends-on): Likewise.
53701         * modules/mbsinit (Depends-on): Likewise.
53702         * modules/mbsrtowcs (Depends-on): Likewise.
53703         * modules/mbswidth (Depends-on): Likewise.
53704         * modules/quotearg (Depends-on): Likewise.
53705         * modules/strftime (Depends-on): Likewise.
53706
53707 2008-12-20  Bruno Haible  <bruno@clisp.org>
53708
53709         Ensure wctob is declared on IRIX 6.5.
53710         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53711         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53712         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53713         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53714         of HAVE_WCTOB.
53715         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53716         HAVE_WCTOB.
53717         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53718
53719 2008-12-19  Bruno Haible  <bruno@clisp.org>
53720
53721         * modules/mbsrtowcs-tests: New file.
53722         * tests/test-mbsrtowcs1.sh: New file.
53723         * tests/test-mbsrtowcs2.sh: New file.
53724         * tests/test-mbsrtowcs3.sh: New file.
53725         * tests/test-mbsrtowcs4.sh: New file.
53726         * tests/test-mbsrtowcs.c: New file.
53727
53728         New module 'mbsrtowcs'.
53729         * lib/wchar.in.h (mbsrtowcs): New declaration.
53730         * lib/mbsrtowcs.c: New file.
53731         * m4/mbsrtowcs.m4: New file.
53732         * modules/mbsrtowcs: New file.
53733         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53734         HAVE_MBSRTOWCS.
53735         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53736         HAVE_MBSRTOWCS.
53737         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53738
53739 2008-12-19  Bruno Haible  <bruno@clisp.org>
53740
53741         New module 'mbrlen'.
53742         * lib/wchar.in.h (mbrlen): New declaration.
53743         * lib/mbrlen.c: New file.
53744         * m4/mbrlen.m4: New file.
53745         * modules/mbrlen: New file.
53746         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53747         HAVE_MBRLEN.
53748         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53749         HAVE_MBRLEN.
53750         * doc/posix-functions/mbrlen.texi: Document the new module.
53751
53752 2008-12-19  Bruno Haible  <bruno@clisp.org>
53753
53754         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53755         * modules/mbrtowc (Depends-on): Add verify.
53756         Suggested by Paul Eggert.
53757
53758 2008-12-18  Bruno Haible  <bruno@clisp.org>
53759
53760         * modules/mbsinit-tests: New file.
53761         * tests/test-mbsinit.sh: New file.
53762         * tests/test-mbsinit.c: New file.
53763
53764 2008-12-18  Bruno Haible  <bruno@clisp.org>
53765
53766         * modules/mbrtowc-tests: New file.
53767         * tests/test-mbrtowc1.sh: New file.
53768         * tests/test-mbrtowc2.sh: New file.
53769         * tests/test-mbrtowc3.sh: New file.
53770         * tests/test-mbrtowc4.sh: New file.
53771         * tests/test-mbrtowc.c: New file.
53772
53773         New module 'mbrtowc'.
53774         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53775         mbsinit and mbrtowc.
53776         (mbrtowc): New declaration.
53777         * lib/mbrtowc.c: New file.
53778         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53779         * modules/mbrtowc: New file.
53780         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53781         HAVE_MBRTOWC.
53782         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53783         HAVE_MBRTOWC.
53784         * doc/posix-functions/mbrtowc.texi: Document the new module.
53785
53786 2008-12-18  Bruno Haible  <bruno@clisp.org>
53787
53788         New module 'wctob'.
53789         * lib/wchar.in.h (wctob): New declaration.
53790         * lib/wctob.c: New file.
53791         * m4/wctob.m4: New file.
53792         * modules/wctob: New file.
53793         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53794         HAVE_WCTOB.
53795         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53796         * doc/posix-functions/wctob.texi: Document the new module.
53797
53798 2008-12-18  Bruno Haible  <bruno@clisp.org>
53799
53800         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53801         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53802
53803 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53804
53805         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53806         G. Christensen" <tgc@jupiterrise.com>.
53807
53808         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53809         G. Christensen" <tgc@jupiterrise.com>.
53810
53811         * lib/flock.c: Need to include string.h.  Reported by "Tom
53812         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53813         <ebb9@byu.net>.
53814
53815 2008-12-18  Bruno Haible  <bruno@clisp.org>
53816
53817         * m4/locale-ja.m4: New file, from GNU gettext.
53818
53819 2008-12-17  Bruno Haible  <bruno@clisp.org>
53820
53821         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53822         Suggested by Eric Blake.
53823
53824 2008-12-17  Bruno Haible  <bruno@clisp.org>
53825
53826         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53827
53828 2008-12-17  Bruno Haible  <bruno@clisp.org>
53829
53830         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53831         * modules/mbsinit (Depends-on): Add verify.
53832         Suggested by Paul Eggert.
53833
53834 2008-12-17  Bruno Haible  <bruno@clisp.org>
53835
53836         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53837         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53838         gl_FUNC_MBRTOWC.
53839         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53840         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53841         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53842         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53843         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53844         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53845         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53846         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53847         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53848         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53849         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53850         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53851         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53852         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53853         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53854         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53855         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53856         * modules/trim (configure.ac): Likewise.
53857
53858 2008-12-17  Bruno Haible  <bruno@clisp.org>
53859
53860         * modules/btowc-tests: New file.
53861         * tests/test-btowc1.sh: New file.
53862         * tests/test-btowc2.sh: New file.
53863         * tests/test-btowc.c: New file.
53864
53865         New module 'btowc'.
53866         * lib/wchar.in.h (btowc): New declaration.
53867         * lib/btowc.c: New file.
53868         * m4/btowc.m4: New file.
53869         * modules/btowc: New file.
53870         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53871         HAVE_BTOWC.
53872         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53873         * doc/posix-functions/btowc.texi: Document the new module.
53874
53875 2008-12-17  Bruno Haible  <bruno@clisp.org>
53876
53877         New module 'mbsinit'.
53878         * lib/wchar.in.h (mbsinit): New declaration.
53879         * lib/mbsinit.c: New file.
53880         * m4/mbsinit.m4: New file.
53881         * modules/mbsinit: New file.
53882         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53883         HAVE_MBSINIT.
53884         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53885         HAVE_MBSINIT.
53886         * doc/posix-functions/mbsinit.texi: Document the new module.
53887
53888 2008-12-16  Bruno Haible  <bruno@clisp.org>
53889
53890         * lib/unistd.in.h: Add comment.
53891         * tests/test-environ.c: Don't include <stdlib.h>.
53892
53893 2008-12-16  Bruno Haible  <bruno@clisp.org>
53894
53895         * lib/parse-duration.h (parse_duration): Document return value
53896         convention.
53897         * lib/parse-duration.c: Include specification header first. Add
53898         comments.
53899         (_): Remove macro.
53900         (parse_year_month_day, parse_hour_minute_second): Move side effects
53901         outside of strchr call.
53902         (parse_non_iso8601): Move side effects outside of isspace call.
53903         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53904         call.
53905
53906 2008-12-16  Bruno Haible  <bruno@clisp.org>
53907
53908         * tests/test-parse-duration.sh: Produce no output when the test
53909         succeeds.
53910
53911 2008-12-16  Bruno Haible  <bruno@clisp.org>
53912
53913         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53914         expressions.
53915
53916 2008-12-15  Bruno Haible  <bruno@clisp.org>
53917
53918         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53919         * doc/glibc-functions/flistxattr.texi: Likewise.
53920         * doc/glibc-functions/fopencookie.texi: Likewise.
53921         * doc/glibc-functions/fremovexattr.texi: Likewise.
53922         * doc/glibc-functions/fsetxattr.texi: Likewise.
53923         * doc/glibc-functions/getxattr.texi: Likewise.
53924         * doc/glibc-functions/lgetxattr.texi: Likewise.
53925         * doc/glibc-functions/listxattr.texi: Likewise.
53926         * doc/glibc-functions/llistxattr.texi: Likewise.
53927         * doc/glibc-functions/lremovexattr.texi: Likewise.
53928         * doc/glibc-functions/lsetxattr.texi: Likewise.
53929         * doc/glibc-functions/removexattr.texi: Likewise.
53930         * doc/glibc-functions/setxattr.texi: Likewise.
53931         * doc/posix-functions/open_memstream.texi: Likewise.
53932
53933 2008-12-15  Eric Blake  <ebb9@byu.net>
53934
53935         Update doc for cygwin 1.7.
53936         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53937         functions.
53938         * doc/posix-functions/fchmodat.texi: Likewise.
53939         * doc/posix-functions/fchownat.texi: Likewise.
53940         * doc/posix-functions/fdopendir.texi: Likewise.
53941         * doc/posix-functions/fmemopen.texi: Likewise.
53942         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53943         * doc/posix-functions/fstatat.texi: Likewise.
53944         * doc/posix-functions/futimens.texi: Likewise.
53945         * doc/posix-functions/gai_strerror.texi: Likewise.
53946         * doc/posix-functions/getaddrinfo.texi: Likewise.
53947         * doc/posix-functions/getnameinfo.texi: Likewise.
53948         * doc/posix-functions/if_freenameindex.texi: Likewise.
53949         * doc/posix-functions/if_indextoname.texi: Likewise.
53950         * doc/posix-functions/if_nameindex.texi: Likewise.
53951         * doc/posix-functions/if_nametoindex.texi: Likewise.
53952         * doc/posix-functions/insque.texi: Likewise.
53953         * doc/posix-functions/linkat.texi: Likewise.
53954         * doc/posix-functions/llrint.texi: Likewise.
53955         * doc/posix-functions/llrintf.texi: Likewise.
53956         * doc/posix-functions/llrintl.texi: Likewise.
53957         * doc/posix-functions/lockf.texi: Likewise.
53958         * doc/posix-functions/lrintl.texi: Likewise.
53959         * doc/posix-functions/mkdirat.texi: Likewise.
53960         * doc/posix-functions/mkfifoat.texi: Likewise.
53961         * doc/posix-functions/mknodat.texi: Likewise.
53962         * doc/posix-functions/mq_close.texi: Likewise.
53963         * doc/posix-functions/mq_getattr.texi: Likewise.
53964         * doc/posix-functions/mq_notify.texi: Likewise.
53965         * doc/posix-functions/mq_open.texi: Likewise.
53966         * doc/posix-functions/mq_receive.texi: Likewise.
53967         * doc/posix-functions/mq_send.texi: Likewise.
53968         * doc/posix-functions/mq_setattr.texi: Likewise.
53969         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53970         * doc/posix-functions/mq_timedsend.texi: Likewise.
53971         * doc/posix-functions/mq_unlink.texi: Likewise.
53972         * doc/posix-functions/open_memstream.texi: Likewise.
53973         * doc/posix-functions/openat.texi: Likewise.
53974         * doc/posix-functions/posix_fadvise.texi: Likewise.
53975         * doc/posix-functions/posix_fallocate.texi: Likewise.
53976         * doc/posix-functions/posix_madvise.texi: Likewise.
53977         * doc/posix-functions/posix_memalign.texi: Likewise.
53978         * doc/posix-functions/posix_openpt.texi: Likewise.
53979         * doc/posix-functions/readlinkat.texi: Likewise.
53980         * doc/posix-functions/remque.texi: Likewise.
53981         * doc/posix-functions/renameat.texi: Likewise.
53982         * doc/posix-functions/rintl.texi: Likewise.
53983         * doc/posix-functions/sem_unlink.texi: Likewise.
53984         * doc/posix-functions/shm_open.texi: Likewise.
53985         * doc/posix-functions/shm_unlink.texi: Likewise.
53986         * doc/posix-functions/signgam.texi: Likewise.
53987         * doc/posix-functions/sigset.texi: Likewise.
53988         * doc/posix-functions/stpcpy.texi: Likewise.
53989         * doc/posix-functions/stpncpy.texi: Likewise.
53990         * doc/posix-functions/strerror.texi: Likewise.
53991         * doc/posix-functions/strtod.texi: Likewise.
53992         * doc/posix-functions/symlinkat.texi: Likewise.
53993         * doc/posix-functions/unlinkat.texi: Likewise.
53994         * doc/posix-functions/utimensat.texi: Likewise.
53995         * doc/glibc-functions/bindresvport.texi: Likewise.
53996         * doc/glibc-functions/dn_expand.texi: Likewise.
53997         * doc/glibc-functions/exp10.texi: Likewise.
53998         * doc/glibc-functions/exp10f.texi: Likewise.
53999         * doc/glibc-functions/fgetxattr.texi: Likewise.
54000         * doc/glibc-functions/flistxattr.texi: Likewise.
54001         * doc/glibc-functions/fopencookie.texi: Likewise.
54002         * doc/glibc-functions/freeifaddrs.texi: Likewise.
54003         * doc/glibc-functions/fremovexattr.texi: Likewise.
54004         * doc/glibc-functions/fsetxattr.texi: Likewise.
54005         * doc/glibc-functions/getifaddrs.texi: Likewise.
54006         * doc/glibc-functions/getxattr.texi: Likewise.
54007         * doc/glibc-functions/lgetxattr.texi: Likewise.
54008         * doc/glibc-functions/listxattr.texi: Likewise.
54009         * doc/glibc-functions/llistxattr.texi: Likewise.
54010         * doc/glibc-functions/lremovexattr.texi: Likewise.
54011         * doc/glibc-functions/lsetxattr.texi: Likewise.
54012         * doc/glibc-functions/pow10.texi: Likewise.
54013         * doc/glibc-functions/pow10f.texi: Likewise.
54014         * doc/glibc-functions/rcmd_af.texi: Likewise.
54015         * doc/glibc-functions/removexattr.texi: Likewise.
54016         * doc/glibc-functions/res_init.texi: Likewise.
54017         * doc/glibc-functions/res_mkquery.texi: Likewise.
54018         * doc/glibc-functions/res_query.texi: Likewise.
54019         * doc/glibc-functions/res_querydomain.texi: Likewise.
54020         * doc/glibc-functions/res_send.texi: Likewise.
54021         * doc/glibc-functions/rresvport_af.texi: Likewise.
54022         * doc/glibc-functions/setxattr.texi: Likewise.
54023         * doc/glibc-functions/strcasestr.texi: Likewise.
54024
54025 2008-12-15  Bruno Haible  <bruno@clisp.org>
54026
54027         Fix compilation error on OSF/1 4.0.
54028         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
54029         <sys/time.h>, simply delegate to the system header.
54030         Reported by Daniel Richard G. <oss@teragram.com>.
54031
54032 2008-12-15  Bruno Haible  <bruno@clisp.org>
54033
54034         * doc/posix-functions/openat.texi: Mention the 'openat' module.
54035         * doc/posix-functions/fchmodat.texi: Likewise.
54036         * doc/posix-functions/fchownat.texi: Likewise.
54037         * doc/posix-functions/fdopendir.texi: Likewise.
54038         * doc/posix-functions/fstatat.texi: Likewise.
54039         * doc/posix-functions/mkdirat.texi: Likewise.
54040         * doc/posix-functions/unlinkat.texi: Likewise.
54041
54042 2008-12-14  Bruno Haible  <bruno@clisp.org>
54043
54044         Update doc for POSIX:2008.
54045         * doc/posix-functions/faccessat.texi: New file.
54046         * doc/posix-functions/fchmodat.texi: New file.
54047         * doc/posix-functions/fchownat.texi: New file.
54048         * doc/posix-functions/fdopendir.texi: New file.
54049         * doc/posix-functions/fstatat.texi: New file.
54050         * doc/posix-functions/futimens.texi: New file.
54051         * doc/posix-functions/linkat.texi: New file.
54052         * doc/posix-functions/mkdirat.texi: New file.
54053         * doc/posix-functions/mkfifoat.texi: New file.
54054         * doc/posix-functions/mknodat.texi: New file.
54055         * doc/posix-functions/open_wmemstream.texi: New file.
54056         * doc/posix-functions/openat.texi: New file.
54057         * doc/posix-functions/psiginfo.texi: New file.
54058         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
54059         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
54060         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
54061         * doc/posix-functions/readlinkat.texi: New file.
54062         * doc/posix-functions/renameat.texi: New file.
54063         * doc/posix-functions/strerror_l.texi: New file.
54064         * doc/posix-functions/symlinkat.texi: New file.
54065         * doc/posix-functions/unlinkat.texi: New file.
54066         * doc/posix-functions/utimensat.texi: New file.
54067         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54068
54069 2008-12-14  Bruno Haible  <bruno@clisp.org>
54070
54071         Update doc for POSIX:2008.
54072         * doc/posix-functions/alphasort.texi: Renamed from
54073         doc/glibc-functions/alphasort.texi.
54074         * doc/posix-functions/dirfd.texi: Renamed from
54075         doc/glibc-functions/dirfd.texi.
54076         * doc/posix-functions/dprintf.texi: Renamed from
54077         doc/glibc-functions/dprintf.texi.
54078         * doc/posix-functions/duplocale.texi: Renamed from
54079         doc/glibc-functions/duplocale.texi.
54080         * doc/posix-functions/fexecve.texi: Renamed from
54081         doc/glibc-functions/fexecve.texi.
54082         * doc/posix-functions/fmemopen.texi: Renamed from
54083         doc/glibc-functions/fmemopen.texi.
54084         * doc/posix-functions/freelocale.texi: Renamed from
54085         doc/glibc-functions/freelocale.texi.
54086         * doc/posix-functions/getdate_err.texi: Renamed from
54087         doc/glibc-functions/getdate_err.texi.
54088         * doc/posix-functions/isalnum_l.texi: Renamed from
54089         doc/glibc-functions/isalnum_l.texi.
54090         * doc/posix-functions/isalpha_l.texi: Renamed from
54091         doc/glibc-functions/isalpha_l.texi.
54092         * doc/posix-functions/isblank_l.texi: Renamed from
54093         doc/glibc-functions/isblank_l.texi.
54094         * doc/posix-functions/iscntrl_l.texi: Renamed from
54095         doc/glibc-functions/iscntrl_l.texi.
54096         * doc/posix-functions/isdigit_l.texi: Renamed from
54097         doc/glibc-functions/isdigit_l.texi.
54098         * doc/posix-functions/isgraph_l.texi: Renamed from
54099         doc/glibc-functions/isgraph_l.texi.
54100         * doc/posix-functions/islower_l.texi: Renamed from
54101         doc/glibc-functions/islower_l.texi.
54102         * doc/posix-functions/isprint_l.texi: Renamed from
54103         doc/glibc-functions/isprint_l.texi.
54104         * doc/posix-functions/ispunct_l.texi: Renamed from
54105         doc/glibc-functions/ispunct_l.texi.
54106         * doc/posix-functions/isspace_l.texi: Renamed from
54107         doc/glibc-functions/isspace_l.texi.
54108         * doc/posix-functions/isupper_l.texi: Renamed from
54109         doc/glibc-functions/isupper_l.texi.
54110         * doc/posix-functions/iswalnum_l.texi: Renamed from
54111         doc/glibc-functions/iswalnum_l.texi.
54112         * doc/posix-functions/iswalpha_l.texi: Renamed from
54113         doc/glibc-functions/iswalpha_l.texi.
54114         * doc/posix-functions/iswblank_l.texi: Renamed from
54115         doc/glibc-functions/iswblank_l.texi.
54116         * doc/posix-functions/iswcntrl_l.texi: Renamed from
54117         doc/glibc-functions/iswcntrl_l.texi.
54118         * doc/posix-functions/iswctype_l.texi: Renamed from
54119         doc/glibc-functions/iswctype_l.texi.
54120         * doc/posix-functions/iswdigit_l.texi: Renamed from
54121         doc/glibc-functions/iswdigit_l.texi.
54122         * doc/posix-functions/iswgraph_l.texi: Renamed from
54123         doc/glibc-functions/iswgraph_l.texi.
54124         * doc/posix-functions/iswlower_l.texi: Renamed from
54125         doc/glibc-functions/iswlower_l.texi.
54126         * doc/posix-functions/iswprint_l.texi: Renamed from
54127         doc/glibc-functions/iswprint_l.texi.
54128         * doc/posix-functions/iswpunct_l.texi: Renamed from
54129         doc/glibc-functions/iswpunct_l.texi.
54130         * doc/posix-functions/iswspace_l.texi: Renamed from
54131         doc/glibc-functions/iswspace_l.texi.
54132         * doc/posix-functions/iswupper_l.texi: Renamed from
54133         doc/glibc-functions/iswupper_l.texi.
54134         * doc/posix-functions/iswxdigit_l.texi: Renamed from
54135         doc/glibc-functions/iswxdigit_l.texi.
54136         * doc/posix-functions/isxdigit_l.texi: Renamed from
54137         doc/glibc-functions/isxdigit_l.texi.
54138         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
54139         doc/glibc-functions/mbsnrtowcs.texi.
54140         * doc/posix-functions/mkdtemp.texi: Renamed from
54141         doc/glibc-functions/mkdtemp.texi.
54142         * doc/posix-functions/newlocale.texi: Renamed from
54143         doc/glibc-functions/newlocale.texi.
54144         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
54145         doc/glibc-functions/nl_langinfo_l.texi.
54146         * doc/posix-functions/open_memstream.texi: Renamed from
54147         doc/glibc-functions/open_memstream.texi.
54148         * doc/posix-functions/opterr.texi: Renamed from
54149         doc/glibc-functions/opterr.texi.
54150         * doc/posix-functions/optind.texi: Renamed from
54151         doc/glibc-functions/optind.texi.
54152         * doc/posix-functions/optopt.texi: Renamed from
54153         doc/glibc-functions/optopt.texi.
54154         * doc/posix-functions/psignal.texi: Renamed from
54155         doc/glibc-functions/psignal.texi.
54156         * doc/posix-functions/scandir.texi: Renamed from
54157         doc/glibc-functions/scandir.texi.
54158         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
54159         doc/glibc-functions/sched_get_priority_min.texi.
54160         * doc/posix-functions/signgam.texi: Renamed from
54161         doc/glibc-functions/signgam.texi.
54162         * doc/posix-functions/stpcpy.texi: Renamed from
54163         doc/glibc-functions/stpcpy.texi.
54164         * doc/posix-functions/stpncpy.texi: Renamed from
54165         doc/glibc-functions/stpncpy.texi.
54166         * doc/posix-functions/strcasecmp_l.texi: Renamed from
54167         doc/glibc-functions/strcasecmp_l.texi.
54168         * doc/posix-functions/strcoll_l.texi: Renamed from
54169         doc/glibc-functions/strcoll_l.texi.
54170         * doc/posix-functions/strfmon_l.texi: Renamed from
54171         doc/glibc-functions/strfmon_l.texi.
54172         * doc/posix-functions/strftime_l.texi: Renamed from
54173         doc/glibc-functions/strftime_l.texi.
54174         * doc/posix-functions/strncasecmp_l.texi: Renamed from
54175         doc/glibc-functions/strncasecmp_l.texi.
54176         * doc/posix-functions/strndup.texi: Renamed from
54177         doc/glibc-functions/strndup.texi.
54178         * doc/posix-functions/strnlen.texi: Renamed from
54179         doc/glibc-functions/strnlen.texi.
54180         * doc/posix-functions/strsignal.texi: Renamed from
54181         doc/glibc-functions/strsignal.texi.
54182         * doc/posix-functions/strxfrm_l.texi: Renamed from
54183         doc/glibc-functions/strxfrm_l.texi.
54184         * doc/posix-functions/timer_gettime.texi: Renamed from
54185         doc/glibc-functions/timer_gettime.texi.
54186         * doc/posix-functions/tolower_l.texi: Renamed from
54187         doc/glibc-functions/tolower_l.texi.
54188         * doc/posix-functions/toupper_l.texi: Renamed from
54189         doc/glibc-functions/toupper_l.texi.
54190         * doc/posix-functions/towctrans_l.texi: Renamed from
54191         doc/glibc-functions/towctrans_l.texi.
54192         * doc/posix-functions/towlower_l.texi: Renamed from
54193         doc/glibc-functions/towlower_l.texi.
54194         * doc/posix-functions/towupper_l.texi: Renamed from
54195         doc/glibc-functions/towupper_l.texi.
54196         * doc/posix-functions/uselocale.texi: Renamed from
54197         doc/glibc-functions/uselocale.texi.
54198         * doc/posix-functions/vdprintf.texi: Renamed from
54199         doc/glibc-functions/vdprintf.texi.
54200         * doc/posix-functions/wcpcpy.texi:
54201         Renamed from doc/glibc-functions/wcpcpy.texi.
54202         * doc/posix-functions/wcpncpy.texi: Renamed from
54203         doc/glibc-functions/wcpncpy.texi.
54204         * doc/posix-functions/wcscasecmp.texi: Renamed from
54205         doc/glibc-functions/wcscasecmp.texi.
54206         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
54207         doc/glibc-functions/wcscasecmp_l.texi.
54208         * doc/posix-functions/wcscoll_l.texi: Renamed from
54209         doc/glibc-functions/wcscoll_l.texi.
54210         * doc/posix-functions/wcsdup.texi: Renamed from
54211         doc/glibc-functions/wcsdup.texi.
54212         * doc/posix-functions/wcsncasecmp.texi: Renamed from
54213         doc/glibc-functions/wcsncasecmp.texi.
54214         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
54215         doc/glibc-functions/wcsncasecmp_l.texi.
54216         * doc/posix-functions/wcsnlen.texi: Renamed from
54217         doc/glibc-functions/wcsnlen.texi.
54218         * doc/posix-functions/wcsnrtombs.texi: Renamed from
54219         doc/glibc-functions/wcsnrtombs.texi.
54220         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
54221         doc/glibc-functions/wcsxfrm_l.texi.
54222         * doc/posix-functions/wctrans_l.texi: Renamed from
54223         doc/glibc-functions/wctrans_l.texi.
54224         * doc/posix-functions/wctype_l.texi: Renamed from
54225         doc/glibc-functions/wctype_l.texi.
54226         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54227         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
54228         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
54229         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
54230         these subsections.
54231         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
54232         Remove sections.
54233
54234 2008-12-14  Bruno Haible  <bruno@clisp.org>
54235
54236         Update doc for POSIX:2008.
54237         * doc/posix-functions/*.texi: Update URL of POSIX specification.
54238
54239 2008-12-14  Bruno Haible  <bruno@clisp.org>
54240
54241         Update doc for POSIX:2008.
54242         * doc/pastposix-functions/bcmp.texi: Renamed from
54243         doc/posix-functions/bcmp.texi.
54244         * doc/pastposix-functions/bcopy.texi: Renamed from
54245         doc/posix-functions/bcopy.texi.
54246         * doc/pastposix-functions/bsd_signal.texi: Renamed from
54247         doc/posix-functions/bsd_signal.texi.
54248         * doc/pastposix-functions/bzero.texi: Renamed from
54249         doc/posix-functions/bzero.texi.
54250         * doc/pastposix-functions/ecvt.texi: Renamed from
54251         doc/posix-functions/ecvt.texi.
54252         * doc/pastposix-functions/fcvt.texi: Renamed from
54253         doc/posix-functions/fcvt.texi.
54254         * doc/pastposix-functions/ftime.texi: Renamed from
54255         doc/posix-functions/ftime.texi.
54256         * doc/pastposix-functions/gcvt.texi: Renamed from
54257         doc/posix-functions/gcvt.texi.
54258         * doc/pastposix-functions/getcontext.texi: Renamed from
54259         doc/posix-functions/getcontext.texi.
54260         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
54261         doc/posix-functions/gethostbyaddr.texi.
54262         * doc/pastposix-functions/gethostbyname.texi: Renamed from
54263         doc/posix-functions/gethostbyname.texi.
54264         * doc/pastposix-functions/getwd.texi: Renamed from
54265         doc/posix-functions/getwd.texi.
54266         * doc/pastposix-functions/h_errno.texi: Renamed from
54267         doc/posix-functions/h_errno.texi.
54268         * doc/pastposix-functions/index.texi: Renamed from
54269         doc/posix-functions/index.texi.
54270         * doc/pastposix-functions/makecontext.texi: Renamed from
54271         doc/posix-functions/makecontext.texi.
54272         * doc/pastposix-functions/mktemp.texi: Renamed from
54273         doc/posix-functions/mktemp.texi.
54274         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
54275         doc/posix-functions/pthread_attr_getstackaddr.texi.
54276         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
54277         doc/posix-functions/pthread_attr_setstackaddr.texi.
54278         * doc/pastposix-functions/rindex.texi: Renamed from
54279         doc/posix-functions/rindex.texi.
54280         * doc/pastposix-functions/scalb.texi: Renamed from
54281         doc/posix-functions/scalb.texi.
54282         * doc/pastposix-functions/setcontext.texi: Renamed from
54283         doc/posix-functions/setcontext.texi.
54284         * doc/pastposix-functions/swapcontext.texi: Renamed from
54285         doc/posix-functions/swapcontext.texi.
54286         * doc/pastposix-functions/ualarm.texi: Renamed from
54287         doc/posix-functions/ualarm.texi.
54288         * doc/pastposix-functions/usleep.texi: Renamed from
54289         doc/posix-functions/usleep.texi.
54290         * doc/pastposix-functions/vfork.texi: Renamed from
54291         doc/posix-functions/vfork.texi.
54292         * doc/pastposix-functions/wcswcs.texi: Renamed from
54293         doc/posix-functions/wcswcs.texi.
54294         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
54295         (Function Substitutes): Update.
54296
54297 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54298
54299         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
54300         m4/strerror.m4.
54301
54302 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54303             Bruno Haible  <bruno@clisp.org>
54304
54305         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
54306
54307 2008-12-13  Bruno Haible  <bruno@clisp.org>
54308
54309         * modules/strtoull (Depends-on): Remove unistd.
54310
54311 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54312
54313         * modules/strtoull (Depends-on): Add stdlib.
54314
54315 2008-12-11  Simon Josefsson  <simon@josefsson.org>
54316
54317         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
54318
54319 2008-12-10  Jim Meyering  <meyering@redhat.com>
54320
54321         gl_ASSERT: don't say assertions are disabled when they're not
54322         * m4/assert.m4 (gl_ASSERT): Do not make configure report
54323         "checking whether to enable assertions... no", when they are in
54324         fact enabled.  This is solely a bug in the output of configure.
54325         In spite of saying "no", NDEBUG was not defined in that case.
54326         Also, as noted by Eric Blake, leave assertions enabled upon
54327         --enable-assert=INVALID.
54328
54329 2008-12-10  Bruno Haible  <bruno@clisp.org>
54330
54331         Change MODULES.html to refer to POSIX:2008 where possible.
54332         * MODULES.html.sh (POSIX2008_URL): New variable.
54333         (posix_headers): Remove sys/timeb, ucontext.
54334         (posix2001_headers): New variable.
54335         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
54336         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
54337         index, makecontext, mktemp, pthread_attr_getstackaddr,
54338         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
54339         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
54340         (posix2001_functions): New variable.
54341         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
54342         otherwise.
54343
54344 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54345
54346         add missing include to parse-duration.c
54347         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
54348         * modules/parse-duration (Depends-on): Add xalloc.
54349
54350         fix sed script reading maint.mk
54351         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
54352         (syntax-check-rules): Use it.
54353
54354 2008-12-09  Bruno Haible  <bruno@clisp.org>
54355
54356         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
54357         MacOS X 10.4/PowerPC.
54358         Reported by Simon Josefsson.
54359
54360 2008-12-08  Jim Meyering  <meyering@redhat.com>
54361
54362         work around mingw's lack of some S_IF definitions
54363         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
54364         Reported by Simon Josefsson.
54365
54366 2008-12-08  Bruno Haible  <bruno@clisp.org>
54367
54368         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
54369         applied to variables. Needed on MacOS X 10.4/PowerPC.
54370         Reported by Simon Josefsson.
54371
54372 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
54373         and Eric Blake  <ebb9@byu.net>
54374
54375         assert: honor --enable-assert
54376         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
54377         order to honor --enable-assert, rather than treating it as a
54378         synonym for --disable-assert.
54379
54380 2008-12-08  Jim Meyering  <meyering@redhat.com>
54381
54382         * lib/posixtm.c: Remove now-useless declaration of mktime.
54383
54384         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
54385
54386 2008-12-07  Bruno Haible  <bruno@clisp.org>
54387
54388         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
54389         test_once): Mark functions as static.
54390         * tests/test-tls.c (test_tls): Likewise.
54391
54392 2008-12-07  Bruno Haible  <bruno@clisp.org>
54393
54394         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
54395         iconv_register_autodetect.
54396
54397 2008-12-07  Jim Meyering  <meyering@redhat.com>
54398
54399         posixtm.c: avoid a warning
54400         * lib/posixtm.c (posixtime): Don't initialize tm0.
54401         It's no longer needed to placate gcc4's -Wuninitialized,
54402         and the attempt to placate would elicit a new warning.
54403
54404         unicodeio.c: mark unused parameters
54405         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54406         (fallback_failure_callback): Likewise.
54407
54408 2008-12-07  Bruno Haible  <bruno@clisp.org>
54409
54410         * gnulib-tool (func_create_testdir): When building the tests
54411         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
54412         Reported by Simon Josefsson.
54413
54414 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54415
54416         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
54417
54418 2008-12-06  Bruno Haible  <bruno@clisp.org>
54419
54420         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
54421         Suggested by Eric Blake.
54422
54423 2008-12-06  Bruno Haible  <bruno@clisp.org>
54424
54425         Fix a c-stack test failure on MacOS X.
54426         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
54427         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
54428         handler for SIGBUS as well.
54429         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
54430         install a signal handler for SIGBUS as well.
54431         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
54432
54433 2008-12-06  Bruno Haible  <bruno@clisp.org>
54434
54435         Advocacy documentation.
54436         * doc/gnulib-intro.texi (Benefits): New section.
54437         * doc/gnulib.texi: Update.
54438
54439 2008-12-06  Bruno Haible  <bruno@clisp.org>
54440
54441         Document the 'manywarnings' module.
54442         * doc/manywarnings.texi: New file.
54443         * doc/gnulib.texi: Include it.
54444
54445 2008-12-05  Eric Blake  <ebb9@byu.net>
54446
54447         tests: silence some gcc warnings
54448         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
54449         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
54450         type mismatches.
54451
54452 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54453             Bruno Haible  <bruno@clisp.org>
54454
54455         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54456
54457 2008-11-29  Jim Meyering  <meyering@redhat.com>
54458
54459         unicodeio.c: mark unused parameters
54460         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54461         (fallback_failure_callback): Likewise.
54462
54463         fts: fix a thinko
54464         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54465         (set_stat_type): Return S_IF*-valued "type" directly.
54466         Prompted by James Youngman's spotting a related bug.
54467         Confirmed by further testing through find.
54468
54469         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54470         * lib/fts.c (D_TYPE): Define.
54471         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54472         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54473         (s_ifmt_shift_bits): New function.
54474         (set_stat_type): New function.
54475         (fts_build): When not calling fts_stat, call set_stat_type
54476         to propagate dirent.d_type info to fts_read caller.
54477         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54478         fts_statp->st_mode type information may be valid.
54479
54480 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54481
54482         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54483         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54484         <sds@gnu.org>.
54485
54486 2008-11-20  Bruno Haible  <bruno@clisp.org>
54487
54488         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54489         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54490         INCLUDE_NEXT.
54491         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54492         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54493         * modules/math (Makefile.am): Substitute
54494         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54495         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54496
54497 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54498             Bruno Haible  <bruno@clisp.org>
54499
54500         * lib/stdint.in.h: Define all type macros so that their expansion is
54501         a single typedef'ed token. Fixes a compilation failure in Boost which
54502         does "using ::int8_t;".
54503
54504 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54505
54506         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54507         gl_MANYWARN_ALL_GCC.
54508         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54509         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54510         * modules/manywarnings: New file.
54511         * MODULES.html.sh: Mention manywarnings module.
54512
54513 2008-11-18  Bruno Haible  <bruno@clisp.org>
54514
54515         * doc/gnulib-tool.texi (Unit tests): New section.
54516
54517 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54518
54519         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54520         paths like 'lib/po/foo.po'.
54521
54522 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54523
54524         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54525         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54526
54527 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54528
54529         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54530         parameter works.
54531
54532 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54533
54534         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54535
54536 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54537
54538         * modules/parse-duration-tests: New file.
54539         * tests/test-parse-duration.sh: New file.
54540         * tests/test-parse-duration.c: New file.
54541
54542         New module 'parse-duration'.
54543         * lib/parse-duration.h: New file.
54544         * lib/parse-duration.c: New file.
54545         * modules/parse-duration: New file.
54546
54547 2008-11-17  Bruno Haible  <bruno@clisp.org>
54548
54549         * tests/test-select-out.sh: Comment out the first pipe test.
54550         Reported by Simon Josefsson.
54551
54552 2008-11-17  Bruno Haible  <bruno@clisp.org>
54553
54554         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54555         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54556         gl_HOSTENT.
54557
54558 2008-11-17  Bruno Haible  <bruno@clisp.org>
54559
54560         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54561         -lnetwork and -lnet. Needed for Haiku and BeOS.
54562
54563 2008-11-16  Bruno Haible  <bruno@clisp.org>
54564
54565         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54566
54567 2008-11-16  Bruno Haible  <bruno@clisp.org>
54568
54569         Avoid test failure on Haiku.
54570         * tests/test-fsync.c: Include <errno.h>.
54571         (main): Don't require that fsync (0) fails.
54572
54573 2008-11-15  Bruno Haible  <bruno@clisp.org>
54574
54575         New module 'hostent'.
54576         * modules/hostent: New file.
54577         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54578
54579 2008-11-15  Bruno Haible  <bruno@clisp.org>
54580
54581         New module 'servent'.
54582         * modules/servent: New file.
54583         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54584
54585 2008-11-15  Bruno Haible  <bruno@clisp.org>
54586
54587         Avoid generating same test program with two different rules.
54588         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54589         test-frexp to test-frexp-nolibm.
54590         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54591         test-frexpl to test-frexpl-nolibm.
54592
54593 2008-11-15  Bruno Haible  <bruno@clisp.org>
54594
54595         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54596         $(FREXPL_LIBM).
54597
54598 2008-11-15  Bruno Haible  <bruno@clisp.org>
54599
54600         * lib/netdb.in.h: Activate the definitions also when the system's
54601         <netdb.h> has 'struct addrinfo'.
54602         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54603         EAI_OVERFLOW or AI_NUMERICSERV.
54604         * doc/posix-headers/netdb.texi: Document the problem.
54605
54606 2008-11-15  Bruno Haible  <bruno@clisp.org>
54607
54608         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54609
54610         Make the 'sched' module work on platforms where <sched.h> exists but
54611         is incomplete (such as Haiku).
54612         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54613         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54614         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54615         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54616         HAVE_STRUCT_SCHED_PARAM.
54617         * modules/sched (Depends-on): Add include_next.
54618         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54619         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54620         * doc/posix-headers/sched.texi: Document the issue.
54621
54622 2008-11-13  Jim Meyering  <meyering@redhat.com>
54623
54624         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54625         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54626         test would fail due to the difference in the Report bugs to ...
54627         line.  The expected address is empty, "<>", while the actual
54628         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54629
54630 2008-11-12  Bruno Haible  <bruno@clisp.org>
54631
54632         lstat: don't compile lstat.c on systems lacking lstat
54633         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54634         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54635         Reported by Daniel P. Berrange via Jim Meyering.
54636
54637 2008-11-12  Jim Meyering  <meyering@redhat.com>
54638
54639         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54640
54641 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54642
54643         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54644         instead.
54645
54646 2008-11-12  Bruno Haible  <bruno@clisp.org>
54647
54648         * lib/unicodeio.c: Include unistr.h.
54649         (utf8_wctomb): Remove function.
54650         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54651
54652 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54653
54654         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54655         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54656         <bruno@clisp.org>.
54657         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54658
54659 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54660
54661         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54662         * doc/gnulib.texi: Add section for warnings.
54663
54664 2008-11-11  Bruno Haible  <bruno@clisp.org>
54665
54666         * lib/sockets.h: Add a comment.
54667
54668 2008-11-11  Karl Berry  <karl@gnu.org>
54669
54670         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54671
54672 2008-11-11  Eric Blake  <ebb9@byu.net>
54673
54674         fdl.texi: avoid git symlinks
54675         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54676
54677 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54678
54679         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54680
54681 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54682
54683         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54684         (gl_WARN_ADD): Substitute $2 if literal.
54685
54686 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54687
54688         * m4/warning.m4: Remove.
54689
54690 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54691
54692         * m4/warnings.m4: Almost complete rewrite. :-)
54693
54694 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54695
54696         * modules/warnings: New module.
54697         * m4/warnings.m4: New file.
54698         * MODULES.html.sh: Mention warnings module.
54699         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54700         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54701
54702 2008-11-10  Eric Blake  <ebb9@byu.net>
54703
54704         fdl.texi: make a symlink to the latest version
54705         * doc/standards.texi: Revert today's earlier change.
54706         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54707         * doc/fdl.texi: ...and replace this with a symlink to the newer
54708         fdl-1.3.texi.
54709
54710 2008-11-10  Bruno Haible  <bruno@clisp.org>
54711
54712         * tests/test-select-fd.c (main): Accept the result file name as fourth
54713         argument.
54714         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54715         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54716
54717 2008-11-10  Bruno Haible  <bruno@clisp.org>
54718
54719         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54720         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54721         as autoconf-substituted macros.
54722         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54723         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54724         gl_NETDB_H_DEFAULTS. Set these variables.
54725         * modules/netdb (Makefile.am): Substitute these variables.
54726
54727 2008-11-10  Eric Blake  <ebb9@byu.net>
54728
54729         standards.texi: include correct file for FDL 1.3
54730         * doc/standards.texi (GNU Free Documentation License): Change
54731         include file to pull in FDL 1.3, not 1.2.
54732
54733         fdl.texi: revert accidental change to license
54734         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54735
54736 2008-11-10  Bruno Haible  <bruno@clisp.org>
54737
54738         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54739         cross-compiling guesses also when the native compile gives no result.
54740
54741 2008-11-10  Bruno Haible  <bruno@clisp.org>
54742
54743         * lib/spawni.c (__spawni): Force variable into the stack.
54744
54745 2008-11-10  Bruno Haible  <bruno@clisp.org>
54746
54747         Add support for Haiku.
54748         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54749         glibc and BeOS, but also on Haiku.
54750         * lib/fpurge.c (fpurge): Likewise.
54751         * lib/freadable.c (freadable): Likewise.
54752         * lib/freadahead.c (freadahead): Likewise.
54753         * lib/freading.c (freading): Likewise.
54754         * lib/freadptr.c (freadptr): Likewise.
54755         * lib/freadseek.c (freadptrinc): Likewise.
54756         * lib/fseeko.c (rpl_fseeko): Likewise.
54757         * lib/fseterr.c (fseterr): Likewise.
54758         * lib/fwritable.c (fwritable): Likewise.
54759         * lib/fwriting.c (fwriting): Likewise.
54760         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54761
54762 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54763
54764         * lib/config.charset: Treat Haiku like BeOS.
54765
54766 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54767
54768         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54769         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54770
54771 2008-11-08  Bruno Haible  <bruno@clisp.org>
54772
54773         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54774         AC_CACHE_CHECK.
54775
54776 2008-11-08  Bruno Haible  <bruno@clisp.org>
54777
54778         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54779
54780 2008-11-08  Bruno Haible  <bruno@clisp.org>
54781
54782         * tests/test-select-fd.c: New file.
54783         * tests/test-select-in.sh: New file.
54784         * tests/test-select-out.sh: New file.
54785         * tests/test-select-stdin.c: New file.
54786         * modules/select-tests (Files): Add the new files.
54787         (Depends-on): Add gettimeofday.
54788         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54789         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54790         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54791
54792 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54793             Bruno Haible  <bruno@clisp.org>
54794
54795         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54796
54797 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54798
54799         * build-aux/pmccabe2html: Added support for C++ source files.
54800
54801 2008-11-05  Ben Pfaff  <blp@gnu.org>
54802
54803         Fix lib/close.c build on Windows.
54804         * modules/close (Files): Add lib/w32sock.h.
54805
54806 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54807
54808         Accept Bison's NEWS format.
54809         * build-aux/announce-gen (print_news_deltas): Tweak
54810         $re_prefix.
54811
54812 2008-11-04  Bruno Haible  <bruno@clisp.org>
54813
54814         * modules/random_r (Maintainer): Add glibc.
54815
54816 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54817
54818         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54819         by karl@freefriends.org (Karl Berry).
54820         * doc/alloca.texi: Likewise.
54821         * doc/c-ctype.texi: Likewise.
54822         * doc/c-strcase.texi: Likewise.
54823         * doc/c-strcaseeq.texi: Likewise.
54824         * doc/c-strcasestr.texi: Likewise.
54825         * doc/c-strstr.texi: Likewise.
54826         * doc/c-strtod.texi: Likewise.
54827         * doc/c-strtold.texi: Likewise.
54828         * doc/ctime.texi: Likewise.
54829         * doc/error.texi: Likewise.
54830         * doc/fdl.texi: Likewise.
54831         * doc/gcd.texi: Likewise.
54832         * doc/getdate.texi: Likewise.
54833         * doc/gnulib-intro.texi: Likewise.
54834         * doc/gnulib-tool.texi: Likewise.
54835         * doc/gnulib.texi: Likewise.
54836         * doc/inet_ntoa.texi: Likewise.
54837         * doc/maintain.texi: Likewise.
54838         * doc/make-stds.texi: Likewise.
54839         * doc/quote.texi: Likewise.
54840         * doc/regexprops-generic.texi: Likewise.
54841         * doc/standards.texi: Likewise.
54842         * doc/verify.texi: Likewise.
54843         * doc/visibility.texi: Likewise.
54844         * doc/gnulib.texi (GNU Free Documentation License): Include
54845         fdl-1.3.texi instead of fdl.texi.
54846
54847 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54848
54849         * doc/fdl-1.3.texi: New file, from
54850         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54851         * modules/fdl-1.3: Add.
54852         * MODULES.html.sh: Add fdl-1.3.
54853
54854 2008-11-03  Bruno Haible  <bruno@clisp.org>
54855
54856         Make determination of absolute name of header file work with AIX xlc.
54857         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54858         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54859         preprocessing.
54860         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54861         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54862
54863 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54864
54865         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54866         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54867         <ludo@gnu.org>.
54868
54869 2008-11-02  Bruno Haible  <bruno@clisp.org>
54870
54871         Mark 'strpbrk' obsolete.
54872         * modules/strpbrk (Status, Notice): New sections.
54873         * modules/strtok_r (Depends-on): Add strpbrk.
54874
54875 2008-11-02  Bruno Haible  <bruno@clisp.org>
54876
54877         Mark 'strdup' obsolete.
54878         * modules/strdup (Status, Notice): New sections.
54879         * modules/findprog (Depends-on): Add strdup.
54880         * modules/getaddrinfo (Depends-on): Likewise.
54881         * modules/localename (Depends-on): Likewise.
54882         * modules/relocatable-lib (Depends-on): Likewise.
54883         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54884         * modules/relocatable-prog (Depends-on): Likewise.
54885         * modules/trim (Depends-on): Likewise.
54886         * modules/unictype/gen-ctype (Depends-on): Likewise.
54887         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54888
54889 2008-11-02  Bruno Haible  <bruno@clisp.org>
54890
54891         Mark 'strcspn' obsolete.
54892         * modules/strcspn (Status, Notice): New sections.
54893
54894 2008-11-02  Bruno Haible  <bruno@clisp.org>
54895
54896         Mark 'rmdir' obsolete.
54897         * modules/rmdir (Status, Notice): New sections.
54898         * modules/clean-temp (Depends-on): Add rmdir.
54899         * modules/openat (Depends-on): Likewise.
54900
54901 2008-11-02  Bruno Haible  <bruno@clisp.org>
54902
54903         Mark 'raise' obsolete.
54904         * modules/raise (Status, Notice): New sections.
54905         (Include): Specify <signal.h>.
54906         * modules/stdio (Depends-on): Add raise.
54907         * modules/write (Depends-on): Likewise.
54908
54909 2008-11-02  Bruno Haible  <bruno@clisp.org>
54910
54911         Mark 'memset' obsolete.
54912         * modules/memset (Status, Notice): New sections.
54913
54914 2008-11-02  Bruno Haible  <bruno@clisp.org>
54915
54916         Mark 'memmove' obsolete.
54917         * modules/memmove (Status, Notice): New sections.
54918         * modules/argp (Depends-on): Add memmove.
54919         * modules/argz (Depends-on): Likewise.
54920         * modules/canonicalize (Depends-on): Likewise.
54921         * modules/canonicalize-lgpl (Depends-on): Likewise.
54922         * modules/fts (Depends-on): Likewise.
54923         * modules/getcwd (Depends-on): Likewise.
54924         * modules/human (Depends-on): Likewise.
54925         * modules/regex (Depends-on): Likewise.
54926         * modules/striconveh (Depends-on): Likewise.
54927         * modules/trim (Depends-on): Likewise.
54928         * modules/unistr/u8-move (Depends-on): Likewise.
54929         * modules/unistr/u16-move (Depends-on): Likewise.
54930         * modules/unistr/u32-move (Depends-on): Likewise.
54931
54932 2008-11-02  Bruno Haible  <bruno@clisp.org>
54933
54934         Mark 'memcpy' obsolete.
54935         * modules/memcpy (Status, Notice): New sections.
54936
54937 2008-11-02  Bruno Haible  <bruno@clisp.org>
54938
54939         Mark 'memcmp' obsolete.
54940         * modules/memcmp (Status, Notice): New sections.
54941         * modules/argmatch (Depends-on): Add memchr.
54942         * modules/backupfile (Depends-on): Likewise.
54943         * modules/c-strcasestr (Depends-on): Likewise.
54944         * modules/crypto/des (Depends-on): Likewise.
54945         * modules/csharpcomp (Depends-on): Likewise.
54946         * modules/fnmatch (Depends-on): Likewise.
54947         * modules/git-merge-changelog (Depends-on): Likewise.
54948         * modules/isnand (Depends-on): Likewise.
54949         * modules/isnand-nolibm (Depends-on): Likewise.
54950         * modules/isnanf (Depends-on): Likewise.
54951         * modules/isnanf-nolibm (Depends-on): Likewise.
54952         * modules/isnanl (Depends-on): Likewise.
54953         * modules/isnanl-nolibm (Depends-on): Likewise.
54954         * modules/mbchar (Depends-on): Likewise.
54955         * modules/memcoll (Depends-on): Likewise.
54956         * modules/quotearg (Depends-on): Likewise.
54957         * modules/regex (Depends-on): Likewise.
54958         * modules/relocatable-prog (Depends-on): Likewise.
54959         * modules/same (Depends-on): Likewise.
54960         * modules/signbit (Depends-on): Likewise.
54961         * modules/strcasestr-simple (Depends-on): Likewise.
54962         * modules/unictype/gen-ctype (Depends-on): Likewise.
54963         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54964         * modules/uniname/uniname (Depends-on): Likewise.
54965         * modules/unistr/u8-cmp (Depends-on): Likewise.
54966
54967 2008-11-02  Bruno Haible  <bruno@clisp.org>
54968
54969         Mark 'memchr' obsolete.
54970         * modules/memchr (Status, Notice): New sections.
54971         * modules/argp (Depends-on): Add memchr.
54972         * modules/base64 (Depends-on): Likewise.
54973         * modules/c-strcasestr (Depends-on): Likewise.
54974         * modules/chdir-long (Depends-on): Likewise.
54975         * modules/fnmatch (Depends-on): Likewise.
54976         * modules/getsubopt (Depends-on): Likewise.
54977         * modules/git-merge-changelog (Depends-on): Likewise.
54978         * modules/glob (Depends-on): Likewise.
54979         * modules/strcasestr-simple (Depends-on): Likewise.
54980         * modules/strnlen (Depends-on): Likewise.
54981
54982 2008-11-02  Bruno Haible  <bruno@clisp.org>
54983
54984         Mark 'atexit' obsolete.
54985         * modules/atexit (Status, Notice): New sections.
54986         * modules/chdir-long (Depends-on): Add atexit.
54987         * modules/wait-process (Depends-on): Likewise.
54988
54989 2008-11-02  Bruno Haible  <bruno@clisp.org>
54990
54991         * gnulib-tool: New option --with-obsolete.
54992         (func_usage): Document it.
54993         (func_modules_transitive_closure): Drop obsolete dependencies if
54994         incobsolete is not true.
54995         (func_import): Read and save the incobsolete variable to the cache.
54996
54997 2008-11-02  Bruno Haible  <bruno@clisp.org>
54998
54999         * modules/TEMPLATE-EXTENDED: New field 'Status'.
55000         * gnulib-tool: New option --extract-status.
55001         (func_usage): Document it.
55002         (sed_extract_prog): Recognize it.
55003         (func_get_status): New function.
55004
55005 2008-10-30  Simon Josefsson  <simon@josefsson.org>
55006
55007         * modules/sockets (License): Change from LGPL to LGPLv2+.
55008
55009 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55010
55011         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
55012
55013 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55014
55015         * MODULES.html.sh (Support for systems lacking POSIX:2001):
55016         Mention times and sys_times.
55017         * modules/sys_times, modules/sys_times-tests: New modules.
55018         * modules/times, modules/times-tests: Likewise
55019         * m4/sys_times_h.m4: New file.
55020         * lib/sys_times.in.h: Likewise
55021         * lib/times.c: Likewise.
55022         * tests/test-sys_times.c: Likewise.
55023         * tests/test-times.c: Likewise.
55024         * doc/posix-headers/sys_times.texi: Update.
55025         * doc/posix-functions/times.texi: Update.
55026
55027 2008-10-28  Jim Meyering  <meyering@redhat.com>
55028
55029         * modules/tempname (Depends-on): Add lstat.
55030
55031         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
55032
55033 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55034
55035         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
55036         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
55037         using idiom used elsewhere in gnulib.
55038
55039 2008-10-27  Jim Meyering  <meyering@redhat.com>
55040
55041         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
55042
55043 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55044
55045         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
55046         TESTS_ENVIRONMENT, for shell scripts that needs to call built
55047         programs.
55048         * tests/test-argp-2.sh: Use $EXEEXT when needed.
55049
55050 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55051
55052         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
55053
55054 2008-10-27  Bruno Haible  <bruno@clisp.org>
55055
55056         * tests/test-lstat.c: Include <stdio.h>.
55057
55058 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55059
55060         * modules/lstat-tests: New module.
55061         * tests/test-lstat.c: New file.
55062
55063 2008-10-26  Jim Meyering  <meyering@redhat.com>
55064
55065         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
55066
55067 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55068             Bruno Haible  <bruno@clisp.org>
55069
55070         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
55071         * modules/configmake (Include): Add a note that the include must come
55072         after all system headers.
55073         * lib/javaversion.c: Include configmake.h after all other includes.
55074
55075 2008-10-26  Bruno Haible  <bruno@clisp.org>
55076
55077         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
55078         HAVE_STRUCT_RANDOM_DATA to 1.
55079         (gl_STDLIB_H): Simplify.
55080
55081 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55082
55083         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
55084         substitute HAVE_STRUCT_RANDOM_DATA.
55085         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
55086         random_data.
55087         * modules/stdlib (Makefile.am): Substitute
55088         HAVE_STRUCT_RANDOM_DATA.
55089
55090 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55091
55092         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
55093         * doc/gnulib-intro.texi (Copyright): Likewise.
55094
55095 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55096
55097         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
55098         findings.
55099
55100 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
55101             Bruno Haible  <bruno@clisp.org>
55102
55103         * lib/unistd.in.h: Include <winsock2.h>.
55104         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
55105         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
55106         Provide dummy declarations.
55107         (gethostname): Override.
55108         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
55109         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
55110         gl_PREREQ_SYS_H_WINSOCK2.
55111         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
55112         * doc/posix-functions/gethostname.texi: More details.
55113
55114 2008-10-25  Bruno Haible  <bruno@clisp.org>
55115
55116         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55117         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
55118         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
55119
55120         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
55121         here ...
55122         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
55123         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
55124         gl_UNISTD_H_DEFAULTS.
55125
55126 2008-10-25  Eric Blake  <ebb9@byu.net>
55127
55128         signbit: avoid spurious compiler failure
55129         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
55130         declarations inside function.
55131
55132 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55133             Bruno Haible  <bruno@clisp.org>
55134
55135         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
55136         * modules/random_r (Depends-on): Add stdint.
55137
55138 2008-10-24  Bruno Haible  <bruno@clisp.org>
55139
55140         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
55141         Eggert.
55142         * modules/strerror (License): Likewise.
55143
55144 2008-10-24  Jim Meyering  <meyering@redhat.com>
55145
55146         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
55147         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
55148
55149 2008-10-24  Eric Blake  <ebb9@byu.net>
55150
55151         getgroups: fix compilation when getgroups is available
55152         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
55153         but with <config.h> override of getgroups disabled.
55154
55155 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55156
55157         * doc/gnulib.texi (Header files): Add note about C++ problems.
55158         Explained by Bruno Haible <bruno@clisp.org>.
55159
55160 2008-10-23  Bruno Haible  <bruno@clisp.org>
55161
55162         Define a dummy SA_NODEFER macro on Interix.
55163         * lib/signal.in.h (SA_NODEFER): Define fallback.
55164         Reported by Aleksey Cheusov <cheusov@tut.by> via
55165         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
55166
55167 2008-10-23  Bruno Haible  <bruno@clisp.org>
55168
55169         * modules/freadahead (License): Change to LGPLv2+.
55170         Suggested by Simon Josefsson.
55171
55172 2008-10-23  Jim Meyering  <meyering@redhat.com>
55173
55174         random_r: new module
55175         * modules/random_r: New file.
55176         * m4/random_r.m4: New file.
55177         * lib/random_r.c: New file, from glibc.
55178         * modules/random_r-tests: New file.
55179         * tests/test-random_r.c: New file.
55180         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
55181          Declare.
55182         (RAND_MAX): Define.
55183         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
55184         * modules/stdlib: Substitute them, too.
55185         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
55186         * doc/glibc-functions/initstate_r.texi: Mention the new module.
55187         * doc/glibc-functions/random_r.texi: Likewise.
55188         * doc/glibc-functions/setstate_r.texi: Likewise.
55189         * doc/glibc-functions/srandom_r.texi: Likewise.
55190         * config/srclist.txt: Mention it.
55191
55192 2008-10-23  David Lutterkort  <lutter@redhat.com>
55193
55194         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
55195         link requirement
55196
55197 2008-10-23  Jim Meyering  <meyering@redhat.com>
55198
55199         selinux-h: mark parameters of stub functions as intentionally unused
55200         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
55201         * lib/se-context.in.h: Likewise.
55202
55203 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55204
55205         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
55206
55207 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55208
55209         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
55210
55211 2008-10-22  Eric Blake  <ebb9@byu.net>
55212
55213         glthread/thread: avoid compiler warning
55214         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
55215         Add unreachable abort to silence compiler.
55216
55217 2008-10-22  Eric Blake  <ebb9@byu.net>
55218
55219         netdb: also supply struct addrinfo for cygwin 1.5.x
55220         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
55221         older cygwin.
55222         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
55223         cygwin.
55224         * doc/posix-headers/netdb.texi (netdb.h): Document this.
55225
55226 2008-10-22  Bruno Haible  <bruno@clisp.org>
55227
55228         * users.txt: Update entry about pspp.
55229
55230 2008-10-21  Bruno Haible  <bruno@clisp.org>
55231
55232         Simplification.
55233         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
55234         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
55235
55236         Simplification.
55237         * lib/ioctl.c (ioctl): Don't undefine.
55238         * lib/socket.c (socket): Don't undefine.
55239
55240         Remove unused module indicator macros.
55241         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
55242         GNULIB_$1 as a C macro.
55243
55244         * doc/posix-functions/close.texi: Undo last change.
55245         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
55246         Windows platforms.
55247
55248 2008-10-21  Bruno Haible  <bruno@clisp.org>
55249
55250         Add gethostname() declaration to <unistd.h>.
55251         * lib/unistd.in.h (gethostname): New declaration.
55252         * lib/gethostname.c: Include <unistd.h>.
55253         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
55254         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
55255         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
55256         and HAVE_GETHOSTNAME.
55257         * modules/gethostname (Depends-on): Add unistd.
55258         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55259         (Include): Specify <unistd.h>.
55260         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
55261         HAVE_GETHOSTNAME.
55262         * tests/test-gethostname.c: Include <unistd.h> first.
55263
55264 2008-10-21  Bruno Haible  <bruno@clisp.org>
55265
55266         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
55267         * modules/select-tests (Depends-on): Likewise.
55268         Reported by Simon Josefsson.
55269
55270 2008-10-21  Simon Josefsson  <simon@josefsson.org>
55271
55272         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
55273         * lib/accept.c: New file, based on winsock.c.
55274         * lib/bind.c: New file, based on winsock.c.
55275         * lib/connect.c: New file, based on winsock.c.
55276         * lib/getpeername.c: New file, based on winsock.c.
55277         * lib/getsockname.c: New file, based on winsock.c.
55278         * lib/getsockopt.c: New file, based on winsock.c.
55279         * lib/ioctl.c: New file, based on winsock.c.
55280         * lib/listen.c: New file, based on winsock.c.
55281         * lib/recv.c: New file, based on winsock.c.
55282         * lib/recvfrom.c: New file, based on winsock.c.
55283         * lib/send.c: New file, based on winsock.c.
55284         * lib/sendto.c: New file, based on winsock.c.
55285         * lib/setsockopt.c: New file, based on winsock.c.
55286         * lib/shutdown.c: New file, based on winsock.c.
55287         * lib/socket.c: New file, based on winsock.c.
55288         * lib/w32sock.h: New file, based on winsock.c.
55289         * lib/winsock.c: Remove file.
55290         * modules/accept: Likewise.
55291         * modules/bind: Likewise.
55292         * modules/connect: Likewise.
55293         * modules/getpeername: Likewise.
55294         * modules/getsockname: Likewise.
55295         * modules/getsockopt: Likewise.
55296         * modules/ioctl: Likewise.
55297         * modules/listen: Likewise.
55298         * modules/recv: Likewise.
55299         * modules/recvfrom: Likewise.
55300         * modules/send: Likewise.
55301         * modules/sendto: Likewise.
55302         * modules/setsockopt: Likewise.
55303         * modules/shutdown: Likewise.
55304         * modules/socket: Use socket.c instead of winsock.c.
55305         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
55306         * doc/posix-functions/accept.texi: Doc fix.
55307         * doc/posix-functions/bind.texi: Doc fix.
55308         * doc/posix-functions/close.texi: Doc fix.
55309         * doc/posix-functions/connect.texi: Doc fix.
55310         * doc/posix-functions/getpeername.texi: Doc fix.
55311         * doc/posix-functions/getsockname.texi: Doc fix.
55312         * doc/posix-functions/getsockopt.texi: Doc fix.
55313         * doc/posix-functions/ioctl.texi: Doc fix.
55314         * doc/posix-functions/listen.texi: Doc fix.
55315         * doc/posix-functions/recv.texi: Doc fix.
55316         * doc/posix-functions/recvfrom.texi: Doc fix.
55317         * doc/posix-functions/send.texi: Doc fix.
55318         * doc/posix-functions/sendto.texi: Doc fix.
55319         * doc/posix-functions/setsockopt.texi: Doc fix.
55320         * doc/posix-functions/shutdown.texi: Doc fix.
55321         * doc/posix-functions/socket.texi: Doc fix.
55322
55323 2008-10-20  Bruno Haible  <bruno@clisp.org>
55324
55325         Take into account the role of SIGABRT_COMPAT on Windows 2008.
55326         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
55327         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
55328         as an alias for SIGABRT.
55329         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
55330         (sigaction): Map it to SIGABRT.
55331         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
55332
55333 2008-10-20  Bruno Haible  <bruno@clisp.org>
55334
55335         * lib/fts.c: Don't include lstat.h.
55336         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
55337
55338         Move the lstat() declaration to <sys/stat.h>.
55339         * lib/lstat.h: Remove file.
55340         * lib/sys_stat.in.h: Add special invocation convention.
55341         (lstat): New declaration.
55342         * lib/lstat.c (orig_lstat): New function.
55343         (rpl_lstat): Use orig_lstat instead of lstat.
55344         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
55345         AC_C_INLINE. Set REPLACE_LSTAT.
55346         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
55347         and REPLACE_LSTAT.
55348         * modules/lstat (Files): Remove lib/lstat.h.
55349         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55350         (Include): Specify <sys/stat.h> instead of lstat.h.
55351         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
55352         REPLACE_LSTAT.
55353         * NEWS: Mention the change.
55354
55355 2008-10-20  Bruno Haible  <bruno@clisp.org>
55356
55357         * modules/posix_spawn-tests: New file.
55358         * tests/test-posix_spawn3.c: New file.
55359
55360 2008-10-20  Bruno Haible  <bruno@clisp.org>
55361
55362         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
55363         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55364         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
55365         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55366         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
55367
55368 2008-10-20  Bruno Haible  <bruno@clisp.org>
55369
55370         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
55371         of posix_spawn on AIX 5.3.
55372
55373 2008-10-20  Bruno Haible  <bruno@clisp.org>
55374
55375         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
55376
55377 2008-10-20  Bruno Haible  <bruno@clisp.org>
55378
55379         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
55380         of AC_LANG_PROGRAM.
55381
55382 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55383
55384         * lib/netdb.in.h: Don't define GNU specific constants until they
55385         are supported or needed.  Reported by Bruno Haible
55386         <bruno@clisp.org>.
55387
55388 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55389
55390         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
55391
55392 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55393
55394         * lib/getaddrinfo.h: Remove file.
55395         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
55396         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
55397         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
55398         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
55399         * modules/netdb: Substitute GNULIB_GETADDRINFO.
55400         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
55401         * tests/test-getaddrinfo.c: Likewise.
55402         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
55403         * NEWS: Mention change.
55404
55405 2008-10-19  Bruno Haible  <bruno@clisp.org>
55406
55407         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
55408
55409 2008-10-19  Bruno Haible  <bruno@clisp.org>
55410
55411         * lib/wait-process.c: Include simply <sys/wait.h>.
55412         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
55413         WIFSTOPPED): Remove fallback definitions.
55414         * modules/wait-process (Depends-on): Add sys_wait.
55415
55416         New module 'sys_wait'.
55417         * modules/sys_wait: New file.
55418         * lib/sys_wait.in.h: New file, partially copied from
55419         lib/wait-process.c.
55420         * m4/sys_wait_h.m4: New file.
55421         * doc/posix-headers/sys_wait.texi: Mention the new module.
55422
55423 2008-10-19  Bruno Haible  <bruno@clisp.org>
55424
55425         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
55426
55427 2008-10-19  Bruno Haible  <bruno@clisp.org>
55428
55429         Assume that waitpid() fills an 'int' status, not a 'union wait'.
55430         * lib/wait-process.c (WAIT_T): Remove type.
55431         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
55432         (wait_subprocess): Update.
55433
55434 2008-10-19  Bruno Haible  <bruno@clisp.org>
55435
55436         New module 'atoll'.
55437         * modules/atoll: New file.
55438         * lib/stdlib.in.h (atoll): New declaration.
55439         * lib/atoll.c: New file, from glibc with modifications.
55440         * m4/atoll.m4: New file.
55441         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
55442         HAVE_ATOLL.
55443         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
55444         * doc/posix-functions/atoll.texi: Mention the new module.
55445
55446 2008-10-19  Bruno Haible  <bruno@clisp.org>
55447
55448         Add strtoull() declaration to <stdlib.h>.
55449         * lib/stdlib.in.h (strtoull): New declaration.
55450         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55451         Set HAVE_STRTOULL.
55452         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
55453         HAVE_STRTOULL.
55454         * modules/strtoull (Depends-on): Add stdlib.
55455         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55456         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55457         HAVE_STRTOULL.
55458
55459 2008-10-19  Bruno Haible  <bruno@clisp.org>
55460
55461         Add strtoll() declaration to <stdlib.h>.
55462         * lib/stdlib.in.h (strtoll): New declaration.
55463         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55464         Set HAVE_STRTOLL.
55465         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55466         HAVE_STRTOLL.
55467         * modules/strtoll (Depends-on): Add stdlib.
55468         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55469         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55470
55471 2008-10-19  Bruno Haible  <bruno@clisp.org>
55472
55473         * modules/bcopy (Depends-on): Add strings.
55474         (Include): Specify <strings.h>.
55475
55476 2008-10-19  Bruno Haible  <bruno@clisp.org>
55477
55478         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55479
55480 2008-10-19  Bruno Haible  <bruno@clisp.org>
55481
55482         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55483         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55484         mingw.
55485
55486 2008-10-19  Bruno Haible  <bruno@clisp.org>
55487
55488         * lib/atanl.c: Don't include isnanl.h.
55489         * lib/cosl.c: Likewise.
55490         * lib/ldexpl.c: Likewise.
55491         * lib/logl.c: Likewise.
55492         * lib/sinl.c: Likewise.
55493         * lib/sqrtl.c: Likewise.
55494         * lib/tanl.c: Likewise.
55495
55496         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55497         * lib/isnanf.h: Remove file.
55498         * lib/isnand.h: Remove file.
55499         * lib/isnanl.h: Remove file.
55500         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55501         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55502         macros.
55503         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55504         HAVE_ISNANF, don't define it as a C macro.
55505         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55506         HAVE_ISNAND, don't define it as a C macro.
55507         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55508         HAVE_ISNANL, don't define it as a C macro.
55509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55510         HAVE_ISNAN[FDL].
55511         * modules/isnanf (Files): Remove lib/isnanf.h.
55512         (Depends-on): Add math.
55513         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55514         (Include): Specify <math.h> instead of isnanf.h.
55515         * modules/isnand (Files): Remove lib/isnand.h.
55516         (Depends-on): Add math.
55517         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55518         (Include): Specify <math.h> instead of isnand.h.
55519         * modules/isnanl (Files): Remove lib/isnanl.h.
55520         (Depends-on): Add math.
55521         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55522         (Include): Specify <math.h> instead of isnanl.h.
55523         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55524         HAVE_ISNAN[FDL].
55525         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55526         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55527         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55528         * NEWS: Mention the change.
55529
55530 2008-10-18  Bruno Haible  <bruno@clisp.org>
55531
55532         Add getusershell(), setusershell(), endusershell() declarations to
55533         <unistd.h>.
55534         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55535         declarations.
55536         * lib/getusershell.c: Include unistd.h.
55537         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55538         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55539         HAVE_GETUSERSHELL.
55540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55541         and HAVE_GETUSERSHELL.
55542         * modules/getusershell (Depends-on): Add unistd, extensions.
55543         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55544         (Include): Specify <unistd.h>.
55545         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55546         HAVE_GETUSERSHELL.
55547
55548 2008-10-18  Bruno Haible  <bruno@clisp.org>
55549
55550         Add a getloadavg() declaration to <stdlib.h>.
55551         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55552         getloadavg declaration.
55553         (getloadavg): New declaration.
55554         * lib/getloadavg.c: Include <stdlib.h> first.
55555         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55556         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55557         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55558         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55559         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55560         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55561         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55562         (Include): Specify <stdlib.h>.
55563         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55564         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55565
55566 2008-10-18  Bruno Haible  <bruno@clisp.org>
55567
55568         * lib/dirchownmod.c: Don't include lchmod.h.
55569
55570         Move the lchmod() declaration to <sys/stat.h>.
55571         * lib/lchmod.h: Remove file.
55572         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55573         (lchmod): New declaration, moved here from lib/lchown.h.
55574         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55575         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55576         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55577         and HAVE_LCHMOD.
55578         * modules/lchmod (Files): Remove lib/lchmod.h.
55579         (Depends-on): Add sys_stat, extensions.
55580         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55581         (Include): Specify <sys/stat.h> instead of lchmod.h.
55582         * modules/sys_stat (Depends-on): Add link-warning.
55583         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55584         definition of GL_LINK_WARNING.
55585         * NEWS: Mention the change.
55586
55587 2008-10-18  Bruno Haible  <bruno@clisp.org>
55588
55589         * lib/fchdir.c: Don't include dirfd.h.
55590         * lib/fts.c: Likewise.
55591         * lib/getcwd.c: Likewise.
55592         * lib/glob.c: Likewise.
55593
55594         Move the dirfd() declaration to <dirent.h>.
55595         * lib/dirfd.h: Remove file.
55596         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55597         (dirfd): New declaration.
55598         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55599         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55600         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55601         HAVE_DECL_DIRFD.
55602         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55603         HAVE_DECL_DIRFD.
55604         * modules/dirfd (Files): Remove lib/dirfd.h.
55605         (Depends-on): Add dirent, extensions.
55606         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55607         (Include): Specify <dirent.h> instead of dirfd.h.
55608         * modules/dirent (Depends-on): Add link-warning.
55609         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55610         definition of GL_LINK_WARNING.
55611         * NEWS: Mention the change.
55612
55613 2008-10-18  Bruno Haible  <bruno@clisp.org>
55614
55615         Move the euidaccess() declaration to <unistd.h>.
55616         * lib/euidaccess.h: Remove file.
55617         * lib/unistd.in.h (euidaccess): New declaration.
55618         * lib/euidaccess.c: Don't include euidaccess.h.
55619         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55620         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55622         and HAVE_EUIDACCESS.
55623         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55624         (Depends-on): Add unistd.
55625         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55626         (Include): Specify <unistd.h> instead of euidaccess.h.
55627         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55628         HAVE_EUIDACCESS.
55629         * NEWS: Mention the change.
55630
55631 2008-10-18  Bruno Haible  <bruno@clisp.org>
55632
55633         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55634
55635         Move the getdomainname() declaration to <unistd.h>.
55636         * lib/getdomainname.h: Remove file.
55637         * lib/unistd.in.h (getdomainname): New declaration.
55638         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55639         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55640         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55641         HAVE_GETDOMAINNAME.
55642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55643         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55644         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55645         (Depends-on): Add unistd, extensions.
55646         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55647         (Includes): Specify <unistd.h> instead of getdomainname.h.
55648         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55649         HAVE_GETDOMAINNAME.
55650         * NEWS: Mention the change.
55651
55652 2008-10-18  Bruno Haible  <bruno@clisp.org>
55653
55654         * modules/dirent: New file.
55655         * m4/dirent_h.m4: New file.
55656         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55657         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55658         * modules/fchdir (Files): Remove lib/dirent.in.h.
55659         (Depends-on): Add dirent.
55660         (Makefile.am): Move rules to modules/dirent.
55661         * doc/posix-headers/dirent.texi: Mention the new module.
55662
55663 2008-10-18  Bruno Haible  <bruno@clisp.org>
55664
55665         Avoid -Wunused-parameter warnings in public gnulib header files.
55666         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55667         macro.
55668         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55669
55670 2008-10-18  Bruno Haible  <bruno@clisp.org>
55671
55672         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55673         * doc/glibc-functions/error.texi: Mention the module 'error'.
55674         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55675         * doc/glibc-functions/getdomainname.texi: Mention the module
55676         'getdomainname'.
55677         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55678         * doc/glibc-functions/getpagesize.texi: Mention the module
55679         'getpagesize'.
55680         * doc/glibc-functions/getusershell.texi: Mention the module
55681         'getusershell'.
55682         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55683         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55684         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55685         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55686         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55687         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55688         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55689         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55690         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55691         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55692         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55693         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55694         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55695         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55696
55697 2008-10-17  Bruno Haible  <bruno@clisp.org>
55698
55699         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55700         HP-UX and IRIX, use -0.0L.
55701         * tests/test-ceill.c (minus_zero): Likewise.
55702         * tests/test-floorl.c (minus_zero): Likewise.
55703         * tests/test-frexpl.c (minus_zero): Likewise.
55704         * tests/test-isnan.c (minus_zerol): Likewise.
55705         * tests/test-isnanl.h (minus_zero): Likewise.
55706         * tests/test-ldexpl.c (minus_zero): Likewise.
55707         * tests/test-roundl.c (minus_zero): Likewise.
55708         * tests/test-signbit.c (minus_zerol): Likewise.
55709         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55710         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55711         * tests/test-truncl.c (minus_zero): Likewise.
55712         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55713         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55714         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55715         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55716
55717 2008-10-17  Bruno Haible  <bruno@clisp.org>
55718
55719         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55720         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55721         that it gets activated only for gcc >= 3.0.
55722         * lib/dirent.in.h: Likewise.
55723         * lib/errno.in.h: Likewise.
55724         * lib/fcntl.in.h: Likewise.
55725         * lib/float.in.h: Likewise.
55726         * lib/iconv.in.h: Likewise.
55727         * lib/inttypes.in.h: Likewise.
55728         * lib/locale.in.h: Likewise.
55729         * lib/math.in.h: Likewise.
55730         * lib/netdb.in.h: Likewise.
55731         * lib/netinet_in.in.h: Likewise.
55732         * lib/search.in.h: Likewise.
55733         * lib/signal.in.h: Likewise.
55734         * lib/spawn.in.h: Likewise.
55735         * lib/stdarg.in.h: Likewise.
55736         * lib/stdint.in.h: Likewise.
55737         * lib/stdio.in.h: Likewise.
55738         * lib/stdlib.in.h: Likewise.
55739         * lib/string.in.h: Likewise.
55740         * lib/strings.in.h: Likewise.
55741         * lib/sys_file.in.h: Likewise.
55742         * lib/sys_ioctl.in.h: Likewise.
55743         * lib/sys_select.in.h: Likewise.
55744         * lib/sys_socket.in.h: Likewise.
55745         * lib/sys_stat.in.h: Likewise.
55746         * lib/sys_time.in.h: Likewise.
55747         * lib/sysexits.in.h: Likewise.
55748         * lib/time.in.h: Likewise.
55749         * lib/unistd.in.h: Likewise.
55750         * lib/wchar.in.h: Likewise.
55751         * lib/wctype.in.h: Likewise.
55752         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55753
55754 2008-10-17  Jim Meyering  <meyering@redhat.com>
55755
55756         ignore-value: don't depend on inline module
55757         * modules/ignore-value (Depends-on): Remove 'inline'.
55758         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55759         Suggestion from Bruno Haible.
55760
55761 2008-10-17  Bruno Haible  <bruno@clisp.org>
55762
55763         New implementation of condition variables for Win32.
55764         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55765         (gl_linked_waitqueue_t): New type.
55766         (gl_cond_t): Use it.
55767         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55768         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55769         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55770         (glthread_cond_init_func, glthread_cond_wait_func,
55771         glthread_cond_timedwait_func, glthread_cond_signal_func,
55772         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55773         Reimplemented on the basis of gl_linked_waitqueue_t.
55774         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55775         gl_waitqueue_t.
55776         (gl_rwlock_t): Update.
55777         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55778
55779 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55780
55781         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55782         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55783
55784 2008-10-17  Jim Meyering  <meyering@redhat.com>
55785
55786         ignore-value: new module
55787         * modules/ignore-value: New file.
55788         * lib/ignore-value.h: New file.
55789         * MODULES.html.sh (Compiler warning management): New section,
55790         just for this module.  More to come.
55791
55792 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55793
55794         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55795         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55796         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55797
55798 2008-10-16  Jim Meyering  <meyering@redhat.com>
55799
55800         openat-die.c: avoid 'no previous prototype' warning
55801         * lib/openat-die.c: Include "openat.h".
55802         Reported by Reuben Thomas <rrt@sc3d.org>.
55803
55804 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55805
55806         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55807         * lib/netdb.in.h: Fix typo.
55808         Reported by Bruno Haible  <bruno@clisp.org>
55809
55810         * lib/netdb.in.h: Include sys/socket.h for platforms without
55811         netdb.h, to get structures like hostent on MinGW.
55812         * modules/netdb (Depends-on): Add sys_socket.
55813
55814 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55815
55816         * modules/netdb, modules/netdb-tests: New file.
55817         * m4/netdb_h.m4: New file.
55818         * lib/netdb.in.h: Add, currently just an empty file pending
55819         definitions.
55820         * tests/test-netdb.c: New file.
55821         * doc/posix-headers/netdb.texi: Mention that we replace it if
55822         needed.
55823         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55824         netdb.
55825
55826 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55827
55828         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55829         with code.
55830
55831 2008-10-13  Bruno Haible  <bruno@clisp.org>
55832
55833         * lib/glthread/cond.c (glthread_cond_wait_func,
55834         glthread_cond_timedwait_func): Add a comment.
55835
55836 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55837
55838         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55839         * tests/test-select.c: Likewise,
55840
55841 2008-10-13  Bruno Haible  <bruno@clisp.org>
55842
55843         * lib/glthread/cond.c (glthread_cond_wait_func,
55844         glthread_cond_timedwait_func): Fix variable name.
55845         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55846
55847 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55848
55849         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55850         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55851         struct sockaddr.sa_len.
55852         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55853
55854 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55855
55856         * build-aux/pmccabe2html: Add css and css_url parameters.
55857
55858 2008-10-12  Bruno Haible  <bruno@clisp.org>
55859
55860         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55861         calling aclx_get.
55862         Reported by Rainer Tammer <tammer@tammer.net>.
55863
55864 2008-10-12  Bruno Haible  <bruno@clisp.org>
55865
55866         Use msvcrt aware primitives for creation/termination of Win32 threads.
55867         * lib/glthread/thread.c: Include <process.h>.
55868         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55869         (wrapper_func): Update signature.
55870         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55871
55872 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55873             Bruno Haible  <bruno@clisp.org>
55874
55875         Provide a Win32 implementation of the 'cond' module.
55876         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55877         * lib/glthread/cond.c (glthread_cond_init_func,
55878         glthread_cond_wait_func, glthread_cond_timedwait_func,
55879         glthread_cond_signal_func, glthread_cond_broadcast_func,
55880         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55881         * modules/cond (Dependencies): Add gettimeofday.
55882
55883 2008-10-11  Bruno Haible  <bruno@clisp.org>
55884
55885         Make sleep work on older versions of mingw.
55886         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55887         only whether it exists.
55888         * doc/posix-functions/sleep.texi: Mention the problem with older
55889         versions of mingw.
55890
55891 2008-10-11  Bruno Haible  <bruno@clisp.org>
55892
55893         New module 'shutdown'.
55894         * modules/shutdown: New file.
55895         * lib/sys_socket.in.h (shutdown): New declaration.
55896         * lib/winsock.c (shutdown): New function.
55897         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55898         GNULIB_SHUTDOWN.
55899         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55900         * doc/posix-functions/shutdown.texi: Document the new module.
55901
55902 2008-10-11  Jim Meyering  <meyering@redhat.com>
55903
55904         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55905
55906 2008-10-11  Bruno Haible  <bruno@clisp.org>
55907
55908         New module 'fclose'.
55909         * modules/fclose: New file.
55910         * lib/stdio.in.h (fclose): New declaration.
55911         * lib/fclose.c: New file.
55912         * m4/fclose.m4: New file.
55913         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55914         REPLACE_FCLOSE.
55915         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55916         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55917         REPLACE_FCLOSE.
55918         * modules/close (Depends-on): fclose.
55919         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55920
55921 2008-10-11  Bruno Haible  <bruno@clisp.org>
55922
55923         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55924         set errno and don't call _close.
55925
55926 2008-10-10  Bruno Haible  <bruno@clisp.org>
55927
55928         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55929         ACL, not afterwards. Fixes test failure on Cygwin.
55930
55931 2008-10-09  Ben Pfaff  <blp@gnu.org>
55932
55933         * build-aux/announce-gen: Fix gnulib version related part of usage
55934         message.  Die with a useful error message if no tarballs are
55935         found.
55936
55937 2008-10-10  Jim Meyering  <meyering@redhat.com>
55938
55939         bootstrap: use git's --depth=N option only if it's supported
55940         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55941         recognize the --depth option.  Reported by Pádraig Brady.
55942
55943 2008-10-09  Bruno Haible  <bruno@clisp.org>
55944
55945         New module 'ioctl'.
55946         * modules/ioctl: New file.
55947         * lib/sys_socket.in.h (ioctl): Remove declaration.
55948         * lib/winsock.c: Include <sys/ioctl.h>.
55949         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55950         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55951         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55952         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55953         * doc/posix-functions/ioctl.texi: Mention the new module.
55954
55955 2008-10-09  Bruno Haible  <bruno@clisp.org>
55956
55957         New module 'sys_ioctl'.
55958         * lib/sys_ioctl.in.h: New file.
55959         * m4/sys_ioctl_h.m4: New file.
55960         * modules/sys_ioctl: New file.
55961         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55962
55963 2008-10-09  Bruno Haible  <bruno@clisp.org>
55964
55965         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55966         * lib/winsock.c: Include <stdarg.h>.
55967         (rpl_ioctl): Change to second argument 'int' and then varargs.
55968
55969 2008-10-09  Bruno Haible  <bruno@clisp.org>
55970
55971         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55972         when the sys_socket module is present and the system has <winsock2.h>.
55973
55974 2008-10-09  Bruno Haible  <bruno@clisp.org>
55975
55976         * doc/posix-functions/close.texi: Mention module 'close' instead of
55977         module 'sys_socket'.
55978
55979 2008-10-09  Bruno Haible  <bruno@clisp.org>
55980
55981         * doc/glibc-headers/sys_ioctl.texi: New file.
55982         * doc/gnulib.texi: Include it.
55983
55984 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55985             Bruno Haible  <bruno@clisp.org>
55986
55987         Combine the two replacements of 'close'.
55988         * lib/sys_socket.in.h (close): Define to a reminder to include
55989         <unistd.h>.
55990         (_gl_close_fd_maybe_socket): New declaration.
55991         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55992         * lib/winsock.c (close): Remove undefinition.
55993         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55994         needed for the gnulib module 'close'.
55995         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55996         define to an error symbol or to a warning, if suitable.
55997         * lib/close.c: Include <sys/socket.h>.
55998         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55999         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
56000         UNISTD_H_HAVE_WINSOCK2_H.
56001         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
56002         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56003         UNISTD_H_HAVE_WINSOCK2_H.
56004         * modules/sys_socket (Files): Add m4/unistd_h.m4.
56005         (configure.ac): Set a module indicator.
56006         (Makefile.am): Substitute GNULIB_CLOSE.
56007         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
56008         * modules/poll-tests (Depends-on): Add close.
56009         * modules/select-tests (Depends-on): Likewise.
56010
56011 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56012             Bruno Haible  <bruno@clisp.org>
56013
56014         New module 'close'.
56015         * modules/close: New file.
56016         * lib/unistd.in.h (close): Move declaration out of the
56017         FCHDIR_REPLACEMENT scope.
56018         (_gl_unregister_fd): New declaration.
56019         * lib/close.c: New file.
56020         * lib/fchdir.c (rpl_close): Remove function.
56021         * m4/close.m4: New file.
56022         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
56023         close.
56024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
56025         REPLACE_CLOSE.
56026         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
56027         REPLACE_CLOSE.
56028         * modules/fchdir (Depends-on): Add close.
56029
56030 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56031             Bruno Haible  <bruno@clisp.org>
56032
56033         * lib/fcntl.in.h (open): Simplify conditionals.
56034         (_gl_register_fd): New declaration.
56035         * lib/fchdir.c (rpl_open): Remove function.
56036         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
56037         also.
56038         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
56039         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
56040         open.
56041
56042 2008-10-09  Jim Meyering  <meyering@redhat.com>
56043
56044         GNUmakefile: use the more name-space-friendly "_version"
56045         * top/GNUmakefile (_dummy): Update.
56046         (_version): Rename from "version".
56047
56048 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56049             Bruno Haible  <bruno@clisp.org>
56050
56051         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
56052         rpl_close.
56053         (_gl_register_fd): New function, extracted from rpl_open.
56054         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
56055         (rpl_open, rpl_opendir): Use _gl_register_fd.
56056
56057 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56058
56059         Fix organization of 'open' replacement.
56060         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
56061         (gl_FUNC_OPEN): Use it.
56062         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
56063
56064 2008-10-08  Bruno Haible  <bruno@clisp.org>
56065
56066         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
56067
56068 2008-10-08  Simon Josefsson  <simon@josefsson.org>
56069
56070         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
56071         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
56072         listen).
56073
56074 2008-10-08  Eric Blake  <ebb9@byu.net>
56075
56076         GNUmakefile: add 'make version' target
56077         * top/GNUmakefile (_curr-ver): Split version update rules...
56078         (version): ...into a target.
56079
56080 2008-10-07  Bruno Haible  <bruno@clisp.org>
56081
56082         Use a more portable replacement expression for -0.0L.
56083         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
56084         instead of -0.0L. Fix m4 quotation.
56085
56086         * tests/test-signbit.c: Include <float.h>.
56087         (minus_zero): New variable.
56088         (test_signbitl): Use minus_zero instead of -zero.
56089         * modules/signbit-tests (Depends-on): Add float.
56090
56091         * tests/test-ceill.c: Include <float.h>.
56092         (zero): Remove variable.
56093         (minus_zero): New variable.
56094         (main): Use minus_zero instead of -zero.
56095         * modules/ceill-tests (Depends-on): Add float.
56096
56097         * tests/test-floorl.c: Include <float.h>.
56098         (zero): Remove variable.
56099         (minus_zero): New variable.
56100         (main): Use minus_zero instead of -zero.
56101         * modules/floorl-tests (Depends-on): Add float.
56102
56103         * tests/test-roundl.c: Include <float.h>.
56104         (zero): Remove variable.
56105         (minus_zero): New variable.
56106         (main): Use minus_zero instead of -zero.
56107         * modules/roundl-tests (Depends-on): Add float.
56108
56109         * tests/test-truncl.c: Include <float.h>.
56110         (zero): Remove variable.
56111         (minus_zero): New variable.
56112         (main): Use minus_zero instead of -zero.
56113         * modules/truncl-tests (Depends-on): Add float.
56114
56115         * tests/test-frexpl.c (zero): Remove variable.
56116         (minus_zero): New variable.
56117         (main): Use minus_zero instead of -zero.
56118         * modules/frexpl-tests (Depends-on): Add float.
56119
56120         * tests/test-isnan.c (zerol): Remove variable.
56121         (minus_zerol): New variable.
56122         (test_long_double): Use minus_zerol instead of -zerol.
56123         * modules/isnan-tests (Depends-on): Add float.
56124
56125         * tests/test-isnanl.h (zero): Remove variable.
56126         (minus_zero): New variable.
56127         (main): Use minus_zero instead of -zero.
56128         * modules/isnanl-nolibm-tests (Depends-on): Add float.
56129         * modules/isnanl-tests (Depends-on): Add float.
56130
56131         * tests/test-ldexpl.c (zero): Remove variable.
56132         (minus_zero): New variable.
56133         (main): Use minus_zero instead of -zero.
56134         * modules/ldexpl-tests (Depends-on): Add float.
56135
56136         * tests/test-snprintf-posix.h (zerol): Remove variable.
56137         (minus_zerol): New variable.
56138         (test_function): Use minus_zerol instead of -zerol.
56139         * modules/snprintf-posix-tests (Depends-on): Add float.
56140         * modules/vsnprintf-posix-tests (Depends-on): Add float.
56141
56142         * tests/test-sprintf-posix.h (zerol): Remove variable.
56143         (minus_zerol): New variable.
56144         (test_function): Use minus_zerol instead of -zerol.
56145         * modules/sprintf-posix-tests (Depends-on): Add float.
56146         * modules/vsprintf-posix-tests (Depends-on): Add float.
56147
56148         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
56149         (minus_zerol): New variable.
56150         (test_function): Use minus_zerol instead of -zerol.
56151         * modules/vasnprintf-posix-tests (Depends-on): Add float.
56152
56153         * tests/test-vasprintf-posix.c (zerol): Remove variable.
56154         (minus_zerol): New variable.
56155         (test_function): Use minus_zerol instead of -zerol.
56156         * modules/vasprintf-posix-tests (Depends-on): Add float.
56157
56158 2008-10-07  Simon Josefsson  <simon@josefsson.org>
56159
56160         * MODULES.html.sh (Support for building documentation): Mention
56161         pmccabe2html.  Sort entries.
56162
56163         Add pmccabe2html module, from gnupdf.
56164         * build-aux/pmccabe.css: New file.
56165         * build-aux/pmccabe2html: New file.
56166         * m4/pmccabe2html.m4: New file.
56167         * modules/pmccabe2html: New file.
56168
56169 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
56170
56171         flock: new module
56172         * MODULES.html.sh: Add to list of modules.
56173         * lib/flock.c: flock implementation for Windows and Unix systems
56174         which have fcntl.
56175         * doc/glibc-functions/flock.texi: Update documentation.
56176         * lib/sys_file.in.h: <sys/file.h> header file.
56177         * m4/flock.m4: M4 macros.
56178         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
56179         * modules/flock: flock module.
56180         * modules/flock-tests: flock tests module.
56181         * modules/sys_file: sys/file.h module.
56182         * tests/test-flock.c: test suite for flock.
56183
56184 2008-10-06  Jim Meyering  <meyering@redhat.com>
56185
56186         bootstrap: check for LT_INIT more portably still ;-)
56187         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
56188         Spotted by Bruno Haible.
56189
56190 2008-10-06  Eric Blake  <ebb9@byu.net>
56191
56192         test-signbit: avoid tripping Irix cc bug on -0.0L
56193         * tests/test-signbit.c (minus_zerol): Delete, and replace with
56194         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
56195         entire testsuite consistent and avoids an Irix 6.2 bug.
56196
56197 2008-10-05  Bruno Haible  <bruno@clisp.org>
56198             Jim Meyering  <jim@meyering.net>
56199
56200         Add an option for ignoring EPIPE during close_stdout.
56201         * lib/closeout.h: Include <stdbool.h>.
56202         (close_stdout_set_ignore_EPIPE): New declaration.
56203         * lib/closeout.c: Include <stdbool.h>.
56204         (ignore_EPIPE): New variable.
56205         (close_stdout_set_ignore_EPIPE): New function.
56206         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
56207         * lib/close-stream.c (close_stream): Mention the possible EPIPE
56208         failure.
56209         * modules/closeout (Depends-on): Add stdbool.
56210
56211 2008-10-05  Bruno Haible  <bruno@clisp.org>
56212
56213         * modules/accept: New file.
56214         * modules/bind: New file.
56215         * modules/connect: New file.
56216         * modules/getpeername: New file.
56217         * modules/getsockname: New file.
56218         * modules/getsockopt: New file.
56219         * modules/listen: New file.
56220         * modules/recv: New file.
56221         * modules/recvfrom: New file.
56222         * modules/send: New file.
56223         * modules/sendto: New file.
56224         * modules/setsockopt: New file.
56225         * modules/socket: New file.
56226         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
56227         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
56228         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
56229         the particular module is requested. Add a link warning when the
56230         particular module is not requested.
56231         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
56232         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
56233         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
56234         the particular module is requested.
56235         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
56236         gl_SYS_SOCKET_H_DEFAULTS): New macros.
56237         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
56238         * modules/sys_socket (Depends-on): Add link-warning.
56239         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
56240         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
56241         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
56242         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
56243         GL_LINK_WARNING.
56244         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
56245         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
56246         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
56247         * doc/posix-functions/getpeername.texi: Mention the new module
56248         'getpeername'.
56249         * doc/posix-functions/getsockname.texi: Mention the new module
56250         'getsockname'.
56251         * doc/posix-functions/getsockopt.texi: Mention the new module
56252         'getsockopt'.
56253         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
56254         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
56255         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
56256         * doc/posix-functions/send.texi: Mention the new module 'send'.
56257         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
56258         * doc/posix-functions/setsockopt.texi: Mention the new module
56259         'setsockopt'.
56260         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
56261         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
56262         listen, connect, accept.
56263         * modules/select-tests (Depends-on): Likewise.
56264
56265 2008-10-05  Bruno Haible  <bruno@clisp.org>
56266
56267         * lib/winsock.c (strerror): Remove unused #undef.
56268         (rpl_close): Remove unused local variable.
56269
56270         * modules/sys_socket (Depends-on); Add errno.
56271
56272 2008-10-05  Bruno Haible  <bruno@clisp.org>
56273
56274         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
56275         (select): Add a link warning when the 'select' module is not used.
56276         * modules/sys_select (Depends-on): Add link-warning.
56277         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
56278         Suggested by Paolo Bonzini.
56279
56280 2008-10-05  Jim Meyering  <meyering@redhat.com>
56281
56282         bootstrap: check for LT_INIT more portably
56283         * build-aux/bootstrap: Avoid using grep -E, since it's not
56284         portable enough.  Suggestion from Bruno Haible.
56285
56286 2008-10-05  Bruno Haible  <bruno@clisp.org>
56287
56288         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
56289         as being fixed by gnulib.
56290
56291 2008-10-05  Bruno Haible  <bruno@clisp.org>
56292
56293         * modules/select-tests: New file, mostly copied from
56294         modules/sys_select-tests.
56295         * tests/test-select.c: New file, mostly copied from
56296         tests/test-sys_select.c.
56297         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
56298         * modules/sys_select-tests (Depends-on): Remove all dependencies.
56299         (Makefile.am): Remove test_sys_select_LDADD.
56300
56301         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
56302         to an undefined symbol, for an error message.
56303         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
56304         (gl_SYS_SELECT_H_DEFAULTS): New macro.
56305         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
56306         winsock-select.c here.
56307         * modules/sys_select (Files): Remove lib/winsock-select.c.
56308         (Depends-on): Remove alloca.
56309         (Makefile.am): Substitute GNULIB_SELECT.
56310         * modules/select: New file.
56311         * doc/posix-functions/select.texi: Update.
56312
56313 2008-10-05  Bruno Haible  <bruno@clisp.org>
56314
56315         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
56316         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
56317         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
56318         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
56319         getdtablesize.
56320         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56321         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56322
56323 2008-10-05  Bruno Haible  <bruno@clisp.org>
56324
56325         * modules/getdtablesize-tests: New file.
56326         * tests/test-getdtablesize.c: New file.
56327
56328         New module 'getdtablesize'.
56329         * lib/unistd.in.h (getdtablesize): New declaration.
56330         * lib/getdtablesize.c: New file.
56331         * m4/getdtablesize.m4: New file.
56332         * modules/getdtablesize: New file.
56333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56334         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
56335         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
56336         HAVE_GETDTABLESIZE.
56337         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
56338
56339 2008-10-05  Bruno Haible  <bruno@clisp.org>
56340
56341         * modules/sched (Makefile.am): Fix typo.
56342         Reported by Simon Josefsson.
56343
56344 2008-10-05  Jim Meyering  <meyering@redhat.com>
56345
56346         bootstrap: check for LT_INIT, too
56347         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
56348         are deprecated.  Suggestion from Ralf Wildenhues.
56349
56350 2008-10-05  Bruno Haible  <bruno@clisp.org>
56351
56352         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
56353         overriding them by ours.
56354         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
56355
56356 2008-10-05  Jim Meyering  <meyering@redhat.com>
56357
56358         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
56359         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
56360         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
56361
56362 2008-10-04  Bruno Haible  <bruno@clisp.org>
56363
56364         * modules/dup2 (License): Change to LGPLv2+.
56365         * modules/sleep (License): Likewise.
56366         * modules/perror (License): Likewise.
56367         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
56368         Blake.
56369         * modules/signal (License): Likewise.
56370         * modules/sigprocmask (License): Likewise.
56371         * modules/raise (License): Change to LGPLv2+, with approval by Jim
56372         Meyering.
56373
56374 2008-10-04  Bruno Haible  <bruno@clisp.org>
56375
56376         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
56377         Reported by Rainer Tammer <tammer@tammer.net>.
56378
56379 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
56380             Bruno Haible  <bruno@clisp.org>
56381
56382         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
56383         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
56384         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
56385
56386 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
56387
56388         filevercmp: new module
56389         * lib/filevercmp.h: New function filevercmp comparing version strings.
56390         * lib/filevercmp.c: Implementation of filevercmp function.
56391         * modules/filevercmp: Module metadata.
56392         * tests/test-filevercmp.c: Unit test for new module.
56393         * modules/filevercmp-tests: Unit test metadata.
56394         * MODULES.html.sh: Add filevercmp module.
56395
56396 2008-10-03  Bruno Haible  <bruno@clisp.org>
56397
56398         * lib/c-ctype.h: Add comment.
56399         Reported by Jim Meyering.
56400
56401 2008-10-02  Bruno Haible  <bruno@clisp.org>
56402
56403         * modules/posix_spawn-internal (Depends-on): Add 'open'.
56404
56405 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56406
56407         * build-aux/bootstrap: Allow renaming bootstrap, and change the
56408         name of bootstrap.conf accordingly.
56409
56410 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56411
56412         * build-aux/bootstrap: Install git-merge-changelog configuration
56413         items into .gitconfig if needed.
56414
56415 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56416
56417         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
56418         git repository, and initialize/update it accordingly.
56419
56420 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
56421
56422         * modules/fsync-tests: New file.
56423         * tests/test-fsync.c: New file.
56424
56425         New module 'fsync'.
56426         * lib/fsync.c: New file.
56427         * m4/fsync.m4: New file.
56428         * modules/fsync: New file.
56429         * lib/unistd.in.h (fsync): New declaration.
56430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
56431         GNULIB_FSYNC and HAVE_FSYNC.
56432         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
56433         * MODULES.html.sh (posix_functions): Add fsync.
56434         * doc/posix-functions/fsync.texi: Mention the new module.
56435
56436 2008-10-02  Jim Meyering  <meyering@redhat.com>
56437
56438         fts.c: sync with similar code from coreutils' remove.c
56439         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
56440         Guard also with "#if defined __linux__", since for now at least,
56441         this code is Linux-kernel-specific.
56442
56443 2008-10-02  Jim Meyering  <meyering@redhat.com>
56444
56445         fts: bug fixes
56446         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
56447         Include <sys/vfs.h>, not <sys/statfs.h>.
56448
56449         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
56450         Include <sys/vfs.h>, not <sys/statfs.h>.
56451
56452 2008-10-01  Bruno Haible  <bruno@clisp.org>
56453
56454         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
56455         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56456         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56457         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56458         * doc/posix-functions/posix_spawnp.texi: Likewise.
56459         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56460         whether posix_spawn actually works.
56461         * m4/pipe.m4 (gl_PIPE): Likewise.
56462         * modules/execute (Files): Add m4/posix_spawn.m4.
56463         * modules/pipe (Files): Add m4/posix_spawn.m4.
56464         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56465
56466 2008-10-01  Jim Meyering  <meyering@redhat.com>
56467
56468         remove trailing spaces
56469         * NEWS: Likewise.
56470         * lib/poll.c (poll): Likewise.
56471         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56472         * lib/winsock.c (rpl_close): Likewise.
56473         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56474         * modules/yield: Likewise.
56475         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56476         * tests/test-sys_select.c (connect_to_socket): Likewise.
56477
56478         fts.c: adjust a new interface to be more generally useful
56479         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56480         (fts_build): Adjust caller.
56481
56482 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56483
56484         * modules/cond-tests: New file.
56485         * tests/test-cond.c: New file.
56486
56487 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56488             Bruno Haible  <bruno@clisp.org>
56489
56490         * modules/cond (Dependencies): Add errno, time.
56491         * lib/glthread/cond.h: Include <time.h>.
56492         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56493         across platforms.
56494
56495 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56496             Bruno Haible  <bruno@clisp.org>
56497
56498         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56499
56500 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56501             Bruno Haible  <bruno@clisp.org>
56502
56503         * modules/tls-tests (Depends-on): Add thread, yield.
56504         (configure.ac): Remove all checks.
56505         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56506         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56507         gl_thread_self): Remove definitions. Include glthread/thread.h and
56508         glthread/yield.h instead.
56509         (test_tls): Pass an additional NULL argument to gl_thread_join.
56510
56511 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56512             Bruno Haible  <bruno@clisp.org>
56513
56514         * modules/lock-tests (Depends-on): Add thread, yield.
56515         (configure.ac): Remove all checks.
56516         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56517         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56518         gl_thread_self): Remove definitions. Include glthread/thread.h and
56519         glthread/yield.h instead.
56520         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56521         additional NULL argument to gl_thread_join.
56522
56523 2008-09-30  Bruno Haible  <bruno@clisp.org>
56524
56525         Fix the Win32 implementation of the 'thread' module.
56526         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56527         pointer type.
56528         (gl_thread_self): Invoke gl_thread_self_func.
56529         (gl_thread_self_func): New declaration.
56530         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56531         (do_init_self_key, init_self_key): New functions.
56532         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56533         Remove some fields.
56534         (running_threads, running_lock): Remove variables.
56535         (get_current_thread_handle): New function.
56536         (gl_thread_self_func, wrapper_func, glthread_create_func,
56537         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56538         simplified.
56539
56540 2008-09-30  Bruno Haible  <bruno@clisp.org>
56541
56542         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56543         files.
56544
56545 2008-09-30  Jim Meyering  <meyering@redhat.com>
56546
56547         fts.m4: correct the test for statfs.f_type
56548         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56549         when checking for statfs.f_type.
56550
56551 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56552
56553         tests: avoid some compiler warnings
56554         * tests/test-memchr.c (main): Pass NULL indirectly.
56555         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56556
56557 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
56558
56559         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56560         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56561         exactly specified dayshifts.
56562         (dayshift): New rule.
56563         (rel): Add dayshift.
56564         (relative_time_table) [tomorrow, yesterday, today, now]:
56565         Use tDAY_SHIFT in place of tDAY_UNIT.
56566         * tests/test-getdate.c: Add tests for now-disallowed countable
56567         dayshifts, e.g., "4 yesterday ago".
56568
56569 2008-09-29  Bruno Haible  <bruno@clisp.org>
56570
56571         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56572         * tests/test-posix_spawn1.in.sh: Renamed from
56573         tests/test-posix_spawn.in.sh.
56574         * tests/test-posix_spawn2.c: New file.
56575         * tests/test-posix_spawn2.in.sh: New file.
56576         * modules/posix_spawnp-tests (Files): Update.
56577         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56578
56579 2008-09-29  Bruno Haible  <bruno@clisp.org>
56580
56581         Propagate effects of putenv/setenv/unsetenv to child processes.
56582         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56583         * lib/pipe.c (create_pipe): Likewise.
56584
56585 2008-09-29  Bruno Haible  <bruno@clisp.org>
56586
56587         Enable use of shell scripts as executables in mingw.
56588         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56589         run the program as a shell script.
56590         * lib/pipe.c (create_pipe): Likewise.
56591         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56592         resulting array.
56593
56594 2008-09-29  Eric Blake  <ebb9@byu.net>
56595
56596         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56597
56598 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56599
56600         * doc/posix-functions/accept.texi: Update mingw problems.
56601         * doc/posix-functions/bind.texi: Update mingw problems.
56602         * doc/posix-functions/close.texi: Update mingw problems.
56603         * doc/posix-functions/connect.texi: Update mingw problems.
56604         * doc/posix-functions/getpeername.texi: Update mingw problems.
56605         * doc/posix-functions/getsockname.texi: Update mingw problems.
56606         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56607         * doc/posix-functions/ioctl.texi: Update mingw problems.
56608         * doc/posix-functions/listen.texi: Update mingw problems.
56609         * doc/posix-functions/recv.texi: Update mingw problems.
56610         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56611         * doc/posix-functions/select.texi: Update mingw problems.
56612         * doc/posix-functions/send.texi: Update mingw problems.
56613         * doc/posix-functions/sendto.texi: Update mingw problems.
56614         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56615         * doc/posix-functions/socket.texi: Update mingw problems.
56616
56617 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56618             Bruno Haible  <bruno@clisp.org>
56619
56620         * lib/sys_select.in.h: Include sys/time.h.
56621         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56622         * modules/sys_select: Depend on sys_time.
56623         * tests/test-sys_select.c: Test that sys/select.h defines struct
56624         timeval fully.
56625
56626 2008-09-29  Bruno Haible  <bruno@clisp.org>
56627
56628         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56629         * lib/sys_select.in.h: Likewise.
56630
56631 2008-09-29  Bruno Haible  <bruno@clisp.org>
56632
56633         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56634
56635 2008-09-29  Bruno Haible  <bruno@clisp.org>
56636
56637         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56638         Set LIBSOCKET instead of augmenting LIBS.
56639         * modules/sockets (Link): New section.
56640         * modules/sockets-tests (test_sockets_LDADD): New variable.
56641         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56642         * modules/poll-tests (test_poll_LDADD): New variable.
56643         * NEWS: Document the change.
56644
56645 2008-09-29  Bruno Haible  <bruno@clisp.org>
56646
56647         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56648         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56649         ARPA_INET_H directly.
56650         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56651
56652 2008-09-28  Bruno Haible  <bruno@clisp.org>
56653
56654         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56655         from gl_HEADER_SYS_SOCKET.
56656         (gl_HEADER_SYS_SOCKET): Invoke it.
56657         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56658
56659 2008-09-28  Bruno Haible  <bruno@clisp.org>
56660
56661         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56662         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56663         Needed on OSF/1 4.0.
56664
56665 2008-09-28  Bruno Haible  <bruno@clisp.org>
56666
56667         Override open more carefully.
56668         * lib/open.c (orig_open): New function.
56669         (rpl_open): Use orig_open instead of open.
56670         * lib/fcntl.in.h: Add special invocation convention.
56671         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56672         (gl_FUNC_OPEN): Invoke it.
56673
56674         Override freopen more carefully.
56675         * lib/freopen.c (orig_freopen): New function.
56676         (rpl_freopen): Use orig_freopen instead of freopen.
56677         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56678         (gl_FUNC_FREOPEN): Invoke it.
56679
56680         Override fopen more carefully.
56681         * lib/fopen.c (orig_fopen): New function.
56682         (rpl_fopen): Use orig_fopen instead of fopen.
56683         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56684         (gl_FUNC_FOPEN): Invoke it.
56685         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56686
56687 2008-09-28  Bruno Haible  <bruno@clisp.org>
56688
56689         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56690         SIGPIPE.
56691
56692 2008-09-28  Bruno Haible  <bruno@clisp.org>
56693
56694         * tests/test-sigaction.c (handler, main): Disable the check whether
56695         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56696         glibc systems with LinuxThreads.
56697
56698 2008-09-28  Bruno Haible  <bruno@clisp.org>
56699
56700         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56701
56702         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56703         with AIX xlc.
56704         * lib/fcntl.in.h (open): Likewise.
56705         Reported by Rainer Tammer <tammer@tammer.net>.
56706
56707 2008-09-28  Bruno Haible  <bruno@clisp.org>
56708
56709         * modules/posix_spawnp-tests: New file.
56710         * tests/test-posix_spawn.c: New file.
56711         * tests/test-posix_spawn.in.sh: New file.
56712
56713         New module 'posix_spawnp'.
56714         * modules/posix_spawnp: New file.
56715         * lib/spawnp.c: New file, from GNU libc with modifications.
56716         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56717
56718         New module 'posix_spawn'.
56719         * modules/posix_spawn: New file.
56720         * lib/spawn.c: New file, from GNU libc with modifications.
56721         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56722
56723         New module 'posix_spawnattr_destroy'.
56724         * modules/posix_spawnattr_destroy: New file.
56725         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56726         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56727         module.
56728
56729         New module 'posix_spawnattr_setsigmask'.
56730         * modules/posix_spawnattr_setsigmask: New file.
56731         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56732         modifications.
56733         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56734         new module.
56735
56736         New module 'posix_spawnattr_getsigmask'.
56737         * modules/posix_spawnattr_getsigmask: New file.
56738         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56739         modifications.
56740         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56741         new module.
56742
56743         New module 'posix_spawnattr_setsigdefault'.
56744         * modules/posix_spawnattr_setsigdefault: New file.
56745         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56746         modifications.
56747         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56748         new module.
56749
56750         New module 'posix_spawnattr_getsigdefault'.
56751         * modules/posix_spawnattr_getsigdefault: New file.
56752         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56753         modifications.
56754         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56755         new module.
56756
56757         New module 'posix_spawnattr_setschedpolicy'.
56758         * modules/posix_spawnattr_setschedpolicy: New file.
56759         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56760         modifications.
56761         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56762         new module.
56763
56764         New module 'posix_spawnattr_getschedpolicy'.
56765         * modules/posix_spawnattr_getschedpolicy: New file.
56766         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56767         modifications.
56768         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56769         new module.
56770
56771         New module 'posix_spawnattr_setschedparam'.
56772         * modules/posix_spawnattr_setschedparam: New file.
56773         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56774         modifications.
56775         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56776         new module.
56777
56778         New module 'posix_spawnattr_getschedparam'.
56779         * modules/posix_spawnattr_getschedparam: New file.
56780         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56781         modifications.
56782         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56783         new module.
56784
56785         New module 'posix_spawnattr_setpgroup'.
56786         * modules/posix_spawnattr_setpgroup: New file.
56787         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56788         modifications.
56789         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56790         module.
56791
56792         New module 'posix_spawnattr_getpgroup'.
56793         * modules/posix_spawnattr_getpgroup: New file.
56794         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56795         modifications.
56796         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56797         module.
56798
56799         New module 'posix_spawnattr_setflags'.
56800         * modules/posix_spawnattr_setflags: New file.
56801         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56802         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56803         module.
56804
56805         New module 'posix_spawnattr_getflags'.
56806         * modules/posix_spawnattr_getflags: New file.
56807         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56808         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56809         module.
56810
56811         New module 'posix_spawnattr_init'.
56812         * modules/posix_spawnattr_init: New file.
56813         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56814         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56815         module.
56816
56817         New module 'posix_spawn_file_actions_destroy'.
56818         * modules/posix_spawn_file_actions_destroy: New file.
56819         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56820         modifications.
56821         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56822         the new module.
56823
56824         New module 'posix_spawn_file_actions_addopen'.
56825         * modules/posix_spawn_file_actions_addopen: New file.
56826         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56827         modifications.
56828         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56829         the new module.
56830
56831         New module 'posix_spawn_file_actions_adddup2'.
56832         * modules/posix_spawn_file_actions_adddup2: New file.
56833         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56834         modifications.
56835         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56836         the new module.
56837
56838         New module 'posix_spawn_file_actions_addclose'.
56839         * modules/posix_spawn_file_actions_addclose: New file.
56840         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56841         modifications.
56842         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56843         the new module.
56844
56845         New module 'posix_spawn_file_actions_init'.
56846         * modules/posix_spawn_file_actions_init: New file.
56847         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56848         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56849         new module.
56850
56851         New module 'posix_spawn-internal'.
56852         * modules/posix_spawn-internal: New file.
56853         * lib/spawn_int.h: New file, from GNU libc with modifications.
56854         * lib/spawni.c: New file, from GNU libc with modifications.
56855         * m4/posix_spawn.m4: New file.
56856
56857         New module 'spawn'.
56858         * modules/spawn: New file.
56859         * lib/spawn.in.h: New file, from GNU libc with modifications.
56860         * m4/spawn_h.m4: New file.
56861         * doc/posix-headers/spawn.texi: Mention the new module.
56862
56863 2008-09-28  Bruno Haible  <bruno@clisp.org>
56864
56865         * modules/sched-tests: New file.
56866         * tests/test-sched.c: New file.
56867
56868         New module 'sched'.
56869         * modules/sched: New file.
56870         * lib/sched.in.h: New file.
56871         * m4/sched_h.m4: New file.
56872         * doc/posix-headers/sched.texi: Mention the new module.
56873
56874 2008-09-27  Eric Blake  <ebb9@byu.net>
56875
56876         Fix previous patch, and tweak references to $0.
56877         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56878         (func_version, func_gnulib_dir): Don't call this program
56879         gnulib-tool.
56880         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56881         with using $0 in function.
56882         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56883         (func_fatal_error): Reuse the name the user invoked us with.
56884
56885 2008-09-27  Bruno Haible  <bruno@clisp.org>
56886
56887         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56888         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56889         (gl_ICONV_H): Not here.
56890         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56891         instead of assigning ICONV_H directly.
56892
56893         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56894         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56895         WCHAR_H directly.
56896
56897 2008-09-27  Bruno Haible  <bruno@clisp.org>
56898
56899         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56900         * modules/arpa_inet (Depends-on): Add link-warning.
56901         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56902         * modules/unistd (Makefile.am): Likewise.
56903
56904 2008-09-26  Bruno Haible  <bruno@clisp.org>
56905
56906         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56907         variables.
56908         (func_version): Essentially copied from gnulib-tool.
56909         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56910         func_readlink): Copied from gnulib-tool.
56911
56912 2008-09-26  Bruno Haible  <bruno@clisp.org>
56913
56914         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56915         invoking git-version-gen.
56916
56917 2008-09-26  Bruno Haible  <bruno@clisp.org>
56918
56919         * posix-modules: Update to directory names changed on 2008-01-19.
56920         Remove commas in output before splitting into words. No more need to
56921         avoid 'ftruncate' since 2007-02-19.
56922
56923 2008-09-26  Bruno Haible  <bruno@clisp.org>
56924
56925         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56926
56927 2008-09-26  Bruno Haible  <bruno@clisp.org>
56928
56929         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56930         * modules/fwriteerror (Depends-on): Add errno.
56931
56932 2008-09-26  Bruno Haible  <bruno@clisp.org>
56933
56934         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56935         * tests/test-vc-list-files-cvs.sh: Likewise.
56936
56937 2008-09-26  Bruno Haible  <bruno@clisp.org>
56938
56939         * doc/posix-headers/sys_resource.texi: Reorder items.
56940
56941 2008-09-26  Jim Meyering  <meyering@redhat.com>
56942
56943         fts: tweak inode comparison function
56944         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56945         inode numbers, as documented.
56946
56947         fts: sort dirent entries on inode number before traversing
56948         This avoids a quadratic, seek-related performance penalty when
56949         operating on a directory containing many entries (measurable at 10k;
56950         3.5 hours at 2 million entries with a cold cache) on certain types
56951         of file systems, including ext3 and ext4, but not tmpfs.
56952         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56953         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56954         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56955         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56956         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56957         (fts_build): Set the stat.st_ino member from D_INO.
56958         If it is likely to be useful, sort dirent entries on inode number.
56959
56960         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56961         and the struct statfs.f_type member.
56962         * modules/fts (Depends-on): Add d-ino.
56963
56964 2008-09-26  Bruno Haible  <bruno@clisp.org>
56965
56966         * modules/sigpipe-die (Depends-on): Add sigpipe.
56967
56968         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56969         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56970         and GNULIB_STDIO_H_SIGPIPE are set.
56971         * lib/stdio-write.c: New file.
56972         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56973         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56974         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56975         REPLACE_STDIO_WRITE_FUNCS.
56976         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56977         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56978         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56979         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56980         * modules/stdio (Files): Add lib/stdio-write.c.
56981         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56982         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56983         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56984         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56985         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56986         REPLACE_FPRINTF_POSIX.
56987         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56988         REPLACE_PRINTF_POSIX.
56989         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56990         REPLACE_VFPRINTF_POSIX.
56991         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56992         REPLACE_VPRINTF_POSIX.
56993         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56994         SIGPIPE issue.
56995         * doc/posix-functions/fputc.texi: Likewise.
56996         * doc/posix-functions/fputs.texi: Likewise.
56997         * doc/posix-functions/fwrite.texi: Likewise.
56998         * doc/posix-functions/printf.texi: Likewise.
56999         * doc/posix-functions/putc.texi: Likewise.
57000         * doc/posix-functions/putchar.texi: Likewise.
57001         * doc/posix-functions/puts.texi: Likewise.
57002         * doc/posix-functions/vfprintf.texi: Likewise.
57003         * doc/posix-functions/vprintf.texi: Likewise.
57004
57005         * modules/safe-write (Depends-on): Add write.
57006
57007         * modules/sigpipe-tests: New file.
57008         * tests/test-sigpipe.c: New file.
57009         * tests/test-sigpipe.sh: New file.
57010
57011         * modules/write: New file.
57012         * lib/unistd.in.h: Include <sys/types.h>.
57013         (write): New declaration.
57014         * lib/write.c: New file.
57015         * m4/write.m4: New file.
57016         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57017         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
57018         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
57019         GNULIB_WRITE, REPLACE_WRITE.
57020         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
57021         and the SIGPIPE issue.
57022
57023         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
57024         (raise): New declaration.
57025         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
57026         (ext_signal): New function.
57027         (rpl_raise): New function.
57028         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
57029         GNULIB_SIGNAL_H_SIGPIPE.
57030         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
57031         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
57032
57033         * modules/sigpipe: New file.
57034         * m4/sigpipe.m4: New file.
57035
57036 2008-09-25  Derek Price  <derek@ximbiot.com>
57037             Bruno Haible  <bruno@clisp.org>
57038
57039         * gnulib-tool (func_import): Report all license incompatibilities, not
57040         just the first one.
57041
57042 2008-09-25  Bruno Haible  <bruno@clisp.org>
57043
57044         * gnulib-tool (func_import): When computing the edits, consider not
57045         only the Makefile.ams that exist but also those that will be generated.
57046
57047 2008-09-25  Simon Josefsson  <simon@josefsson.org>
57048
57049         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
57050         fixes gnulib-tool --test warning about duplicate dependency.
57051
57052 2008-09-25  Bruno Haible  <bruno@clisp.org>
57053
57054         * gnulib-tool: Don't ask the user to perform edits in the generated
57055         Makefile.ams.
57056         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
57057         apply to the Makefile.am being generated.
57058         (func_emit_tests_Makefile_am): Execute edits that apply to the
57059         Makefile.am being generated.
57060         (func_import): Setup list of Makefile.am edits before emitting the
57061         Makefile.ams, not at the end.
57062         (func_create_testdir): Update.
57063         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57064
57065 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57066
57067         * gnulib-tool (func_import): Store the --tests-base option in the
57068         comment in gnulib-cache.m4.
57069
57070 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
57071
57072         * NEWS: Document increased portability that sys_select now provides.
57073
57074         * lib/sys_select.in.h: Install select wrapper.
57075         * lib/sys_socket.in.h: Use more descriptive name when there is no
57076         select wrapper.
57077         * lib/winsock-select.c: New.
57078         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
57079         Require gl_HEADER_SYS_SOCKET.
57080         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
57081         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
57082         * tests/test-sys_select.c: Add functional tests.
57083
57084 2008-09-24  Eric Blake  <ebb9@byu.net>
57085
57086         open, fopen: close fd leak in last patch
57087         * lib/open.c (rpl_open): Close fd before returning error.
57088         * lib/fopen.c (rpl_fopen): Close fd before returning error.
57089         * doc/posix-functions/open.texi (open): Document that Irix also
57090         has the bug.
57091         * doc/posix-functions/fopen.texi (fopen): Likewise.
57092         Reported by Paolo Bonzini.
57093
57094 2008-09-24  Bruno Haible  <bruno@clisp.org>
57095
57096         Ensure that a filename ending in a slash cannot be used to access a
57097         non-directory.
57098         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
57099         to check whether it's really a directory.
57100         * lib/fopen.c: Include fcntl.h, unistd.h.
57101         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
57102         and fdopen().
57103         * modules/fopen (Depends-on): Add unistd.
57104         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
57105         * tests/test-fopen.c (main): Likewise.
57106         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
57107         * doc/posix-functions/fopen.texi: Likewise.
57108         Reported by Eric Blake.
57109
57110 2008-09-23  Eric Blake  <ebb9@byu.net>
57111
57112         c-stack: avoid compiler optimizations when provoking overflow
57113         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
57114         recursion harder to optimize, to ensure a stack overflow occurs.
57115         * tests/test-c-stack.c (recurse): Likewise.
57116         Borrowed from libsigsegv.
57117
57118         c-stack: work around Irix sigaltstack bug
57119         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
57120         whether sigaltstack uses wrong end of stack_t (copied in part from
57121         libsigsegv).
57122         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
57123         Irix bug, without requiring an over-allocation.
57124         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
57125         bug.
57126
57127         fopen: document mingw bug on directories
57128         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
57129         not allowing a stream visiting a directory, even though reading
57130         from such a stream is not portable.
57131
57132 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57133
57134         * lib/poll.c: Rewrite.
57135         * modules/poll: Depend on alloca.
57136
57137 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57138
57139         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
57140         instead define prototypes for a full set of wrappers.  Ensure
57141         that Cygwin does not use the compatibility code, which is only
57142         for MinGW.
57143         * lib/winsock.c: New.
57144         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
57145         * modules/sys_socket: Add lib/winsock.c.
57146
57147         * modules/poll-tests: Add errno and perror.
57148         * tests/test-poll.c: Use ioctl, not ioctlsocket.
57149
57150 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57151
57152         * tests/test-poll.c: Downgrade minimum needed Winsock version.
57153
57154 2008-09-23  Bruno Haible  <bruno@clisp.org>
57155
57156         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
57157         * doc/glibc-functions/*: Likewise.
57158
57159 2008-09-23  Simon Josefsson  <simon@josefsson.org>
57160
57161         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
57162         success.
57163
57164 2008-09-22  Eric Blake  <ebb9@byu.net>
57165             Bruno Haible  <bruno@clisp.org>
57166
57167         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
57168         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
57169         supply %A but mishandle pseudo-NaN.
57170         Reported by Simon Josefsson.
57171
57172 2008-09-21  Bruno Haible  <bruno@clisp.org>
57173
57174         * tests/test-lock.c (main): Tweak skip message.
57175         * tests/test-tls.c (main): Likewise.
57176
57177 2008-09-21  Bruno Haible  <bruno@clisp.org>
57178
57179         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
57180         whether 'struct sigaction' has sa_sigaction here...
57181         (gl_PREREQ_SIG_HANDLER_H): ... not here.
57182         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
57183
57184 2008-09-21  Bruno Haible  <bruno@clisp.org>
57185
57186         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
57187         section.
57188         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
57189         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
57190         the new section.
57191         (Support for obsolete systems lacking POSIX:2001): New section.
57192         (String handling <string.h>): Move strdup to the new section.
57193         Suggested by Simon Josefsson and Paolo Bonzini.
57194
57195 2008-09-21  Bruno Haible  <bruno@clisp.org>
57196
57197         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
57198         exponents in %e and %g results on 'long double'. Needed for mingw's
57199         improved *printf functions.
57200         * tests/test-vasprintf-posix.c (test_function): Likewise.
57201         * tests/test-snprintf-posix.h (test_function): Likewise.
57202         * tests/test-sprintf-posix.h (test_function): Likewise.
57203         Reported by Eric Blake.
57204
57205 2008-09-21  Bruno Haible  <bruno@clisp.org>
57206
57207         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
57208         * tests/test-sprintf-posix.h (test_function): Likewise.
57209
57210 2008-09-21  Bruno Haible  <bruno@clisp.org>
57211
57212         * modules/getpass (Depends-on): Add strdup-posix.
57213
57214         New module 'strdup-posix'.
57215         * modules/strdup-posix: New file.
57216         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
57217         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
57218         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57219         REPLACE_STRDUP.
57220         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
57221         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
57222         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57223         strdup-posix.
57224
57225         * modules/strdup (Depends-on): Remove malloc-posix.
57226
57227 2008-09-20  Bruno Haible  <bruno@clisp.org>
57228
57229         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
57230         Wildenhues.
57231
57232 2008-09-20  Bruno Haible  <bruno@clisp.org>
57233
57234         Ensure that wint_t gets defined on IRIX 5.3.
57235         * lib/wchar.in.h (wint_t): Define if not defined by the system.
57236         * lib/wctype.in.h (wint_t): Likewise.
57237         (__wctype_wint_t): Remove type.
57238         (isw*): Use wint_t instead of __wctype_wint_t.
57239         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
57240         * modules/wchar (Files): Add m4/wint_t.m4.
57241         (Makefile.am): Substitute HAVE_WINT_T.
57242         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
57243         * tests/test-wctype.c: Check that wint_t is defined.
57244         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
57245         * doc/posix-headers/wctype.texi: Likewise.
57246         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57247
57248 2008-09-18  Bruno Haible  <bruno@clisp.org>
57249
57250         * gnulib-tool (func_exit): Update comment.
57251
57252 2008-09-18  Simon Josefsson  <simon@josefsson.org>
57253
57254         * modules/getaddrinfo (Depends-on): Remove strdup, this module
57255         assumes strdup exists and does not depend on strdup to return
57256         ENOMEM on out of memory conditions.
57257
57258 2008-09-18  Bruno Haible  <bruno@clisp.org>
57259
57260         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
57261         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
57262         digits for the exponent.
57263
57264 2008-09-18  Jim Meyering  <meyering@redhat.com>
57265             Bruno Haible  <bruno@clisp.org>
57266
57267         * lib/vasnprintf.c (decimal_point_char): Define also if
57268         NEED_PRINTF_INFINITE_LONG_DOUBLE.
57269
57270 2008-09-16  Bruno Haible  <bruno@clisp.org>
57271         and Eric Blake  <ebb9@byu.net>
57272
57273         vasnprintf: support Irix 5.3
57274         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
57275         that mishandle long double infinity.
57276         Reported by Tom G. Christensen.
57277
57278 2008-09-16  Bruno Haible  <bruno@clisp.org>
57279
57280         * doc/glibc-functions/scandir.texi: Mention the function is missing on
57281         Solaris 9.
57282         * doc/glibc-functions/alphasort.texi: Likewise.
57283         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
57284
57285 2008-09-16  Jim Meyering  <meyering@redhat.com>
57286
57287         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
57288         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
57289         a umask modification leak out of a subshell.  Otherwise, the
57290         opensolaris /bin/sh would be accepted and thus cause unwarranted
57291         failures in the coreutils test suite.
57292
57293 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
57294
57295         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
57296         to succeed.
57297
57298 2008-09-16  Jim Meyering  <meyering@redhat.com>
57299
57300         avoid spurious test failure when library is built without ACL support
57301         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
57302         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
57303         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
57304         * tests/test-copy-acl.sh: Likewise.
57305
57306 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57307
57308         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
57309         based on character occurrence counts.
57310
57311 2008-09-15  Eric Blake  <ebb9@byu.net>
57312
57313         tests: avoid some compiler warnings
57314         * tests/test-memchr.c (main): Pass NULL indirectly.
57315         * tests/test-closein.c (main): Avoid unused variable.
57316
57317 2008-09-15  Bruno Haible  <bruno@clisp.org>
57318
57319         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
57320         are missing on OpenBSD 4.0 individually.
57321         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57322
57323 2008-09-15  Bruno Haible  <bruno@clisp.org>
57324
57325         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
57326         * doc/posix-functions/strerror.texi: Mention also Cygwin.
57327         * doc/posix-functions/perror.texi: Likewise.
57328         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
57329         is missing.
57330         Reported by Eric Blake.
57331
57332         * lib/errno.in.h: Use replacement values >= 2000.
57333         Reported by Eric Blake.
57334
57335 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57336
57337         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
57338         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
57339         limit.
57340         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
57341         compareseq was aborted.
57342
57343 2008-09-14  Bruno Haible  <bruno@clisp.org>
57344
57345         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
57346         yvec_edit_count.
57347         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
57348         (fstrcmp_bounded): Simplify result computation accordingly.
57349
57350 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57351
57352         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
57353         (fstrcmp): Define in terms of fstrcmp_bounded.
57354         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
57355         lower_bound argument.
57356         Return quickly if the result is certainly < lower_bound.
57357         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
57358
57359 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57360
57361         * lib/diffseq.h (EARLY_ABORT): New macro.
57362         (compareseq): Change return type to bool. Return true when EARLY_ABORT
57363         evaluates to true.
57364
57365 2008-09-14  Bruno Haible  <bruno@clisp.org>
57366
57367         * modules/perror-tests: New file.
57368         * tests/test-perror.sh: New file.
57369         * tests/test-perror.c: New file.
57370
57371         New module 'perror'.
57372         * lib/stdio.in.h (perror): New declaration.
57373         * lib/perror.c: New file.
57374         * m4/perror.m4: New file.
57375         * modules/perror: New file.
57376         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
57377         * doc/posix-functions/perror.texi: Mention the perror module.
57378         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
57379         REPLACE_PERROR.
57380         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
57381         REPLACE_PERROR.
57382
57383 2008-09-14  Bruno Haible  <bruno@clisp.org>
57384
57385         * modules/stdio (Makefile.am): Reorder to match the order in
57386         lib/stdio.in.h.
57387         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57388
57389 2008-09-13  Bruno Haible  <bruno@clisp.org>
57390
57391         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
57392
57393 2008-09-13  Bruno Haible  <bruno@clisp.org>
57394
57395         Extend strerror to cover the added errno values.
57396         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
57397         (rpl_strerror): Provide error messages for the added errno values and
57398         for the WSA* values.
57399         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
57400         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
57401         strerror.
57402         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
57403         * modules/strerror (Depends-on): Add errno.
57404         * doc/posix-functions/strerror.texi: Document the change.
57405         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
57406         and EOVERFLOW.
57407
57408 2008-09-13  Bruno Haible  <bruno@clisp.org>
57409
57410         * modules/EOVERFLOW: Remove file.
57411         * m4/eoverflow.m4: Remove file.
57412         * modules/EOVERFLOW-tests: Remove file.
57413         * tests/test-EOVERFLOW.c: Remove file.
57414         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
57415         * modules/ftell (Depends-on): Likewise.
57416         * modules/getdelim (Depends-on): Likewise.
57417         * modules/getugroups (Depends-on): Likewise.
57418         * modules/poll (Depends-on): Likewise.
57419         * modules/snprintf (Depends-on): Likewise.
57420         * modules/sprintf-posix (Depends-on): Likewise.
57421         * modules/vasnprintf (Depends-on): Likewise.
57422         * modules/vasprintf (Depends-on): Likewise.
57423         * modules/vfprintf-posix (Depends-on): Likewise.
57424         * modules/vsnprintf (Depends-on): Likewise.
57425         * modules/vsprintf-posix (Depends-on): Likewise.
57426         * modules/xvasprintf (Depends-on): Likewise.
57427         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57428         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
57429         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
57430         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
57431         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57432         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
57433         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
57434         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
57435         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57436         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
57437         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
57438         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
57439         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57440         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
57441         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
57442         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
57443         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57444         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
57445         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
57446         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
57447         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57448         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
57449         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
57450         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
57451         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
57452         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57453         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
57454         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
57455         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57456         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57457         * MODULES.html.sh: Remove EOVERFLOW.
57458         * NEWS: Mention the change.
57459
57460 2008-09-13  Bruno Haible  <bruno@clisp.org>
57461
57462         * modules/errno-tests: New file.
57463         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57464
57465         * lib/errno.in.h: New file.
57466         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57467         * modules/errno: New file.
57468         * doc/posix-headers/errno.texi: Update documentation.
57469         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57470
57471 2008-09-13  Bruno Haible  <bruno@clisp.org>
57472
57473         * tests/test-poll.c: Use #if for native Windows, rather than testing
57474         __MSVCRT__.
57475
57476 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57477             Bruno Haible  <bruno@clisp.org>
57478
57479         * lib/glob.c: Don't include <pwd.h> on native Windows.
57480         (WINDOWS32): New macro.
57481         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57482
57483 2008-09-13  Bruno Haible  <bruno@clisp.org>
57484
57485         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57486         (ETIMEDOUT): Remove macro.
57487         (glthread_cond_timedwait_multithreaded): New declaration.
57488         (glthread_cond_timedwait): Use it.
57489         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57490         (glthread_cond_timedwait_multithreaded): New function.
57491
57492 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57493
57494         * modules/poll-tests: Do not check for io.h.
57495         * tests/test-poll.c: Check for __MSVCRT__ instead.
57496
57497 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57498
57499         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57500         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57501         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57502
57503 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57504
57505         * modules/poll-tests: New.
57506         * tests/test-poll.c: New.
57507
57508 2008-09-12  Eric Blake  <ebb9@byu.net>
57509
57510         frexp: test for NetBSD failure on -0.0
57511         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57512         not all, bugs from NetBSD 3.0 have been fixed.
57513         * doc/posix-functions/frexp.texi (frexp): Document bug.
57514         Reported by Thomas Klausner.
57515
57516         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57517         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57518         literal -0.0.
57519         Reported by Jonathan C. Patschke <jp@centtech.com>.
57520
57521 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57522
57523         * lib/glthread/cond.h: Use dummy implementation also if
57524         USE_WIN32_THREADS.
57525
57526 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57527
57528         * modules/fnmatch-posix (License): Change to LGPLv2+.
57529         * modules/fnmatch-gnu (License): Likewise.
57530
57531 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57532
57533         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57534
57535 2008-09-11  Jim Meyering  <meyering@redhat.com>
57536
57537         * users.txt: Add gtk-vnc.
57538
57539 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57540
57541         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57542         rotate amounts.
57543
57544         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57545         required for 16-bit and 8-bit rotates.
57546         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57547         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57548         UINT8_MAX instead of hard-coded constants.
57549         Suggested by Paul Eggert.
57550
57551 2008-09-07  Bruno Haible  <bruno@clisp.org>
57552
57553         * tests/test-striconveh.c (main): Check behaviour when converting from
57554         UTF-7.
57555
57556         Make striconveh work better with stateful encodings.
57557         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57558         that iconv does not increment the inptr when returning -1/EINVAL.
57559
57560 2008-09-07  Bruno Haible  <bruno@clisp.org>
57561
57562         * build-aux/config.rpath: Update according to libtool-2.2.6.
57563         * build-aux/config.libpath: Likewise.
57564
57565 2008-09-06  Bruno Haible  <bruno@clisp.org>
57566
57567         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57568         * lib/freadptr.c (freadptr): Likewise.
57569         * lib/freadseek.c (freadptrinc): Likewise.
57570         Reported by Simon Josefsson.
57571
57572 2008-09-06  Bruno Haible  <bruno@clisp.org>
57573
57574         * modules/freadptr (License): Change to LGPLv2+.
57575         * modules/freadseek (License): Likewise.
57576         Suggested by Eric Blake.
57577
57578         * modules/memchr2 (License): Change to LGPLv2+.
57579         Approved by Eric Blake.
57580
57581 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57582             Bruno Haible  <bruno@clisp.org>
57583
57584         Make gnulib-tool work with native 'sed' on AIX.
57585         * gnulib-tool (sed_noop): New variable.
57586         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57587         func_add_or_update, func_create_testdir): Use it to initialize sed
57588         script variables.
57589         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57590
57591 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57592             Bruno Haible  <bruno@clisp.org>
57593
57594         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57595         also works after #include directives.
57596
57597 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
57598
57599         getdate.y: reject an out-of-range timezone value
57600         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57601         the range [-24...+24].  When specified with only one or two digits,
57602         * tests/test-getdate.c: Tests for the fix.
57603         * doc/getdate.texi: Document this change.
57604
57605 2008-09-03  Bruno Haible  <bruno@clisp.org>
57606
57607         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57608
57609 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57610
57611         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57612         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57613         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57614         Blake <ebb9@byu.net>.
57615
57616         * tests/test-bitrotate.c: Add more test vectors.
57617
57618 2008-09-02  Eric Blake  <ebb9@byu.net>
57619
57620         vasnprintf-posix: handle large precision via %.*d
57621         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57622         when handling it ourselves.
57623         * tests/test-vasnprintf-posix.c (test_function): Add test.
57624         * tests/test-snprintf-posix.h (test_function): Likewise.
57625         * tests/test-sprintf-posix.h (test_function): Likewise.
57626         * tests/test-vasprintf-posix.c (test_function): Likewise.
57627         Reported by Alain Guibert.
57628
57629 2008-09-01  Eric Blake  <ebb9@byu.net>
57630
57631         c-stack: make configure-time check more robust
57632         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57633         successful sigaction call.
57634         Reported by Tom G. Christensen.
57635
57636 2008-09-01  Bruno Haible  <bruno@clisp.org>
57637
57638         New module 'findprog-lgpl'.
57639         * modules/findprog-lgpl: New file.
57640         * lib/findprog-lgpl.c: New file.
57641         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57642         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57643         to decide whether to use strdup or xstrdup, concatenated_filename or
57644         xconcatenated_filename.
57645
57646 2008-09-01  Bruno Haible  <bruno@clisp.org>
57647
57648         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57649         'xconcat-filename' (GPL).
57650         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57651         (License): Change to LGPLv2+.
57652         * modules/xconcat-filename: New file.
57653         * lib/concat-filename.h (concatenated_filename): Change specification.
57654         (xconcatenated_filename): New declaration.
57655         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57656         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57657         memory situations.
57658         * lib/xconcat-filename.c: New file.
57659         * NEWS: Mention the change.
57660         * lib/findprog.c: Include concat-filename.h, not filename.h.
57661         (find_in_path): Use xconcatenated_filename instead of
57662         concatenated_filename.
57663         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57664         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57665         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57666         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57667         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57668         instead of concatenated_filename.
57669         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57670         (execute_java_class): Use xconcatenated_filename instead of
57671         concatenated_filename.
57672         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57673         * modules/javacomp (Depends-on): Likewise.
57674         * modules/javaexec (Depends-on): Likewise.
57675
57676 2008-09-01  Bruno Haible  <bruno@clisp.org>
57677
57678         Split module 'filename' into 'filename' and 'concat-filename'.
57679         * modules/filename: Keep only lib/filename.h.
57680         (License): Change to LGPLv2+.
57681         * modules/concat-filename: New file, extracted from modules/filename.
57682         * lib/filename.h (concatenated_filename): Remove declaration.
57683         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57684         * lib/concat-filename.c: Include concat-filename.h.
57685         * NEWS: Mention the change.
57686
57687 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57688
57689         * lib/bitrotate.h (rotl8, rotr8): Add.
57690
57691         * modules/bitrotate (configure.ac): Need
57692         AC_REQUIRE([AC_C_INLINE]).
57693         (Description): Mention stdint.h.  Reported by Bruno Haible
57694         <bruno@clisp.org>.
57695
57696         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57697         Paolo Bonzini <bonzini@gnu.org>.
57698
57699 2008-08-31  Bruno Haible  <bruno@clisp.org>
57700
57701         Assume Solaris specific bi-arch conventions on Solaris systems.
57702         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57703         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57704         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57705         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57706         like acl_libdirstem.
57707         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57708         acl_libdirstem.
57709         * NEWS: Mention the change.
57710         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57711
57712 2008-08-31  Jim Meyering  <meyering@redhat.com>
57713
57714         * lib/strftime.h: Add comments describing the two added arguments.
57715
57716         remove duplicate #include directives
57717         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57718         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57719
57720 2008-08-31  Bruno Haible  <bruno@clisp.org>
57721
57722         New module 'sigpipe-die'.
57723         * modules/sigpipe-die: New file.
57724         * lib/sigpipe-die.h: New file.
57725         * lib/sigpipe-die.c: New file.
57726         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57727
57728 2008-08-31  Bruno Haible  <bruno@clisp.org>
57729
57730         Don't override previously installed signal handlers.
57731         * lib/fatal-signal.c (saved_sigactions): New variable.
57732         (uninstall_handlers): Reset the signal to the saved handler, not
57733         to SIG_DFL (except when ignored).
57734         (install_handlers): Save the previous handlers.
57735
57736 2008-08-30  Bruno Haible  <bruno@clisp.org>
57737
57738         * gnulib-tool (func_reset_sigpipe): New function.
57739         (func_get_automake_snippet, func_modules_transitive_closure,
57740         func_import): Invoke it before a join command that reads from stdin,
57741         to avoid "echo: write error: Broken pipe" error messages on stderr.
57742         Reported by Sam Steingold <sds@gnu.org>.
57743
57744 2008-08-30  Bruno Haible  <bruno@clisp.org>
57745
57746         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57747         Code copied from m4/open.m4.
57748         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57749         access and the filename ends in a slash. Code copied from lib/open.c.
57750         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57751         * tests/test-fopen.c (main): Check against bug with trailing slash.
57752
57753 2008-08-29  Bruno Haible  <bruno@clisp.org>
57754
57755         Avoid some "gcc -pedantic" warnings.
57756         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57757         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57758         * lib/dirent.in.h: Likewise.
57759         * lib/fcntl.in.h: Likewise.
57760         * lib/float.in.h: Likewise.
57761         * lib/iconv.in.h: Likewise.
57762         * lib/inttypes.in.h: Likewise.
57763         * lib/locale.in.h: Likewise.
57764         * lib/math.in.h: Likewise.
57765         * lib/netinet_in.in.h: Likewise.
57766         * lib/search.in.h: Likewise.
57767         * lib/signal.in.h: Likewise.
57768         * lib/stdarg.in.h: Likewise.
57769         * lib/stdint.in.h: Likewise.
57770         * lib/stdio.in.h: Likewise.
57771         * lib/stdlib.in.h: Likewise.
57772         * lib/string.in.h: Likewise.
57773         * lib/strings.in.h: Likewise.
57774         * lib/sys_select.in.h: Likewise.
57775         * lib/sys_socket.in.h: Likewise.
57776         * lib/sys_stat.in.h: Likewise.
57777         * lib/sys_time.in.h: Likewise.
57778         * lib/sysexits.in.h: Likewise.
57779         * lib/time.in.h: Likewise.
57780         * lib/unistd.in.h: Likewise.
57781         * lib/wchar.in.h: Likewise.
57782         * lib/wctype.in.h: Likewise.
57783         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57784         * modules/fchdir (Makefile.am): Likewise.
57785         * modules/fcntl (Makefile.am): Likewise.
57786         * modules/float (Makefile.am): Likewise.
57787         * modules/iconv_open (Makefile.am): Likewise.
57788         * modules/inttypes (Makefile.am): Likewise.
57789         * modules/locale (Makefile.am): Likewise.
57790         * modules/math (Makefile.am): Likewise.
57791         * modules/netinet_in (Makefile.am): Likewise.
57792         * modules/search (Makefile.am): Likewise.
57793         * modules/signal (Makefile.am): Likewise.
57794         * modules/stdarg (Makefile.am): Likewise.
57795         * modules/stdint (Makefile.am): Likewise.
57796         * modules/stdio (Makefile.am): Likewise.
57797         * modules/stdlib (Makefile.am): Likewise.
57798         * modules/string (Makefile.am): Likewise.
57799         * modules/strings (Makefile.am): Likewise.
57800         * modules/sys_select (Makefile.am): Likewise.
57801         * modules/sys_socket (Makefile.am): Likewise.
57802         * modules/sys_stat (Makefile.am): Likewise.
57803         * modules/sys_time (Makefile.am): Likewise.
57804         * modules/sysexits (Makefile.am): Likewise.
57805         * modules/time (Makefile.am): Likewise.
57806         * modules/unistd (Makefile.am): Likewise.
57807         * modules/wchar (Makefile.am): Likewise.
57808         * modules/wctype (Makefile.am): Likewise.
57809         Reported by Reuben Thomas <rrt@sc3d.org>.
57810
57811 2008-08-29  Bruno Haible  <bruno@clisp.org>
57812
57813         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57814         any more.
57815
57816 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57817
57818         * MODULES.html.sh (Misc): Add bitrotate.
57819
57820         * modules/bitrotate: New file.
57821
57822         * lib/bitrotate.h: New file.
57823
57824         * modules/bitrotate-tests: New file.
57825
57826         * tests/test-bitrotate.c: New file.
57827
57828         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57829         on the bitrotate module.
57830
57831         * lib/arctwo.c: Use new bitrotate module.
57832
57833 2008-08-29  Jim Meyering  <meyering@redhat.com>
57834
57835         bootstrap: merge changes from coreutils
57836         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57837         of copied files.  Remove a kludge, now that this is fixed.
57838         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57839         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57840         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57841
57842 2008-08-29  Bruno Haible  <bruno@clisp.org>
57843
57844         * MODULES.html.sh: Remove --cvs-urls option.
57845
57846 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57847
57848         maint.mk: adjust to file name change
57849         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57850
57851 2008-08-28  Jim Meyering  <meyering@redhat.com>
57852
57853         * modules/getndelim2 (License): Relicense to LGPLv2+.
57854         Approved by Richard Stallman for the version of 1995, and by
57855         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57856
57857 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57858
57859         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57860         dummy if one is not available.  Do not touch them if
57861         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57862         (getc_maybe_unlocked): New.
57863         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57864
57865 2008-08-26  Eric Blake  <ebb9@byu.net>
57866
57867         doc/INSTALL: resync from autoconf
57868         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57869         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57870         moving...
57871         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57872         * INSTALL: Regenerate.
57873         * INSTALL.ISO: New file.
57874         * INSTALL.UTF-8: Likewise.
57875
57876 2008-08-26  Jim Meyering  <meyering@redhat.com>
57877
57878         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57879         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57880         these definitions conditional, so that they may be overridden, too.
57881
57882 2008-08-26  Bruno Haible  <bruno@clisp.org>
57883
57884         Generate INSTALL file variants with prettier quotes.
57885         * doc/Makefile (INSTALL_PRELUDE): New macro.
57886         (INSTALL): Use it.
57887         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57888
57889 2008-08-26  Bruno Haible  <bruno@clisp.org>
57890
57891         Run makeinfo in an English locale.
57892         * doc/Makefile (MAKEINFO): New variable.
57893
57894 2008-08-26  Bruno Haible  <bruno@clisp.org>
57895
57896         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57897         Suggested by Eric Blake.
57898
57899 2008-08-25  Bruno Haible  <bruno@clisp.org>
57900
57901         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57902
57903 2008-08-25  Eric Blake  <ebb9@byu.net>
57904
57905         c-stack: test that stack overflow can be caught
57906         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57907         that platform allows handling stack overflow; at least OS/2 EMX
57908         has sigaltstack, but crashes before transferring control to
57909         handler on stack overflow.
57910         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57911         check for HAVE_STACK_OVERFLOW_HANDLING.
57912         Reported by Elbert Pol.
57913
57914 2008-08-25  Bruno Haible  <bruno@clisp.org>
57915
57916         * doc/posix-functions/strftime.texi: Fix description of strftime
57917         module.
57918
57919 2008-08-24  Bruno Haible  <bruno@clisp.org>
57920
57921         * tests/uniwidth/test-uc_width2.c: New file.
57922         * tests/uniwidth/test-uc_width2.sh: New file.
57923         * modules/uniwidth/width-tests (Files): Add the new files.
57924         (TESTS): Add uniwidth/test-uc_width2.sh.
57925         (TESTS_ENVIRONMENT): New variable.
57926         (check_PROGRAMS): Add test-uc_width2.
57927         (test_uc_width2_SOURCES): New variable.
57928
57929         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57930         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57931         not 0x00AB.
57932         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57933
57934 2008-08-22  Eric Blake  <ebb9@byu.net>
57935
57936         test-lock, test-tls: mention why a test is skipped
57937         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57938         skipped.
57939         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57940
57941         count-one-bits: relax license
57942         * modules/count-one-bits (License): Relicense to LGPLv2+.
57943         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57944
57945 2008-08-22  Andreas Schwab  <schwab@suse.de>
57946
57947         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57948         Remove spurious space in assignment.
57949
57950 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57951
57952         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57953         Paul Eggert <eggert@CS.UCLA.EDU>.
57954
57955 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57956
57957         * modules/gettext: Add m4/threadlib.m4.
57958
57959 2008-08-19  Eric Blake  <ebb9@byu.net>
57960
57961         test-c-stack: fix compilation failure on FreeBSD 5.0
57962         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57963         headers before <sys/resource.h>.
57964         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57965         the bug.
57966         Reported by Nelson H. F. Beebe.
57967
57968         strverscmp: migrate from "strverscmp.h" to <string.h>
57969         * modules/string (Makefile.am): Add new hooks.
57970         * modules/strverscmp (Files): Remove strverscmp.h.
57971         (Depends-on): Add string.
57972         (configure.ac): Add indicator.
57973         (Include): Mention new header.
57974         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57975         defaults.
57976         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57977         results.
57978         * lib/strverscmp.h: Delete.
57979         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57980         * tests/test-strverscmp.c (includes): Adjust client.
57981         * lib/check-version.c (includes): Likewise.
57982         * NEWS: Document the change.
57983
57984         strverscmp: add unit test
57985         * modules/strverscmp-tests: New file.
57986         * tests/test-strverscmp.c: Likewise.
57987
57988 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57989
57990         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57991         regarding Windows crypto stuff, from Mono.
57992
57993 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57994
57995         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57996         if present, for intel RND.  Return error on failures.
57997
57998 2008-08-18  Ben Pfaff  <blp@gnu.org>
57999
58000         gitlog-to-changelog: give better diagnostic for failed pipe-open
58001         * build-aux/gitlog-to-changelog: Improve error message: suggest
58002         that the version of Git may be too old.
58003
58004 2008-08-18  Simon Josefsson  <simon@josefsson.org>
58005
58006         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
58007         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
58008
58009 2008-08-18  Bruno Haible  <bruno@clisp.org>
58010
58011         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
58012         pthread_in_use().
58013
58014 2008-08-18  Bruno Haible  <bruno@clisp.org>
58015
58016         * lib/glthread/threadlib.c: Include <pthread.h>.
58017
58018 2008-08-18  Bruno Haible  <bruno@clisp.org>
58019
58020         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
58021         glthread_recursive_lock_* macros.
58022         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
58023         Fix syntax error.
58024
58025 2008-08-18  Bruno Haible  <bruno@clisp.org>
58026
58027         * lib/glthread/thread.c: Avoid forcing a context switch right after
58028         thread creation.
58029
58030 2008-08-17  Bruno Haible  <bruno@clisp.org>
58031
58032         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
58033         * lib/glthread/thread.h: Provide Win32 specific implementation.
58034         * modules/thread (Files): Add lib/glthread/thread.c.
58035         (Depends-on): Add lock.
58036         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
58037
58038 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58039
58040         New module 'yield'.
58041         * modules/yield: New file.
58042         * lib/glthread/yield.h: New file.
58043         * m4/yield.m4: New file.
58044         * MODULES.html.sh (Multithreading): Add yield.
58045
58046 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58047
58048         New module 'thread'.
58049         * modules/thread: New file.
58050         * lib/glthread/thread.h: New file.
58051         * m4/thread.m4: New file.
58052         * MODULES.html.sh (Multithreading): Add thread.
58053
58054 2008-08-17  Bruno Haible  <bruno@clisp.org>
58055
58056         * lib/glthread/lock.h: Include <stdlib.h> always.
58057         * lib/glthread/tls.h: Likewise.
58058         * lib/glthread/cond.h: Likewise.
58059
58060 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58061
58062         New module 'cond'.
58063         * modules/cond: New file.
58064         * lib/glthread/cond.h: New file.
58065         * lib/glthread/cond.c: New file.
58066         * m4/cond.m4: New file.
58067         * MODULES.html.sh (Multithreading): Add cond.
58068
58069 2008-08-16  Eric Blake  <ebb9@byu.net>
58070
58071         c-stack: fix regression on Irix 5.3 from 2008-06-21
58072         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
58073         sa_sigaction...
58074         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
58075         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
58076         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
58077         * modules/signal (Makefile.am): Use the value.
58078         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
58079         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
58080         * doc/posix-headers/signal.texi (signal.h): Document this
58081         portability issue.
58082         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
58083         Reported by Tom G. Christensen.
58084
58085 2008-08-17  Bruno Haible  <bruno@clisp.org>
58086
58087         New module 'threadlib'.
58088         * modules/threadlib: New file.
58089         * lib/glthread/threadlib.c: New file, extracted from
58090         lib/glthread/lock.c.
58091         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
58092         functions.
58093         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
58094         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
58095         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
58096         macros.
58097         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
58098         (gl_DISABLE_THREADS): Remove macro.
58099         * modules/lock (Files): Remove build-aux/config.rpath.
58100         (Depends-on): Remove havelib. Add threadlib.
58101         (configure.ac-early): Remove section.
58102         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
58103         * modules/tls (Depends-on): Remove lock. Add threadlib.
58104         (Link): New section, copied from threadlib.
58105         * MODULES.html.sh (Multithreading): Add threadlib.
58106
58107 2008-08-14  Bruno Haible  <bruno@clisp.org>
58108
58109         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
58110         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
58111         glthread_rwlock_unlock, glthread_rwlock_destroy,
58112         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
58113         glthread_recursive_lock_destroy): Define as macros always.
58114         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
58115         glthread_lock_lock.
58116         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
58117         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
58118         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
58119         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
58120         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
58121         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
58122         (glthread_recursive_lock_lock_func): Renamed from
58123         glthread_recursive_lock_lock.
58124         (glthread_recursive_lock_unlock_func): Renamed from
58125         glthread_recursive_lock_unlock.
58126         (glthread_recursive_lock_destroy_func): Renamed from
58127         glthread_recursive_lock_destroy.
58128
58129 2008-08-14  Bruno Haible  <bruno@clisp.org>
58130
58131         * lib/glthread/lock.h: Renamed from lib/lock.h.
58132         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
58133         * lib/glthread/tls.h: Renamed from lib/tls.h.
58134         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
58135         * lib/fstrcmp.c: Update includes.
58136         * lib/strsignal.c: Update includes.
58137         * modules/lock (Files, Makefile.am): Update.
58138         (Include): Change to "glthread/lock.h".
58139         * modules/tls (Files, Makefile.am): Update.
58140         (Include): Change to "glthread/tls.h".
58141         * tests/test-lock.c: Update includes.
58142         * tests/test-tls.c: Update includes.
58143         * NEWS: Mention the renamed header files.
58144
58145 2008-08-11  Jim Meyering  <meyering@redhat.com>
58146
58147         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
58148
58149 2008-08-11  Eric Blake  <ebb9@byu.net>
58150
58151         test-c-stack: avoid C99-ism
58152         * tests/test-c-stack.c (main): Fix whitespace, move declaration
58153         before statement.
58154         Reported by Alain Guibert.
58155
58156 2008-08-10  Jim Meyering  <meyering@redhat.com>
58157
58158         ensure that return value of uinttostr et al are not ignored
58159         * lib/inttostr.h (__GNUC_PREREQ): Define.
58160         (__attribute_warn_unused_result__): Define.
58161         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
58162
58163 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
58164
58165         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
58166         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
58167
58168 2008-08-07  Jim Meyering  <meyering@redhat.com>
58169
58170         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
58171
58172         * modules/mkstemp (License): Relicense under LGPLv2+.
58173         * modules/tempname (License): Likewise.
58174
58175 2008-08-06  Bruno Haible  <bruno@clisp.org>
58176
58177         * lib/poll.c (poll): Further micro-optimization.
58178
58179 2008-08-06  Jim Meyering  <meyering@redhat.com>
58180
58181         inet_pton.c: use locale-independent tolower
58182         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
58183         (inet_pton6): Use c_tolower rather than tolower.
58184         * modules/inet_pton (Depends-on): Add c-ctype.
58185
58186 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
58187
58188         * lib/poll.c (poll): Avoid division when timeout is 0, cache
58189         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
58190
58191 2008-08-06  Jim Meyering  <meyering@redhat.com>
58192
58193         * modules/inet_pton (License): Relicense under LGPLv2+.
58194
58195 2008-08-03  Bruno Haible  <bruno@clisp.org>
58196
58197         Additional non-aborting API for lock and tls.
58198         * lib/lock.h: Include <errno.h>.
58199         (glthread_lock_init): New macro/function.
58200         (gl_lock_init): Define as wrapper around glthread_lock_init.
58201         (glthread_lock_lock): New macro/function.
58202         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
58203         (glthread_lock_unlock): New macro/function.
58204         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
58205         (glthread_lock_destroy): New macro/function.
58206         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
58207         (glthread_rwlock_init): New macro/function.
58208         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
58209         (glthread_rwlock_rdlock): New macro/function.
58210         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
58211         (glthread_rwlock_wrlock): New macro/function.
58212         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
58213         (glthread_rwlock_unlock): New macro/function.
58214         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
58215         (glthread_rwlock_destroy): New macro/function.
58216         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
58217         (glthread_recursive_lock_init): New macro/function.
58218         (gl_recursive_lock_init): Define as wrapper around
58219         glthread_recursive_lock_init.
58220         (glthread_recursive_lock_lock): New macro/function.
58221         (gl_recursive_lock_lock): Define as wrapper around
58222         glthread_recursive_lock_lock.
58223         (glthread_recursive_lock_unlock): New macro/function.
58224         (gl_recursive_lock_unlock): Define as wrapper around
58225         glthread_recursive_lock_unlock.
58226         (glthread_recursive_lock_destroy): New macro/function.
58227         (gl_recursive_lock_destroy): Define as wrapper around
58228         glthread_recursive_lock_destroy.
58229         (glthread_once): New macro/function.
58230         (gl_once): Define as wrapper around glthread_once.
58231         Update function declarations.
58232         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
58233         glthread_rwlock_init. Return error code.
58234         (glthread_rwlock_rdlock_multithreaded): Renamed from
58235         glthread_rwlock_rdlock. Return error code.
58236         (glthread_rwlock_wrlock_multithreaded): Renamed from
58237         glthread_rwlock_wrlock. Return error code.
58238         (glthread_rwlock_unlock_multithreaded): Renamed from
58239         glthread_rwlock_unlock. Return error code.
58240         (glthread_rwlock_destroy_multithreaded): Renamed from
58241         glthread_rwlock_destroy. Return error code.
58242         (glthread_recursive_lock_init_multithreaded): Renamed from
58243         glthread_recursive_lock_init. Return error code.
58244         (glthread_recursive_lock_lock_multithreaded): Renamed from
58245         glthread_recursive_lock_lock. Return error code.
58246         (glthread_recursive_lock_unlock_multithreaded): Renamed from
58247         glthread_recursive_lock_unlock. Return error code.
58248         (glthread_recursive_lock_destroy_multithreaded): Renamed from
58249         glthread_recursive_lock_destroy. Return error code.
58250         (glthread_once_call): Make static.
58251         (glthread_once_multithreaded): Renamed from glthread_once.
58252         * lib/tls.h: Include <errno.h>.
58253         (glthread_tls_key_init): New macro/function.
58254         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
58255         (glthread_tls_set): New macro/function.
58256         (gl_tls_set): Define as wrapper around glthread_tls_set.
58257         (glthread_tls_key_destroy): New macro/function.
58258         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
58259         Update function declarations.
58260         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
58261         glthread_tls_get.
58262         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58263
58264 2008-08-04  Eric Blake  <ebb9@byu.net>
58265
58266         gnumakefile: use space, not TAB, outside of targets
58267         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
58268
58269 2008-08-02  Jim Meyering  <meyering@redhat.com>
58270
58271         getdate.y: avoid locale-dependent date parsing failure
58272         In Turkish locales, getdate would fail to recognize keywords
58273         containing a lowercase "i".  The solution is not to rely on
58274         locale-sensitive case-conversion.
58275         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
58276         (lookup_word): Use c_toupper in place of toupper.
58277         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
58278         Reported by Vefa Bicakci <bicave@superonline.com> in
58279         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
58280         * modules/getdate (Depends-on): Add c-ctype.
58281
58282 2008-08-02  Bruno Haible  <bruno@clisp.org>
58283
58284         * gnulib-tool (func_import): When updating or creating a .gitignore
58285         file, prepend each added line with a slash, and ignore leading slashes
58286         from the existing lines.
58287         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58288
58289 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58290
58291         Portability fix for GNU make 3.79.1.
58292         * top/GNUmakefile: Avoid 'else COND', which older GNU make
58293         versions do not understand.
58294
58295 2008-08-01  Bruno Haible  <bruno@clisp.org>
58296
58297         Work around bug of HP-UX 10.20 cc with -0.0 literal.
58298         * tests/test-isnanf.h (zero): New variable.
58299         (main): Avoid literal -0.0f.
58300         * tests/test-isnand.h (zero): New variable.
58301         (main): Avoid literal -0.0.
58302         * tests/test-isnanl.h (zero): New variable.
58303         (main): Avoid literal -0.0L.
58304         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
58305         (test_float, test_double, test_long_double): Avoid literals -0.0f,
58306         -0.0, -0.0L.
58307         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
58308         (test_signbitd): Avoid literal -0.0.
58309         (test_signbitl): Avoid literal -0.0L.
58310         * tests/test-ceilf1.c (zero): New variable.
58311         (main): Avoid literal -0.0f.
58312         * tests/test-ceill.c (zero): New variable.
58313         (main): Avoid literal -0.0L.
58314         * tests/test-floorf1.c (zero): New variable.
58315         (main): Avoid literal -0.0f.
58316         * tests/test-floorl.c (zero): New variable.
58317         (main): Avoid literal -0.0L.
58318         * tests/test-roundf1.c (zero): New variable.
58319         (main): Avoid literal -0.0f.
58320         * tests/test-round1.c (zero): New variable.
58321         (main): Avoid literal -0.0.
58322         * tests/test-roundl.c (zero): New variable.
58323         (main): Avoid literal -0.0L.
58324         * tests/test-truncf1.c (zero): New variable.
58325         (main): Avoid literal -0.0f.
58326         * tests/test-trunc1.c (zero): New variable.
58327         (main): Avoid literal -0.0.
58328         * tests/test-truncl.c (zero): New variable.
58329         (main): Avoid literal -0.0L.
58330         * tests/test-frexp.c (zero): New variable.
58331         (main): Avoid literal -0.0.
58332         * tests/test-frexpl.c (zero): New variable.
58333         (main): Avoid literal -0.0L.
58334         * tests/test-ldexpl.c (zero): New variable.
58335         (main): Avoid literal -0.0L.
58336         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58337         (zerod, zerol): New variables.
58338         (test_function): Avoid literals -0.0, -0.0L.
58339         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58340         (zerod, zerol): New variables.
58341         (test_function): Avoid literals -0.0, -0.0L.
58342         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58343         (zerod, zerol): New variables.
58344         (test_function): Avoid literals -0.0, -0.0L.
58345         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58346         (zerod, zerol): New variables.
58347         (test_function): Avoid literals -0.0, -0.0L.
58348         * tests/test-strtod.c (zero): New variable.
58349         (main): Avoid literal -0.0.
58350         Reported by Jonathan C. Patschke <jp@centtech.com>.
58351
58352 2008-07-31  Jim Meyering  <meyering@redhat.com>
58353
58354         sha256.h: correct definition of SHA224_DIGEST_SIZE
58355         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
58356         Reported by Paulie Pena IV <paulie4@gmail.com>.
58357         Define as 224 / 8, rather than as a literal.
58358         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
58359         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
58360         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
58361
58362 2008-07-31  Bruno Haible  <bruno@clisp.org>
58363
58364         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
58365         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
58366         Reported by Jonathan Patschke <jp@centtech.com>.
58367
58368 2008-07-31  Bruno Haible  <bruno@clisp.org>
58369
58370         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
58371         Reported by Paolo Bonzini <bonzini@gnu.org>.
58372
58373 2008-07-30  Eric Blake  <ebb9@byu.net>
58374
58375         test-strtod: allow compilation without -lm
58376         * tests/test-strtod.c (main): Avoid link dependence on fabs.
58377         Reported by Dennis Clarke <blastwave@gmail.com>.
58378
58379 2008-07-28  Jim Meyering  <meyering@redhat.com>
58380
58381         bootstrap: work also when there are no .po files in po/
58382         * build-aux/bootstrap (update_po_files): Complete the change
58383         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
58384
58385 2008-07-27  Jim Meyering  <meyering@redhat.com>
58386
58387         * users.txt: Add zile.
58388
58389 2008-07-26  Ben Pfaff  <blp@gnu.org>
58390
58391         Add missing dependencies on new m4/exponent[fdl].m4 files.
58392         * modules/isnanf-nolibm: Add m4/exponentf.m4.
58393         * modules/isnand-nolibm: Add m4/exponentd.m4.
58394         * modules/isnanl-nolibm: Add m4/exponentl.m4.
58395         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
58396         m4/isnan[fdl].m4, because the macros actually used moved.
58397         Reported by Jim Meyering.
58398
58399 2008-07-14  Ben Pfaff  <blp@gnu.org>
58400
58401         Add isinf module.
58402         * lib/isinf.c: New file.
58403         * lib/math.in.h: Define isinf macro if we have decided to replace
58404         it.
58405         * m4/isinf.m4: New file.
58406         * m4/math_h.m4: Initialize and substitute variables for isinf
58407         module.
58408         * modules/isinf: New file.
58409         * modules/isinf-tests: New file.
58410         * modules/math: Add substitutions for new module.
58411         * tests/test-isinf.c: New file.
58412         * doc/posix-functions/isinf.texi: Mention new module.
58413         * MODULES.html.sh: Mention new module.
58414
58415 2008-07-14  Ben Pfaff  <blp@gnu.org>
58416
58417         Factor out some macros for use by additional modules.
58418         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
58419         exponentf.m4.
58420         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
58421         exponentd.m4.
58422         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
58423         file exponentl.m4.
58424         * m4/exponentf.m4: New file.
58425         * m4/exponentd.m4: New file.
58426         * m4/exponentl.m4: New file.
58427         * modules/isnanf: Use new file m4/exponentf.m4.
58428         * modules/isnand: Use new file m4/exponentd.m4.
58429         * modules/isnanl: Use new file m4/exponentl.m4.
58430
58431 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
58432
58433         mktime.c: normalize tp->tm_isdst value to -1/0/1.
58434         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
58435         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
58436         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
58437
58438         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
58439         readlink on platforms without PATH_MAX.
58440
58441 2008-07-21  Eric Blake  <ebb9@byu.net>
58442
58443         Warn, not fail, on stale version.
58444         * top/GNUmakefile (_curr-ver): Tone down previous patch.
58445
58446         Don't allow installation with stale devel version number.
58447         * top/GNUmakefile (_is-install-target): New macro.
58448         (_curr-ver): Forbid installation with stale version number.
58449
58450 2008-07-20  Bruno Haible  <bruno@clisp.org>
58451
58452         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
58453         TESTS_ENVIRONMENT.
58454         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
58455
58456 2008-07-20  Bruno Haible  <bruno@clisp.org>
58457
58458         * lib/c-stack.h (c_stack_action): Add documentation.
58459         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58460
58461 2008-07-20  Bruno Haible  <bruno@clisp.org>
58462
58463         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58464         * modules/readlink (License): Likewise.
58465
58466 2008-07-17  Eric Blake  <ebb9@byu.net>
58467
58468         * modules/c-stack (Link): Fix typo.
58469
58470         Make c-stack use libsigsegv, when available.
58471         * modules/c-stack (Depends-on): Add libsigsegv.
58472         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58473         needed.
58474         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58475         (segv_handler, overflow_handler, c_stack_action)
58476         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58477         implementation when libsigsegv is available, but only when using
58478         the library is necessary.
58479         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58480         comment, explaining why XSI check fails on Linux.
58481         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58482         * tests/test-c-stack2.sh: Tweak skip message.
58483         * NEWS: Document new link-time requirements.
58484
58485 2008-07-16  Eric Blake  <ebb9@byu.net>
58486
58487         c-stack: Expose false positives when not using libsigsegv.
58488         * modules/c-stack-tests (Files): Expand test.
58489         * tests/test-c-stack.c (main): Add means to conditionally trigger
58490         non-overflow SIGSEGV.
58491         * tests/test-c-stack2.sh: New file.
58492
58493 2008-07-14  Bruno Haible  <bruno@clisp.org>
58494
58495         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58496         Reported by Eric Blake.
58497
58498 2008-07-14  Sam Steingold  <sds@gnu.org>
58499             Bruno Haible  <bruno@clisp.org>
58500
58501         New module libsigsegv.
58502         * modules/libsigsegv: New file.
58503         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58504         modifications.
58505         * MODULES.html.sh (Signal handling): New section.
58506
58507 2008-07-14  Bruno Haible  <bruno@clisp.org>
58508
58509         * modules/unictype/ctype-* (Description): Add the word "function".
58510         Improves the resulting doc in MODULES.html.
58511
58512 2008-07-12  Ben Pfaff  <blp@gnu.org>
58513
58514         Add longlong module.
58515         * modules/longlong: New file.
58516
58517 2008-07-12  Bruno Haible  <bruno@clisp.org>
58518
58519         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58520         to empty.
58521
58522 2008-07-10  Ben Pfaff  <blp@gnu.org>
58523
58524         Add isnan module.
58525         * doc/posix-functions/isnan.texi: Mention new module.
58526         * lib/math.in.h: Define isnan macro if we have decided to replace
58527         it.
58528         * m4/isnan.m4: New file.
58529         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58530         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58531         also.
58532         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58533         redundancy.
58534         * m4/math_h.m4: Initialize and substitute variables for isnan
58535         module.
58536         * modules/isnan: New file.
58537         * modules/isnan-tests: New file.
58538         * modules/math: Add substitutions for new module.
58539         * tests/test-isnan.c: New file.
58540         * MODULES.html.sh: Mention new module.
58541
58542 2008-07-10  Ben Pfaff  <blp@gnu.org>
58543
58544         Add isnanf module.
58545         * lib/isnanf.m4: New file.
58546         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58547         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58548         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58549         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58550         * modules/isnanf: New file.
58551         * modules/isnanf-tests: New file.
58552         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58553         files.
58554         * tests/test-isnanf-nolibm.c: factored most of its contents into
58555         new file tests/test-isnanf.h.
58556         * tests/test-isnanf.h: New file.
58557         * tests/test-isnanf.c: New file.
58558         * MODULES.html.sh: Mention new module.
58559         * doc/glibc-functions/isnanf.texi: Mention new module.
58560
58561 2008-07-10  Ben Pfaff  <blp@gnu.org>
58562
58563         Add isnand module.
58564         * lib/isnand.h: New file.
58565         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58566         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58567         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58568         functionality also.
58569         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58570         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58571         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58572         * modules/isnand: New file.
58573         * modules/isnand-tests: New file.
58574         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58575         files.
58576         * tests/test-isnand-nolibm.c: factored most of its contents into
58577         new file tests/test-isnand.h.
58578         * tests/test-isnand.h: New file.
58579         * tests/test-isnand.c: New file.
58580         * MODULES.html.sh: Mention new module.
58581
58582 2008-07-10  Ben Pfaff  <blp@gnu.org>
58583
58584         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58585         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58586         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58587         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58588         * modules/isnanf-nolibm: Update references to renamed files.
58589         * modules/isnand-nolibm: Likewise.
58590         * modules/isnanf-nolibm-tests: Likewise.
58591         * modules/isnand-nolibm-tests: Likewise.
58592         * lib/frexp.c: Likewise.
58593         * lib/isfinite.c: Likewise.
58594         * lib/signbitd.c: Likewise.
58595         * lib/signbitf.c: Likewise.
58596         * lib/vasnprintf.c: Likewise.
58597         * tests/test-ceilf1.c: Likewise.
58598         * tests/test-ceilf2.c: Likewise.
58599         * tests/test-floorf1.c: Likewise.
58600         * tests/test-floorf2.c: Likewise.
58601         * tests/test-frexp.c: Likewise.
58602         * tests/test-round1.c: Likewise.
58603         * tests/test-round2.c: Likewise.
58604         * tests/test-roundf1.c: Likewise.
58605         * tests/test-strtod.c: Likewise.
58606         * tests/test-trunc1.c: Likewise.
58607         * tests/test-trunc2.c: Likewise.
58608         * tests/test-truncf1.c: Likewise.
58609         * tests/test-truncf2.c: Likewise.
58610         * NEWS: Mention the renamed header files.
58611
58612 2008-07-11  Jim Meyering  <meyering@redhat.com>
58613
58614         vc-list-files: make the last-resort awk code more portable
58615         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58616         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58617         does not support it.
58618
58619 2008-07-10  Eric Blake  <ebb9@byu.net>
58620
58621         Work with tar's bootstrap.
58622         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58623         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58624         an m4 comment.
58625
58626 2008-07-09  Jim Meyering  <meyering@redhat.com>
58627
58628         posix-shell.m4: fix typo that made this test malfunction
58629         * m4/posix-shell.m4: Remove capitalization in variable name.
58630
58631 2008-07-08  Bruno Haible  <bruno@clisp.org>
58632
58633         * m4/onceonly.m4: Update comments.
58634         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58635
58636 2008-07-04  Jim Meyering  <meyering@redhat.com>
58637
58638         * users.txt: Add vc-dwim.
58639         (bison, coreutils): Use the gitweb URL.
58640
58641 2008-07-03  Jim Meyering  <meyering@redhat.com>
58642
58643         * users.txt: Add libffcall.  From Sam Steingold.
58644
58645 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
58646
58647         getdate.y: do not ignore TZ with relative day, month or year offset
58648         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58649         relative-date-handling, since otherwise, the latter would clobber the
58650         sole output (an updated Start value) of the tz-handling block.
58651         * tests/test-getdate.c: Tests for the fix
58652
58653 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58654
58655         Recognize 'foo_LIBRARIES += libgnu.a'.
58656         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58657         makefile snippet has already specified an installation location,
58658         also using '+='.
58659
58660 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
58661
58662         getdate.y: factor out common actions
58663         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58664         Use them in place of open-coded actions.
58665
58666 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58667
58668         Add self-test for getdate module.
58669         * modules/getdate-tests: New file.
58670         * tests/test-getdate.c: New file.
58671
58672 2008-06-29  Bruno Haible  <bruno@clisp.org>
58673
58674         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58675         .gitignore.
58676         Reported by Sylvain Beucler <beuc@beuc.net>.
58677
58678 2008-06-29  Bruno Haible  <bruno@clisp.org>
58679
58680         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58681         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58682
58683 2008-06-29  Bruno Haible  <bruno@clisp.org>
58684
58685         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58686         EXTRA_DIST.
58687         Reported by Sylvain Beucler <beuc@beuc.net>.
58688
58689 2008-06-26  Jim Meyering  <meyering@redhat.com>
58690
58691         make several modules depend on the "open" module
58692         This provides slightly increased consistency when opening-for-write
58693         the name of a non-directory spelled with a trailing slash.
58694         * modules/chdir-safer: Likewise.
58695         * modules/chown: Likewise.
58696         * modules/clean-temp: Likewise.
58697         * modules/copy-file: Likewise.
58698         * modules/fchdir: Likewise.
58699         * modules/fcntl-safer: Likewise.
58700         * modules/pipe: Likewise.
58701         * modules/utime: Likewise.
58702         Prompted by Eric Blake and Bruno Haible.
58703
58704 2008-06-24  Andreas Schwab  <schwab@suse.de>
58705
58706         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58707         literals can be used as initializers for global variables.
58708
58709 2008-06-23  Eric Blake  <ebb9@byu.net>
58710
58711         Make gnulib-cache.m4 easier to diff.
58712         * gnulib-tool (func_import): Allow newlines when reading cached
58713         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58714
58715 2008-06-23  Bruno Haible  <bruno@clisp.org>
58716
58717         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58718         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58719         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58720         m4/signalblocking.m4.
58721         (gl_PREREQ_SIGACTION): Don't invoke it.
58722         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58723         gl_PREREQ_SIG_HANDLER_H.
58724         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58725         Don't check for sigaction here.
58726
58727 2008-06-23  Bruno Haible  <bruno@clisp.org>
58728
58729         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58730         (install_handlers): Don't set the SA_RESETHAND flag.
58731
58732 2008-06-23  Bruno Haible  <bruno@clisp.org>
58733
58734         * m4/sigaction.m4: Comment fixes.
58735         * lib/signal.in.h: Likewise.
58736
58737 2008-06-23  Eric Blake  <ebb9@byu.net>
58738
58739         Fix typo.
58740         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58741
58742         Avoid SA_ namespace.
58743         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58744         Reported by Ralf Wildenhues.
58745
58746         Avoid test failure due to SA_RESTORER.
58747         * tests/test-sigaction.c (SA_MASK): New macro.
58748         (main): Avoid failing due to extension flags being set.
58749         Reported by Jim Meyering.
58750
58751         Revert use of sig-handler.h in sigprocmask.c.
58752         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58753         it requires the existence of struct sigaction.
58754         * lib/sigprocmask.c (handler_t): Restore typedef.
58755         (rpl_signal, old_handlers): Use local type.
58756
58757 2008-06-22  Bruno Haible  <bruno@clisp.org>
58758
58759         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58760         conditionally.
58761         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58762
58763 2008-06-22  Bruno Haible  <bruno@clisp.org>
58764
58765         * doc/posix-functions/siginterrupt.texi: Move note.
58766
58767         * lib/signal.in.h (SA_RESTART): New macro.
58768         * lib/sigaction.c: Update comment.
58769
58770         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58771
58772         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58773         (gl_PREREQ_SIGPROCMASK): Invoke it.
58774         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58775
58776         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58777
58778         * lib/sigprocmask.c: Update a comment.
58779
58780 2008-06-21  Eric Blake  <ebb9@byu.net>
58781
58782         Use sigaction module rather than signal().
58783         * modules/c-stack (Depends-on): Add sigaction.
58784         * modules/fatal-signal (Depends-on): Likewise.
58785         * modules/nanosleep (Depends-on): Likewise.
58786         * modules/sigprocmask (Files): Add sig-handler.h.
58787         * modules/sigaction (Files): Likewise.
58788         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58789         Eggert.
58790         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58791         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58792         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58793         (init_fatal_signals): Likewise.
58794         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58795         (siginterrupt): Delete fallback.
58796         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58797         instead.
58798         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58799         siginterrupt.
58800
58801         New module sigaction, for mingw.
58802         * modules/sigaction: New module...
58803         * modules/sigaction-tests: ...and its test.
58804         * m4/sigaction.m4: New file.
58805         * lib/sigaction.c: Likewise.
58806         * tests/test-sigaction.c: Likewise.
58807         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58808         * modules/signal (Makefile.am): Likewise.
58809         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58810         needed.
58811         * doc/posix-headers/signal.texi (signal.h): Mention provided
58812         types.
58813         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58814         that sigaction is preferable.
58815         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58816         module.
58817         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58818         sigaction.
58819
58820         Improve robustness of sigprocmask by overriding signal.
58821         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58822         is in use.
58823         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58824         (SIGKILL, SIGSTOP): Provide fallbacks.
58825         (rpl_signal): Implement.
58826         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58827         signal can be called inside handlers.
58828
58829         Fix nanosleep module on mingw.
58830         * modules/nanosleep (Depends-on): Add sys_select.
58831         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58832
58833         Fix licensing of sigprocmask.
58834         * modules/raise (License): Relicense as LGPL.
58835
58836 2008-06-21  Bruno Haible  <bruno@clisp.org>
58837
58838         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58839         result if it contains question marks.
58840         Reported by Michael Geng <linux@michaelgeng.de>.
58841
58842 2008-06-19  Bruno Haible  <bruno@clisp.org>
58843
58844         Fix CVS-ism.
58845         * doc/gnulib.texi: Include updated-stamp.texi.
58846         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58847         (updated-stamp.texi): New rule.
58848         (gnulib.info): Depend on it.
58849         * doc/.gitignore: Add updated-stamp.texi.
58850         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58851
58852 2008-06-19  Bruno Haible  <bruno@clisp.org>
58853
58854         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58855         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58856
58857 2008-06-19  Eric Blake  <ebb9@byu.net>
58858
58859         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58860         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58861         Reported by Stepan Kasal.
58862
58863 2008-06-18  Bruno Haible  <bruno@clisp.org>
58864
58865         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58866         Reported by Eric Blake.
58867
58868 2008-06-18  Eric Blake  <ebb9@byu.net>
58869
58870         Work around cygwin 1.5.25 strsignal bug.
58871         * tests/test-strsignal.c: Allow for const char *.
58872         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58873
58874 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58875
58876         * users.txt: Update URL to article and add author/date
58877         information.
58878
58879 2008-06-17  Bruno Haible  <bruno@clisp.org>
58880
58881         New macro gl_DISABLE_THREADS.
58882         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58883         if the user did not pass --enable-threads or --disable-threads option.
58884         (gl_DISABLE_THREADS): New macro.
58885         Reported by Eric Blake <ebb9@byu.net>.
58886
58887 2008-06-17  Bruno Haible  <bruno@clisp.org>
58888
58889         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58890         when the macro ignores it.
58891         Based on a patch by Eric Blake <ebb9@byu.net>.
58892
58893 2008-06-17  Bruno Haible  <bruno@clisp.org>
58894
58895         * modules/tls (License): Change to LGPLv2+.
58896         Reported by Eric Blake.
58897
58898 2008-06-17  Eric Blake  <ebb9@byu.net>
58899
58900         Simplify c-stack prerequisites.
58901         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58902         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58903         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58904         check.
58905         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58906         <sys/resource.h>.
58907
58908         Move c-stack test into testsuite.
58909         * modules/c-stack-tests: New file.
58910         * lib/c-stack.c [DEBUG]: Move test program...
58911         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58912         fail test if sigaltstack is lacking.
58913         * tests/test-c-stack.sh: New driver file.
58914
58915 2008-06-16  Eric Blake  <ebb9@byu.net>
58916
58917         Use raise module consistently.
58918         * modules/fatal-signal (Depends-on): Add raise.
58919         * modules/sigprocmask (Depends-on): Likewise.
58920         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58921         * lib/sigprocmask.c (sigprocmask): Likewise.
58922         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58923         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58924
58925         Fix compliance bug in sigpending.
58926         * lib/sigprocmask.c (sigpending): Return pending array via
58927         parameter, not return value.
58928
58929 2008-06-14  Eric Blake  <ebb9@byu.net>
58930
58931         Improve obstack-printf test code.
58932         * tests/test-obstack-printf.c (test_function): Fix comment, and
58933         simplify usage of obstack_* in macros.  Add a test for coverage.
58934         Reported by Bruno Haible.
58935
58936 2008-06-14  Bruno Haible  <bruno@clisp.org>
58937
58938         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58939         array size as a constant, not as a const variable.
58940         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58941         AC_USE_SYSTEM_EXTENSIONS.
58942         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58943         Test whether the obstack_printf function actually exists.
58944         * modules/obstack-printf (Depends-on): Add extensions.
58945         (Include): Remove obstack.h.
58946         * modules/obstack-printf-posix (Depends-on): Add extensions.
58947         (Include): Remove obstack.h.
58948
58949 2008-06-13  Eric Blake  <ebb9@byu.net>
58950
58951         Add obstack-printf and obstack-printf-posix modules.
58952         * modules/obstack-printf: New file.
58953         * modules/obstack-printf-posix: Likewise.
58954         * MODULES.html.sh (Misc): Mention them.
58955         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58956         Likewise.
58957         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58958         Likewise.
58959         * modules/stdio (Makefile.am): Accomodate new modules.
58960         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58961         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58962         Declare.
58963         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58964         functions.
58965         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58966         (gl_REPLACE_OBSTACK_PRINTF): New macros
58967         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58968         * tests/test-obstack-printf.c: New file.
58969         * modules/obstack-printf-tests: Likewise.
58970         * modules/obstack-printf-posix-tests: Likewise.
58971
58972 2008-06-11  Bruno Haible  <bruno@clisp.org>
58973
58974         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58975         * lib/open.c: Include errno.h.
58976         (open): Fail when attempting to write to a file that has a trailing
58977         slash.
58978         * tests/test-open.c (main): Test against trailing slash bug.
58979         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58980
58981 2008-06-10  Bruno Haible  <bruno@clisp.org>
58982
58983         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58984         for $? to work inside the trap command, with various /bin/sh-s.
58985         * tests/test-vc-list-files-cvs.sh: Likewise.
58986
58987 2008-06-10  Bruno Haible  <bruno@clisp.org>
58988
58989         * lib/acl-internal.h: Don't include gettext.h here.
58990         * lib/set-mode-acl.c: Include gettext.h here.
58991         * lib/copy-acl.c: Likewise.
58992
58993 2008-06-10  Bruno Haible  <bruno@clisp.org>
58994
58995         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58996         * lib/wait-process.c (wait_subprocess): Likewise.
58997         * lib/execute.h (execute): Add termsigp argument.
58998         * lib/execute.c (execute): Likewise.
58999         * lib/csharpcomp.c (compile_csharp_using_pnet,
59000         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
59001         * lib/csharpexec.c (execute_csharp_using_pnet,
59002         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
59003         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
59004         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
59005         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
59006         is_jikes_present): Update.
59007         * lib/javaexec.c (execute_java_class): Update.
59008         * lib/javaversion.c (execute_and_read_line): Update.
59009         * NEWS: Document the changes.
59010         Reported by Eric Blake.
59011
59012 2008-06-10  Eric Blake  <ebb9@byu.net>
59013
59014         Add missing include.
59015         * tests/test-strstr.c (includes): Add <signal.h>.
59016         * tests/test-strcasestr.c (includes): Likewise.
59017         * tests/test-memmem.c (includes): Likewise.
59018
59019 2008-06-10  Bruno Haible  <bruno@clisp.org>
59020
59021         * lib/wait-process.c (wait_subprocess): Add an assertion.
59022
59023 2008-06-10  Bruno Haible  <bruno@clisp.org>
59024
59025         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
59026
59027 2008-06-10  Bruno Haible  <bruno@clisp.org>
59028
59029         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
59030         using alarm().
59031         * tests/test-strcasestr.c (main): Likewise.
59032         * tests/test-strstr.c (main): Likewise.
59033
59034 2008-06-09  Bruno Haible  <bruno@clisp.org>
59035
59036         Work around the Solaris 10 ACE ACLs ABI change.
59037         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
59038         declare if ACL_NO_TRIVIAL is present.
59039         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
59040         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
59041         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
59042         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
59043         define if ACL_NO_TRIVIAL is present.
59044         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
59045         and use the current ABI.
59046         (file_has_acl): Use same #if condition as elsewhere.
59047         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
59048         in use, and use the current ABI.
59049         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
59050         Reported by Jim Meyering.
59051
59052 2008-06-09  Eric Blake  <ebb9@byu.net>
59053
59054         Work around environments that (stupidly) ignore SIGALRM.
59055         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
59056         before using alarm().
59057         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59058         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59059         Reported by Ian Beckwith <ianb@erislabs.net>.
59060
59061         Produce autobuild blurb earlier in log.
59062         * modules/autobuild (configure.ac-early): Move AB_INIT here.
59063
59064 2008-06-09  Jim Meyering  <meyering@redhat.com>
59065         and Ondřej Vašík  <ovasik@redhat.com>
59066
59067         utimens.c: correct kernel bug work-around
59068         Ondřej Vašík found that the invalid return value of 280 indicates
59069         failure, not success, and the kernel bug we're trying to work
59070         around affects not just the utimensat call, but also the fallback
59071         futimens call.
59072         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
59073         not success.
59074         [HAVE_FUTIMENS]: Use the same work-around, here.
59075
59076 2008-06-09  Jim Meyering  <meyering@redhat.com>
59077
59078         add more guards around definition of ACE_-related code
59079         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
59080         ALLOW and ACE_OWNER are also defined.
59081
59082 2008-06-08  Bruno Haible  <bruno@clisp.org>
59083
59084         * lib/acl-internal.h: Add me as co-author.
59085         * lib/file-has-acl.c: Likewise.
59086         * lib/set-mode-acl.c: Likewise.
59087         * lib/copy-acl.c: Likewise.
59088
59089 2008-06-08  Bruno Haible  <bruno@clisp.org>
59090
59091         Add support for AIX ACLs.
59092         * lib/acl-internal.h (acl_nontrivial): New declaration.
59093         * lib/file-has-acl.c (acl_nontrivial): New function.
59094         (file_has_acl): Add implementation using AIX 4 ACL API.
59095         * lib/set-mode-acl.c (qset_acl): Likewise.
59096         * lib/copy-acl.c (qcopy_acl): Likewise.
59097
59098 2008-06-08  Bruno Haible  <bruno@clisp.org>
59099
59100         Add support for HP-UX ACLs.
59101         * lib/acl-internal.h (acl_nontrivial): New declaration.
59102         * lib/file-has-acl.c (acl_nontrivial): New function.
59103         (file_has_acl): Add implementation using HP-UX 11 ACL API.
59104         * lib/set-mode-acl.c (qset_acl): Likewise.
59105         * lib/copy-acl.c (qcopy_acl): Likewise.
59106
59107 2008-06-08  Bruno Haible  <bruno@clisp.org>
59108
59109         Add support for Cygwin ACLs.
59110         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
59111         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
59112         the chmod_or_fchmod call.
59113         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
59114
59115 2008-06-08  Bruno Haible  <bruno@clisp.org>
59116
59117         Fix bug with setuid modes in Solaris 10+ code.
59118         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
59119         succeeded, when the mode contains some special bits.
59120
59121 2008-06-08  Bruno Haible  <bruno@clisp.org>
59122
59123         Add support for Solaris 7..10 ACLs.
59124         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
59125         declarations.
59126         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
59127         functions.
59128         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
59129         * lib/set-mode-acl.c (qset_acl): Likewise.
59130         * lib/copy-acl.c (qcopy_acl): Likewise.
59131
59132 2008-06-08  Bruno Haible  <bruno@clisp.org>
59133
59134         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
59135         declaration.
59136         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
59137         (acl_access_nontrivial): Remove MacOS X case.
59138         (file_has_acl): Use acl_extended_nontrivial.
59139         * lib/copy-acl.c (qcopy_acl): Likewise.
59140
59141 2008-06-08  Bruno Haible  <bruno@clisp.org>
59142
59143         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
59144
59145 2008-06-08  Jim Meyering  <meyering@redhat.com>
59146
59147         * modules/acl (Maintainer): Add Bruno Haible.
59148
59149 2008-06-07  Bruno Haible  <bruno@clisp.org>
59150
59151         Improve support for Tru64 ACLs.
59152         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
59153         ACL on OSF/1.
59154
59155 2008-06-07  Bruno Haible  <bruno@clisp.org>
59156
59157         Add support for MacOS X ACLs.
59158         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
59159         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
59160         * lib/set-mode-acl.c (qset_acl): Likewise.
59161         * lib/copy-acl.c (qcopy_acl): Likewise.
59162
59163 2008-06-07  Bruno Haible  <bruno@clisp.org>
59164
59165         Fix memory leak introduced on 2008-05-22.
59166         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
59167         use.
59168
59169 2008-06-07  Bruno Haible  <bruno@clisp.org>
59170
59171         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
59172         to construct an empty ACL.
59173
59174 2008-06-07  Bruno Haible  <bruno@clisp.org>
59175
59176         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
59177         precisely.
59178         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
59179
59180 2008-06-07  Bruno Haible  <bruno@clisp.org>
59181
59182         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
59183         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
59184
59185 2008-06-07  Bruno Haible  <bruno@clisp.org>
59186
59187         * doc/posix-functions/_setjmp.texi: Explain the use of this function
59188         regardless of POSIX.
59189         * doc/posix-functions/_longjmp.texi: Likewise.
59190         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
59191         SystemV platform in this case.
59192
59193 2008-06-06  Eric Blake  <ebb9@byu.net>
59194
59195         Document abort() bugs.
59196         * doc/posix-functions/abort.texi (abort): Mention anomalies.
59197
59198         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
59199         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
59200         sigsetjmp.
59201         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
59202         siglongjmp, but only as a macro.
59203         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
59204         is obsolete.
59205         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
59206
59207         Tweak documentation to cover cygwin argz bugs.
59208         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
59209         argz bug fix; no code change needed since no cygwin releases
59210         occurred between the last fix and the bug being tested.
59211         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
59212         module and recently fixed cygwin bugs.
59213         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
59214         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
59215         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
59216         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
59217         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
59218         Likewise.
59219         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
59220         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
59221         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
59222         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
59223         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
59224         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
59225         Likewise.
59226
59227         Avoid gcc warning on cygwin.
59228         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
59229         !ACL_NO_TRIVIAL]: Avoid unused variable.
59230
59231 2008-06-05  Eric Blake  <ebb9@byu.net>
59232
59233         Be tolerant of UNKNOWN version in gnulib-tool test dir.
59234         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
59235         git-version-gen fails to come up with a version.
59236         Reported by Simon Josefsson.
59237
59238 2008-06-05  Jim Meyering  <meyering@redhat.com>
59239             Paul Eggert  <eggert@cs.ucla.edu>
59240
59241         utimens.c: work around a probable Linux kernel bug
59242         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
59243         appears to be a kernel bug that causes utimensat to return 280
59244         instead of 0, indicating success.
59245
59246 2008-06-04  Bruno Haible  <bruno@clisp.org>
59247
59248         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
59249         2008-06-01 commit.
59250
59251 2008-06-04  Bruno Haible  <bruno@clisp.org>
59252
59253         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
59254         * lib/file-has-acl.c (acl_access_nontrivial): New function.
59255         (file_has_acl): Use it. Save errno afterwards.
59256         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
59257
59258 2008-06-03  Bruno Haible  <bruno@clisp.org>
59259
59260         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
59261         draft code. Simplify #ifs.
59262         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
59263         Put Solaris code after POSIX-draft code. Fix comments regarding
59264         Solaris 10, HP-UX. Mention Cygwin.
59265         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
59266
59267 2008-06-03  Eric Blake  <ebb9@byu.net>
59268
59269         Provide fallback for older kernels.
59270         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
59271         Provide runtime fallback if kernel lacks support.
59272         Reported by Mike Frysinger.
59273
59274 2008-06-02  Bruno Haible  <bruno@clisp.org>
59275
59276         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
59277         it exists.
59278
59279 2008-06-02  Bruno Haible  <bruno@clisp.org>
59280
59281         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
59282         * lib/copy-acl.c (qcopy_acl): Update comment.
59283
59284 2008-06-02  Bruno Haible  <bruno@clisp.org>
59285
59286         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
59287         like ACL APIs.
59288
59289 2008-06-02  Bruno Haible  <bruno@clisp.org>
59290
59291         * tests/test-file-has-acl.sh: Use different code for Cygwin.
59292         * tests/test-set-mode-acl.sh: Likewise.
59293         * tests/test-copy-acl.sh: Likewise.
59294         * tests/test-copy-file.sh: Likewise.
59295
59296 2008-06-02  Bruno Haible  <bruno@clisp.org>
59297
59298         * tests/test-file-has-acl.sh: Remove unused code.
59299
59300 2008-06-01  Bruno Haible  <bruno@clisp.org>
59301
59302         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
59303         (copy_acl): Just a wrapper around qcopy_acl that emits the error
59304         messages.
59305         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
59306
59307 2008-06-01  Bruno Haible  <bruno@clisp.org>
59308
59309         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
59310         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
59311         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
59312         APIs.
59313         * modules/acl-tests (configure.ac): Remove tests now contained in
59314         m4/acl.m4.
59315
59316 2008-06-02  Jim Meyering  <meyering@redhat.com>
59317
59318         announce-gen: use a better key-server host name
59319         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
59320         it may be more consistently reliable.  Suggested by Werner Koch
59321         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
59322
59323 2008-06-01  Bruno Haible  <bruno@clisp.org>
59324
59325         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
59326         Reported by Voroskoi Andras <voroskoi@gmail.com>.
59327
59328 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
59329
59330         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
59331
59332 2008-06-01  Bruno Haible  <bruno@clisp.org>
59333
59334         New ACL tests.
59335         * tests/test-file-has-acl.sh: New file.
59336         * tests/test-file-has-acl.c: New file.
59337         * tests/test-set-mode-acl.sh: New file.
59338         * tests/test-set-mode-acl.c: New file.
59339         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
59340         * tests/test-copy-acl.c: New file.
59341         * modules/acl-tests: New file, based on modules/copy-file-tests.
59342         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
59343         (Depends-on): Add acl-tests.
59344         (configure.ac): Remove checks.
59345         (Makefile.am): Don't create test-sameacls program here any more.
59346
59347 2008-06-01  Bruno Haible  <bruno@clisp.org>
59348
59349         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
59350         * tests/test-sameacls.c: Include progname.h.
59351         (main): Invoke set_program_name. Portability fixes for MacOS X,
59352         Solaris, HP-UX.
59353
59354 2008-06-01  Bruno Haible  <bruno@clisp.org>
59355
59356         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
59357         function.
59358         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
59359
59360 2008-06-01  Bruno Haible  <bruno@clisp.org>
59361
59362         * modules/rpmatch (Depends-on): Add strdup.
59363
59364 2008-06-01  Bruno Haible  <bruno@clisp.org>
59365
59366         * lib/pipe.c: Include unistd-safer.h.
59367         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
59368         * modules/pipe (Depends-on): Add unistd-safer.
59369
59370 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59371
59372         * modules/autobuild (configure.ac): Call AB_INIT.
59373
59374 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59375
59376         * tests/test-getaddrinfo.c: Don't print debug messages by default.
59377         Suggested by Bruno Haible <bruno@clisp.org>.
59378
59379 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59380
59381         * tests/test-base64.c: Cast size_t to unsigned long when invoking
59382         printf.  Use %lu instead of %d.  Reported by Bruno Haible
59383         <bruno@clisp.org>.
59384
59385 2008-05-29  Eric Blake  <ebb9@byu.net>
59386
59387         Prefer new POSIX 200x interfaces over futimesat.
59388         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
59389         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
59390         when available.
59391         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
59392
59393 2008-05-28  Bruno Haible  <bruno@clisp.org>
59394
59395         * modules/stpcpy (License): Change to LGPLv2+.
59396         Requested by David Lutterkort <dlutter@redhat.com>.
59397
59398 2008-05-27  Bruno Haible  <bruno@clisp.org>
59399
59400         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
59401         current mingw.
59402         Reported by Jose E. Marchesi <jemarch@gnu.org>.
59403
59404 2008-05-27  Bruno Haible  <bruno@clisp.org>
59405
59406         * modules/iconv_open (Link): New section, from module 'iconv'.
59407         * modules/striconv (Link): Likewise.
59408         * modules/striconveh (Link): Likewise.
59409         * modules/xstriconv (Link): Likewise.
59410         * modules/unicodeio (Link): Likewise.
59411         * modules/propername (Link): Likewise.
59412         Reported by Jim Meyering.
59413
59414 2008-05-26  Jim Meyering  <meyering@redhat.com>
59415
59416         sha256: do not artificially restrict buffer length to be < 2^32
59417         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
59418         uint32_t to size_t.
59419         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
59420         to match.
59421
59422         avoid unaligned access errors, e.g., on sparc
59423         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
59424         direct access through a possibly-unaligned uint64* pointer.
59425         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
59426         direct access through a possibly-unaligned uint32* pointer.
59427         Prompted by this patch from Tom "spot" Callaway:
59428         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
59429
59430         sha512.c: fix typo in comment
59431         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
59432
59433 2008-05-25  Bruno Haible  <bruno@clisp.org>
59434
59435         * lib/set-mode-acl.c: Renamed from lib/acl.c.
59436         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
59437         (Makefile.am): Update lib_SOURCES.
59438
59439 2008-05-25  Bruno Haible  <bruno@clisp.org>
59440
59441         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
59442
59443 2008-05-25  Jim Meyering  <meyering@redhat.com>
59444
59445         useless-if-before-free: freed expr may have white-space differences
59446         * build-aux/useless-if-before-free: Recognize cases in which the
59447         freed expression differs from the tested one in embedded white
59448         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
59449         $1 was used, so we can't make any regexp shy.  Improved tests now
59450         detect this.
59451
59452         useless-if-before-free: accept white space in the expression.
59453         * build-aux/useless-if-before-free: For now, any white space
59454         in the expression must be identical in the free argument.
59455
59456         useless-if-before-free: efficiency tweak
59457         * build-aux/useless-if-before-free: Make the expression-matching
59458         regexp "shy".
59459         Make the *outer* regexp shy, not the expr-matching one.
59460
59461         update code-in-comment to accept cast of free arg
59462         * build-aux/useless-if-before-free: Update regexp.
59463
59464 2008-05-25  Bruno Haible  <bruno@clisp.org>
59465
59466         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59467         * modules/copy-file-tests (Files, Makefile.am): Update.
59468         * tests/test-copy-file.c (func_test_copy): Update.
59469
59470 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59471
59472         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59473
59474 2008-05-23  Bruno Haible  <bruno@clisp.org>
59475
59476         Improve support for ACLs on OSF/1.
59477         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59478         Remove fallback for unknown flavors of ACLs.
59479
59480 2008-05-22  Bruno Haible  <bruno@clisp.org>
59481
59482         Add support for ACLs on OSF/1.
59483         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59484         replacements.
59485         (acl_free_text): New macro fallback.
59486         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59487         acl_free.
59488         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59489         acl_free_text function. Require AC_C_INLINE.
59490
59491 2008-05-22  Bruno Haible  <bruno@clisp.org>
59492
59493         Make copy_acl work on MacOS X 10.5.
59494         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59495         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59496         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59497         If MODE_INSIDE_ACL, don't assume that every system has the same text
59498         representation for ACLs as FreeBSD.
59499         * lib/copy-acl.c (copy_acl): Add support for platforms with
59500         !MODE_INSIDE_ACL.
59501         * lib/file-has-acl.c (file_has_acl): Likewise.
59502         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59503         FreeBSD, MacOS X, or IRIX, respectively.
59504
59505 2008-05-22  Bruno Haible  <bruno@clisp.org>
59506
59507         * lib/acl.h: Don't include <sys/acl.h>.
59508         (GETACLCNT): Move fallback to lib/acl-internal.h.
59509         * lib/acl-internal.h: Include <sys/acl.h> here.
59510         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59511
59512 2008-05-22  Bruno Haible  <bruno@clisp.org>
59513
59514         Split off copy_acl function to separate file.
59515         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59516         * lib/acl.c (copy_acl): Moved function to separate file.
59517         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59518         * modules/acl (Files): Add lib/copy-acl.c.
59519         (Makefiles.am): Augment lib_SOURCES.
59520
59521 2008-05-22  Bruno Haible  <bruno@clisp.org>
59522
59523         * modules/copy-file-tests: New file.
59524         * tests/test-copy-file.sh: New file.
59525         * tests/test-copy-file.c: New file.
59526         * tests/test-copy-file-sameacls.c: New file.
59527
59528 2008-05-22  Eric Blake  <ebb9@byu.net>
59529
59530         Avoid gcc warning.
59531         * tests/test-memcmp.c (main): Pass NULL indirectly.
59532
59533 2008-05-21  Bruno Haible  <bruno@clisp.org>
59534
59535         Add reference doc about ACLs.
59536         * doc/acl-resources.txt: New file.
59537         * doc/acl-cygwin.txt: New file.
59538
59539 2008-05-21  Bruno Haible  <bruno@clisp.org>
59540
59541         Avoid one more warning from gcc.
59542         * lib/vasnprintf.c (IF_LINT): Update comments.
59543         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59544
59545 2008-05-21  Jim Meyering  <meyering@redhat.com>
59546
59547         avoid a warning from gcc
59548         * lib/vasnprintf.c (IF_LINT): Define.
59549         (scale10_round_decimal_long_double):
59550         Use it to avoid a "may be used uninitialized" warning.
59551         (scale10_round_decimal_double): Likewise.
59552
59553 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59554
59555         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59556         declared.
59557
59558 2008-05-20  Bruno Haible  <bruno@clisp.org>
59559
59560         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59561         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59562
59563 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59564
59565         * modules/memcmp-tests: New file.
59566         * tests/test-memcmp.c: New file.
59567
59568 2008-05-19  Bruno Haible  <bruno@clisp.org>
59569
59570         * modules/propername (Notice, configure.ac): Put quoted "..." into
59571         --keyword option.
59572         * lib/propername.h: Update comments accordingly.
59573         Reported by Eric Blake.
59574
59575 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59576
59577         * modules/getpass-gnu (Depends-on): Add fseeko.
59578
59579 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59580
59581         * modules/base64-tests: New file.
59582
59583 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59584
59585         * lib/base64.c (base64_decode_ctx): If a decode context structure
59586         was passed in use it to ignore newlines.  If a context structure
59587         was _not_ passed in, continue to treat newlines as garbage (this
59588         is the historical behavior).  Formerly base64_decode.
59589         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59590         takes a decode context structure.
59591         * lib/base64.h (base64_decode): Macro for four-argument calls.
59592         (base64_decode_alloc): Likewise.
59593         * lib/base64.c (base64_decode_ctx): If a decode context structure
59594         was passed in use it to ignore newlines.  If a context structure
59595         was _not_ passed in, continue to treat newlines as garbage (this
59596         is the historical behavior).  Formerly base64_decode.
59597         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59598         takes a decode context structure.
59599         * lib/base64.h (base64_decode): Macro for four-argument calls.
59600         (base64_decode_alloc): Likewise.
59601
59602 2008-05-19  Jim Meyering  <meyering@redhat.com>
59603
59604         avoid a warning from gcc
59605         * lib/trim.c (IF_LINT): Define.
59606         (trim2): Use it to avoid a "may be used uninitialized" warning.
59607
59608         Fix doc typo.
59609         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59610
59611 2008-05-19  Bruno Haible  <bruno@clisp.org>
59612
59613         * doc/glibc-functions/getpass.texi: Document limits of other
59614         implementations.
59615
59616 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59617             Bruno Haible <bruno@clisp.org>
59618
59619         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59620
59621 2008-05-18  Bruno Haible  <bruno@clisp.org>
59622
59623         * modules/propername: New file, from GNU gettext.
59624         * lib/propername.h: New file, from GNU gettext.
59625         * lib/propername.c: New file, from GNU gettext.
59626         * MODULES.html.sh (Internationalization functions): Add propername.
59627
59628 2008-05-16  Jim Meyering  <meyering@redhat.com>
59629             Bruno Haible  <bruno@clisp.org>
59630
59631         Avoid some warnings from "gcc -Wshadow".
59632         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59633
59634 2008-05-15  Eric Blake  <ebb9@byu.net>
59635
59636         Extend previous patch to cygwin 1.7.0.
59637         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59638         fast implementation in cygwin >= 1.7.0.
59639         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59640         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59641
59642 2008-05-15  Bruno Haible  <bruno@clisp.org>
59643
59644         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59645         implementation in glibc >= 2.9.
59646         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59647         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59648
59649 2008-05-15  Bruno Haible  <bruno@clisp.org>
59650
59651         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59652         (Unicode string functions): Add unilbrk/*.
59653         Reported by Karl Berry.
59654
59655 2008-05-15  Eric Blake  <ebb9@byu.net>
59656
59657         Fix violation of <stdbool.h> replacement in regex.
59658         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59659         * lib/regexec.c (re_search_internal): Likewise.
59660         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59661
59662 2008-05-15  Jim Meyering  <meyering@redhat.com>
59663
59664         avoid distracting test output when git or cvs is not found
59665         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59666         * tests/test-vc-list-files-git.sh: Likewise.
59667
59668 2008-05-15  Eric Blake  <ebb9@byu.net>
59669
59670         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59671         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59672         glibc version.
59673         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59674         * doc/posix-functions/strstr.texi (strstr): Likewise.
59675         * lib/str-two-way.h (MAX): Sychronize with glibc.
59676
59677 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59678
59679         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59680         opr.ctx_type.
59681         (calc_first): Initialize constraint field.
59682         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59683         Fix grammar.
59684         (duplicate_node): Merge constraint field for all node types.
59685         (calc_eclosure_iter): Look at constraint field for all node types.
59686         * lib/regex_internal.c (create_cd_newstate): Don't look at
59687         opr.ctx_type.
59688
59689 2008-05-14  Bruno Haible  <bruno@clisp.org>
59690
59691         Help GCC to do better code generation.
59692         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59693         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59694         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59695         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59696         Declare with attribute 'malloc' if supported.
59697
59698 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59699
59700         use "echo STR|wc -c" rather than unportable "expr length STR"
59701         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59702         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59703
59704 2008-05-14  Jim Meyering  <meyering@redhat.com>
59705
59706         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59707         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59708         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59709         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59710         via Collin Lasse.
59711
59712 2008-05-14  Eric Blake  <ebb9@byu.net>
59713
59714         Avoid quadratic growth in gl_LIBSOURCES.
59715         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59716         Suggested by Bruno Haible.
59717
59718         Test xmemdup0.
59719         * modules/xmemdup0-tests: New file.
59720         * tests/test-xmemdup0.c: Likewise.
59721
59722 2008-05-13  Eric Blake  <ebb9@byu.net>
59723
59724         Split xmemdup0 into its own module.
59725         * modules/xmemdup0: New file.
59726         * lib/xmemdup0.h: Likewise.
59727         * lib/xmemdup0.c: Likewise.
59728         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59729         * lib/xalloc.h (xmemdup0): Remove.
59730         * lib/xmalloc.c (xmemdup0): Likewise.
59731
59732 2008-05-13  Eric Blake  <ebb9@byu.net>
59733             Bruno Haible  <bruno@clisp.org>
59734
59735         Reduce number of forks required during autoconf.
59736         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59737         and gl_LIBSOURCES_DIR.
59738         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59739         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59740         m4_syscmd per file.
59741         <m4_foreach_w>: Move...
59742         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59743
59744 2008-05-13  Eric Blake  <ebb9@byu.net>
59745
59746         * gnulib-tool: Fix various comment typos.
59747
59748 2008-05-12  Bruno Haible  <bruno@clisp.org>
59749
59750         Tailor the linebreaking algorithm.
59751         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59752
59753 2008-05-12  Bruno Haible  <bruno@clisp.org>
59754
59755         Update to Unicode 5.0.0.
59756         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59757         LBP_JV, LBP_JT. Redistribute values.
59758         (unilbrk_table): Change size.
59759         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59760         Unicode TR#14 rev. 22.
59761         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59762         LBP_JV, LBP_JT. Redistribute values.
59763         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59764         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59765         Update.
59766         * lib/unilbrk/lbrkprop1.h: Regenerated.
59767         * lib/unilbrk/lbrkprop2.h: Regenerated.
59768         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59769         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59770         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59771         Likewise.
59772         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59773         Likewise.
59774         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59775         result.
59776         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59777         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59778         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59779         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59780         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59781         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59782
59783 2008-05-11  Bruno Haible  <bruno@clisp.org>
59784
59785         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59786
59787 2008-05-11  Bruno Haible  <bruno@clisp.org>
59788
59789         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59790         * modules/unilbrk/gen-lbrk: New file.
59791
59792 2008-05-11  Bruno Haible  <bruno@clisp.org>
59793
59794         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59795         * m4/sha512.m4 (gl_SHA512): Likewise.
59796
59797 2008-05-11  Jim Meyering  <meyering@redhat.com>
59798
59799         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59800         * modules/crypto/sha256: New file.
59801         * modules/crypto/sha512: Likewise.
59802         * lib/sha256.c: Likewise.
59803         * lib/sha256.h: Likewise.
59804         * lib/sha512.c: Likewise.
59805         * lib/sha512.h: Likewise.
59806         * lib/u64.h: Likewise.
59807         * m4/sha256.m4: Likewise.
59808         * m4/sha512.m4: Likewise.
59809         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59810
59811 2008-05-10  Bruno Haible  <bruno@clisp.org>
59812
59813         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59814         (Input/Output <stdio.h>): Add xprintf.
59815         (Signal handling <signal.h>): Add strsignal.
59816         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59817         (Core language properties): Add func.
59818         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59819         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59820         strings.
59821         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59822         (Input/output): New section.
59823         (File system functions): Add openat-die, stat-macros.
59824         (Networking functions): Add sockets.
59825         (Unicode string functions): Add unictype/*.
59826         (Support for building libraries and executables): Add gperf.
59827         (Support for building documentation): Add agpl-3.0.
59828         (Misc): Add nocrash.
59829
59830 2008-05-10  Bruno Haible  <bruno@clisp.org>
59831
59832         * modules/unictype/gen-ctype: New file.
59833
59834 2008-05-10  Jim Meyering  <meyering@redhat.com>
59835
59836         Make chdir-safer.c more efficient on a system with no symlinks.
59837         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59838         also if ELOOP is zero.  Suggested by Bruno Haible.
59839
59840         Make chdir-safer.c slightly safer.
59841         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59842         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59843
59844         Avoid compile failure on systems without ELOOP (like mingw).
59845         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59846         Reported by Bruno Haible.
59847
59848 2008-05-10  Bruno Haible  <bruno@clisp.org>
59849
59850         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59851         (is_utf8_encoding): Use a case-insensitive comparison.
59852         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59853         streq.
59854
59855 2008-05-10  Bruno Haible  <bruno@clisp.org>
59856
59857         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59858         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59859         * lib/unilbrk/ulc-common.h (iconv_string_length,
59860         iconv_string_keeping_offsets): Remove declarations.
59861         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59862         Don't include <iconv.h>, streq.h, xsize.h.
59863         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59864         conversion.
59865         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59866         <iconv.h>, streq.h, xsize.h.
59867         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59868         conversion.
59869         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59870         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59871         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59872         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59873
59874 2008-05-10  Bruno Haible  <bruno@clisp.org>
59875
59876         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59877         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59878
59879         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59880         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59881
59882         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59883         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59884
59885         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59886         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59887
59888         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59889         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59890
59891         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59892         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59893
59894         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59895         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59896
59897         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59898         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59899
59900 2008-05-10  Bruno Haible  <bruno@clisp.org>
59901
59902         Split up 'linebreak' module.
59903         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59904         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59905         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59906         modifications.
59907         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59908         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59909         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59910         lib/linebreak.c.
59911         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59912         lib/linebreak.c.
59913         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59914         lib/linebreak.c.
59915         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59916         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59917         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59918         lib/linebreak.c.
59919         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59920         lib/linebreak.c.
59921         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59922         lib/linebreak.c.
59923         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59924         lib/linebreak.c.
59925         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59926         lib/linebreak.c.
59927         * modules/unilbrk/base: New file.
59928         * modules/unilbrk/tables: New file.
59929         * modules/unilbrk/u8-possible-linebreaks: New file.
59930         * modules/unilbrk/u16-possible-linebreaks: New file.
59931         * modules/unilbrk/u32-possible-linebreaks: New file.
59932         * modules/unilbrk/ulc-common: New file.
59933         * modules/unilbrk/ulc-possible-linebreaks: New file.
59934         * modules/unilbrk/u8-width-linebreaks: New file.
59935         * modules/unilbrk/u16-width-linebreaks: New file.
59936         * modules/unilbrk/u32-width-linebreaks: New file.
59937         * modules/unilbrk/ulc-width-linebreaks: New file.
59938         * lib/linebreak.h: Remove file.
59939         * lib/linebreak.c: Remove file.
59940         * m4/linebreak.m4: Remove file.
59941         * modules/linebreak: Remove file.
59942         * NEWS: Mention the changes.
59943
59944 2008-05-09  Eric Blake  <ebb9@byu.net>
59945
59946         Add xmemdup0.
59947         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59948         implementation.
59949         * lib/xmalloc.c (xmemdup0): New C implementation.
59950
59951 2008-05-08  Bruno Haible  <bruno@clisp.org>
59952
59953         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59954
59955 2008-05-07  Eric Blake  <ebb9@byu.net>
59956
59957         Support cross-compilation of <wctype.h>.
59958         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59959         AC_CACHE_CHECK.
59960
59961 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59962
59963         * build-aux/vc-list-files: Add support for bzr.
59964
59965 2008-05-03  Jim Meyering  <meyering@redhat.com>
59966
59967         avoid failed assertion with tight malloc
59968         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59969
59970 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59971
59972         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59973         are needed from arpa/inet.h.
59974         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59975         Reported by Bruno Haible.
59976
59977 2008-05-02  Jim Meyering  <meyering@redhat.com>
59978
59979         avoid compilation error on FreeBSD 6
59980         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59981
59982 2008-05-01  Jim Meyering  <meyering@redhat.com>
59983
59984         useless-if-before-free: correct --help's exit status description
59985         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59986         for one or more matches, etc.  Reported by Bruno Haible.
59987
59988         vc-list-files: make the stand-alone gnulib test work
59989         * modules/vc-list-files-tests (configure.ac):
59990         Define and AC_SUBST abs_aux_dir.
59991         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59992         $(abs_top_srcdir) to each script and having each of them
59993         duplicate the work of setting PATH, set PATH here, using
59994         the new variable, abs_aux_dir instead.
59995         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59996         * tests/test-vc-list-files-git.sh: Likewise.
59997         Reported by Bruno Haible.
59998
59999 2008-05-01  Bruno Haible  <bruno@clisp.org>
60000
60001         * lib/getndelim2.c (getndelim2): Fix newsize computation during
60002         reallocation. Rename 'done' to 'found_delimiter'.
60003
60004 2008-05-01  Jim Meyering  <meyering@redhat.com>
60005
60006         vc-list-files: accommodate /bin/sh like the one from Solaris 10
60007         * build-aux/vc-list-files: Use `...`, not $(...).
60008
60009 2008-04-30  Jim Meyering  <meyering@redhat.com>
60010
60011         add tests for vc-list-files
60012         * modules/vc-list-files-tests: New module.
60013         * tests/test-vc-list-files-cvs.sh: New file.
60014         * tests/test-vc-list-files-git.sh: New file.
60015
60016         avoid a warning from gcc
60017         * lib/getndelim2.c (IF_LINT): Define.
60018         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
60019
60020         vc-list-files: work properly with build-aux/cvsu, too
60021         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
60022         to all cvs-based clauses.
60023
60024         vc-list-files: work properly in the CVS+awk case, too
60025         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
60026
60027         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
60028         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
60029         take more than one file argument, so .  Add quotes, just in case $dir
60030         ever contains a shell meta-character.  Prompted by Soren Hansen in
60031         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
60032
60033 2008-04-29  Eric Blake  <ebb9@byu.net>
60034
60035         Optimize getndelim2 to use block operations when possible.
60036         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
60037         freadseek, and memchr2.
60038         * lib/getndelim2.c (getndelim2): Use them for block reads.
60039
60040 2008-04-29  Bruno Haible  <bruno@clisp.org>
60041
60042         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
60043         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60044         * modules/inet_ntop (Depends-on): Add extensions.
60045         * modules/inet_pton (Depends-on): Likewise.
60046         Reported by Simon Josefsson.
60047
60048 2008-04-29  Jim Meyering  <meyering@redhat.com>
60049
60050         When the is more than one match in a block, match all of them.
60051         * build-aux/useless-if-before-free: Iterate through each block
60052         until there are no more matches.
60053
60054         Fix broken useless-if-before-free script.
60055         * build-aux/useless-if-before-free: Fix typo: missing "?" after
60056         the expression to match cast of argument to free-like function.
60057
60058 2008-04-29  Eric Blake  <ebb9@byu.net>
60059
60060         Use new header.
60061         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
60062
60063 2008-04-29  Jim Meyering  <meyering@redhat.com>
60064
60065         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
60066         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
60067         by gnulib to exist and to declare e.g., inet_ntop.
60068         Don't include "inet_ntop.h", now removed.
60069
60070         * m4/arpa_inet_h.m4: Remove trailing blanks.
60071
60072 2008-04-29  Eric Blake  <ebb9@byu.net>
60073
60074         Silence valgrind on safe reads beyond potential array bounds.
60075         * lib/rawmemchr.valgrind: New file.
60076         * lib/strchrnul.valgrind: Likewise.
60077         * modules/rawmemchr (Files): Distribute new file.
60078         * modules/strchrnul (Files): Likewise.
60079         Suggested by Bruno Haible.
60080
60081 2008-04-29  Bruno Haible  <bruno@clisp.org>
60082
60083         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
60084         (inet_ntop, inet_pton): Change portability warning's wording.
60085         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
60086         Invoke gl_CHECK_NEXT_HEADERS.
60087         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
60088         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
60089         set ARPA_INET_H.
60090         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60091         * modules/arpa_inet (Description): No longer only for systems that
60092         lack it.
60093         (Depends-on): Add include_next.
60094         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
60095         HAVE_ARPA_INET_H.
60096
60097 2008-04-29  Jim Meyering  <meyering@redhat.com>
60098
60099         * modules/mkdir (License): Re-license as LGPLv2+.
60100
60101 2008-04-29  Bruno Haible  <bruno@clisp.org>
60102
60103         * modules/rawmemchr (Maintainer): Set to Eric.
60104         * modules/strchrnul (Maintainer): Likewise.
60105
60106 2008-04-29  Simon Josefsson  <simon@josefsson.org>
60107
60108         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
60109         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
60110
60111         * modules/arpa_inet (arpa/inet.h): Use them.
60112
60113 2008-04-28  Eric Blake  <ebb9@byu.net>
60114
60115         Test getndelim2.
60116         * modules/getndelim2-tests: New file.
60117         * tests/test-getndelim2.c: Likewise.
60118         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
60119         stream.
60120         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
60121
60122         * MODULES.html.sh: Document new module.
60123
60124 2008-04-20  Bruno Haible  <bruno@clisp.org>
60125
60126         * lib/c-stack.c (die): Use raise.
60127         * modules/c-stack (Depends-on): Add raise.
60128
60129 2008-04-28  Bruno Haible  <bruno@clisp.org>
60130
60131         Expect rpmatch to be declared.
60132         * lib/yesno.c (rpmatch): Remove declaration.
60133
60134         Declare rpmatch.
60135         * lib/stdlib.in.h (rpmatch): New declaration.
60136         * lib/rpmatch.c: Include <stdlib.h> first.
60137         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
60138         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
60139         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
60140         HAVE_RPMATCH.
60141         * modules/rpmatch (Depends-on): Add stdlib, extensions.
60142         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60143         (Include): Set to <stdlib.h>.
60144         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
60145         HAVE_RPMATCH.
60146         * NEWS: Document the change.
60147
60148 2008-04-28  Bruno Haible  <bruno@clisp.org>
60149
60150         Change rpmatch to use nl_langinfo when appropriate.
60151         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
60152         (N_): New macro.
60153         (localized_pattern): New function/macro.
60154         (try): Remove match, nomatch arguments. Copy the pattern into safe
60155         memory before caching it.
60156         (rpmatch): Use localized_pattern. Add translator comments.
60157         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
60158         Suggested by Eric Blake.
60159         * modules/rpmatch (Depends-on): Add stdbool.
60160
60161 2008-04-28  Eric Blake  <ebb9@byu.net>
60162
60163         Add rawmemchr module, matching glibc.
60164         * modules/string (Makefile.am): New indicator.
60165         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
60166         * lib/string.in.h (rawmemchr): Declare when appropriate.
60167         * modules/rawmemchr: New file.
60168         * m4/rawmemchr.m4: Likewise.
60169         * lib/rawmemchr.c: Likewise.
60170         * modules/rawmemchr-tests: Likewise.
60171         * tests/test-rawmemchr.c: Likewise.
60172         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
60173         module.
60174         * modules/strchrnul (Depends-on): Add rawmemchr.
60175         * lib/strchrnul.c (strchrnul): Optimize a corner case.
60176
60177         Whitespace cleanup.
60178         * tests/test-strchrnul.c: Reindent.
60179         * lib/strchrnul.c: Likewise.
60180
60181         Optimize and test strchrnul.
60182         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
60183         * modules/strchrnul-tests: New file.
60184         * tests/test-strchrnul.c: Likewise.
60185
60186         Remove intprops dependency.
60187         * modules/memchr (Depends-on): Remove intprops.
60188         * modules/memrchr (Depends-on): Likewise.
60189         * modules/memchr2 (Depends-on): Likewise.
60190         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
60191         * lib/memrchr.c (__memrchr): Likewise.
60192         * lib/memrchr2.c (memchr2): Likewise.
60193         Reported by Simon Josefsson.
60194
60195 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60196
60197         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
60198         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60199
60200 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60201
60202         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
60203
60204         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
60205
60206         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
60207
60208         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
60209         declarations.
60210         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
60211
60212         * m4/inet_pton.m4: Don't check for header files.
60213
60214         * m4/inet_ntop.m4: Don't check for header files.
60215
60216 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60217
60218         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
60219         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
60220         trigger for cygwin).
60221         Reported by Bruno Haible  <bruno@clisp.org>.
60222
60223 2008-04-28  Bruno Haible  <bruno@clisp.org>
60224
60225         * doc/posix-functions/strdup.texi: Mention mingw problem.
60226
60227 2008-04-27  Bruno Haible  <bruno@clisp.org>
60228
60229         * modules/stat-time-tests (Depends-on): Add sleep.
60230         * tests/test-stat-time.c (force_unlink): New function.
60231         (cleanup): Use it.
60232         (test_mtime): Remove the ctime related tests.
60233         (test_ctime): New function, containing the ctime related tests.
60234         (main): Call test_ctime, except on native Windows platforms.
60235
60236 2008-04-27  Bruno Haible  <bruno@clisp.org>
60237
60238         * lib/rpmatch.c (rpmatch): Add some comments.
60239         Reported by James Youngman <jay@gnu.org>.
60240
60241 2008-04-27  Bruno Haible  <bruno@clisp.org>
60242
60243         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
60244         quiet NaNs.
60245
60246 2008-04-27  Bruno Haible  <bruno@clisp.org>
60247
60248         Make test-yesno.sh work on mingw.
60249         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
60250         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
60251         (main): Set stdin to binary mode.
60252         * modules/yesno-tests (Depends-on): Add binary-io.
60253
60254 2008-04-27  Bruno Haible  <bruno@clisp.org>
60255
60256         Fix 'isfinite' on x86, x86_64, ia64 platforms.
60257         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
60258         argument that lie outside the IEEE 854 domain.
60259         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
60260         (gl_ISFINITE): Use it.
60261         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
60262
60263 2008-04-27  Bruno Haible  <bruno@clisp.org>
60264
60265         Allow local renaming in config.h.
60266         * lib/memrchr.c (memrchr): Don't undefine outside libc.
60267
60268 2008-04-27  Bruno Haible  <bruno@clisp.org>
60269
60270         * lib/memchr.c (__memchr): Change type of 'i'.
60271         * lib/memchr2.c (memchr2): Likewise.
60272
60273 2008-04-26  Eric Blake  <ebb9@byu.net>
60274         and Bruno Haible  <bruno@clisp.org>
60275
60276         Optimize and test memrchr.
60277         * modules/memrchr (Depends-on): Add intprops.
60278         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
60279         * modules/memrchr-tests: New file.
60280         * tests/test-memrchr.c: New file.
60281
60282 2008-04-26  Bruno Haible  <bruno@clisp.org>
60283
60284         Add tentative support for DragonFly BSD.
60285         * lib/stdio-impl.h: Add macros for DragonFly BSD.
60286         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
60287         fp.
60288         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60289         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
60290         * lib/fpurge.c (fpurge): Likewise.
60291         * lib/freadable.c (freaadable): Likewise.
60292         * lib/freadahead.c (freadahead): Likewise.
60293         * lib/freading.c (freading): Likewise.
60294         * lib/freadptr.c (freadptr): Likewise.
60295         * lib/freadseek.c (freadptrinc): Likewise.
60296         * lib/fseeko.c (fseeko): Likewise.
60297         * lib/fseterr.c (fseterr): Likewise.
60298         * lib/fwritable.c (fwritable): Likewise.
60299         * lib/fwriting.c (fwriting): Likewise.
60300
60301 2008-04-26  Bruno Haible  <bruno@clisp.org>
60302
60303         * lib/stdio-impl.h: New file.
60304         * lib/fbufmode.c: Include stdio-impl.h.
60305         (fbufmode): Use fp_, remove redundant #defines.
60306         * lib/fflush.c: Include stdio-impl.h.
60307         (clear_ungetc_buffer): Remove redundant #defines.
60308         * lib/fpurge.c: Include stdio-impl.h.
60309         (fpurge): Remove redundant #defines.
60310         * lib/freadable.c: Include stdio-impl.h.
60311         (freadable): Remove redundant #defines.
60312         * lib/freadahead.c: Include stdio-impl.h.
60313         (freadahead): Remove redundant #defines.
60314         * lib/freading.c: Include stdio-impl.h.
60315         (freading): Remove redundant #defines.
60316         * lib/freadptr.c: Include stdio-impl.h.
60317         (freadptr): Remove redundant #defines.
60318         * lib/freadseek.c: Include stdio-impl.h.
60319         (freadptrinc): Remove redundant #defines.
60320         * lib/fseeko.c: Include stdio-impl.h.
60321         (rpl_fseeko): Remove redundant #defines.
60322         * lib/fseterr.c: Include stdio-impl.h.
60323         (fseterr): Remove redundant #defines.
60324         * lib/fwritable.c: Include stdio-impl.h.
60325         (fwritable: Remove redundant #defines.
60326         * lib/fwriting.c: Include stdio-impl.h.
60327         (fwriting): Remove redundant #defines.
60328         * modules/fbufmode (Files): Add lib/stdio-impl.h.
60329         * modules/fflush (Files): Likewise.
60330         * modules/fpurge (Files): Likewise.
60331         * modules/freadable (Files): Likewise.
60332         * modules/freadahead (Files): Likewise.
60333         * modules/freading (Files): Likewise.
60334         * modules/freadptr (Files): Likewise.
60335         * modules/freadseek (Files): Likewise.
60336         * modules/fseeko (Files): Likewise.
60337         * modules/fseterr (Files): Likewise.
60338         * modules/fwritable (Files): Likewise.
60339         * modules/fwriting (Files): Likewise.
60340
60341 2008-04-26  Bruno Haible  <bruno@clisp.org>
60342
60343         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60344         restore_seek_optimization, update_fpos_cache): New functions, extracted
60345         from rpl_fflush.
60346         (rpl_fflush): Use them.
60347         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
60348         (gl_REPLACE_FFLUSH): Use it.
60349
60350 2008-04-26  Bruno Haible  <bruno@clisp.org>
60351
60352         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
60353         on Solaris.
60354         * tests/test-xstrtoimax.sh: Likewise.
60355         * tests/test-xstrtoumax.sh: Likewise.
60356         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60357
60358 2008-04-26  Bruno Haible  <bruno@clisp.org>
60359
60360         * modules/memchr-tests: New file.
60361         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
60362
60363 2008-04-26  Eric Blake  <ebb9@byu.net>
60364             Bruno Haible  <bruno@clisp.org>
60365
60366         * lib/memchr.c: Include intprops.h.
60367         (__memchr): Optimize parallel detection of matching bytes. Rename local
60368         variables. Add explanatory comments.
60369
60370 2008-04-26  Bruno Haible  <bruno@clisp.org>
60371
60372         Fix module 'memchr', broken since 2000-10-28.
60373         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
60374
60375 2008-04-26  Bruno Haible  <bruno@clisp.org>
60376
60377         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
60378         comments.
60379
60380 2008-04-25  Eric Blake  <ebb9@byu.net>
60381
60382         Use native fstatat on cygwin 1.7.0.
60383         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
60384         first.
60385
60386 2008-04-23  Eric Blake  <ebb9@byu.net>
60387
60388         Improve memchr2 performance.
60389         * lib/memchr2.c (memchr2): Further optimize parallel detection of
60390         NUL bytes.
60391         * modules/memchr2 (Depends-on): Use intprops.h.
60392
60393 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60394
60395         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
60396         an inline function instead of a CPP macro.  Patch by Ben Pfaff
60397         <blp@cs.stanford.edu>.
60398
60399 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60400
60401         * lib/arpa_inet.in.h: New file.
60402
60403         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
60404         (Makefile.am): Sed in substitute header file.
60405
60406         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
60407         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
60408
60409         * modules/inet_ntop (configure.ac): Use
60410         gl_ARPA_INET_MODULE_INDICATOR.
60411
60412         * modules/inet_pton (configure.ac): Use
60413         gl_ARPA_INET_MODULE_INDICATOR.
60414
60415 2008-04-22  Jim Meyering  <meyering@redhat.com>
60416
60417         * modules/verify (License): Re-license as LGPLv2+.
60418
60419 2008-04-22  Simon Josefsson  <simon@josefsson.org>
60420
60421         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
60422         parameter to void* as per POSIX standard (MinGW uses char*).
60423
60424 2008-04-21  Bruno Haible  <bruno@clisp.org>
60425
60426         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60427         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60428         Define to replacements if REPLACE_ISWCNTRL is 1.
60429         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
60430         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
60431         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
60432         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
60433         what it fixes.
60434         * doc/posix-functions/iswalpha.texi: Likewise.
60435         * doc/posix-functions/iswblank.texi: Likewise.
60436         * doc/posix-functions/iswcntrl.texi: Likewise.
60437         * doc/posix-functions/iswdigit.texi: Likewise.
60438         * doc/posix-functions/iswgraph.texi: Likewise.
60439         * doc/posix-functions/iswlower.texi: Likewise.
60440         * doc/posix-functions/iswprint.texi: Likewise.
60441         * doc/posix-functions/iswpunct.texi: Likewise.
60442         * doc/posix-functions/iswspace.texi: Likewise.
60443         * doc/posix-functions/iswupper.texi: Likewise.
60444         * doc/posix-functions/iswxdigit.texi: Likewise.
60445         Reported by Alain Guibert.
60446
60447 2008-04-21  Bruno Haible  <bruno@clisp.org>
60448
60449         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
60450         Patch by Alain Guibert.
60451
60452 2008-04-21  Bruno Haible  <bruno@clisp.org>
60453
60454         Fix test failures on mingw.
60455         * tests/test-xstrtol.c (print_no_progname): New function.
60456         (main): Install it in error_print_progname hook.
60457         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60458         * tests/test-xstrtoimax.sh: Likewise.
60459         * tests/test-xstrtoumax.sh: Likewise.
60460
60461 2008-04-21  Bruno Haible  <bruno@clisp.org>
60462
60463         Fix test failure on mingw.
60464         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60465
60466 2008-04-21  Bruno Haible  <bruno@clisp.org>
60467
60468         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60469         Actually assign a value.
60470
60471 2008-04-20  Bruno Haible  <bruno@clisp.org>
60472
60473         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60474         take 2.
60475         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60476         'canonicalize-lgpl' module is also used.
60477         * lib/canonicalize-lgpl.c: Undo last change.
60478         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60479
60480 2008-04-20  Bruno Haible  <bruno@clisp.org>
60481
60482         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60483         config.h. Provide _mkdir based fallback for mingw.
60484         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60485         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60486         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60487         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60488         rather than defining mkdir in config.h.
60489         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60490         (gl_SYS_STAT_H_DEFAULTS): New macro.
60491         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60492         HAVE_IO_H any more.
60493         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60494         HAVE_DECL_MKDIR and HAVE_IO_H.
60495
60496 2008-04-20  Bruno Haible  <bruno@clisp.org>
60497
60498         * lib/isapipe.c: Port to native Windows platforms.
60499
60500 2008-04-20  Bruno Haible  <bruno@clisp.org>
60501
60502         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60503
60504 2008-04-21  Eric Blake  <ebb9@byu.net>
60505
60506         Work around preprocessors that don't handle UINTMAX_MAX.
60507         * lib/memchr2.c (memchr2): Avoid embedded #if.
60508         Reported by Alain Guibert, fix suggested by Bruno Haible.
60509
60510 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60511
60512         * doc/posix-functions/strftime.texi (strftime): Explain better
60513         Windows incompatibility.  Suggested by Micah Cowan
60514         <micah@cowan.name>.
60515
60516 2008-04-20  Bruno Haible  <bruno@clisp.org>
60517
60518         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60519         unistr/u8-mblen.
60520
60521 2008-04-20  Bruno Haible  <bruno@clisp.org>
60522
60523         Fix test failure on platforms with non-GNU iconv.
60524         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60525         (U_TO_U8): Use it, rather than u16_to_u8.
60526         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60527         units at the end of the input string.
60528         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60529
60530 2008-04-20  Bruno Haible  <bruno@clisp.org>
60531
60532         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60533         when the resulting length is 0.
60534         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60535
60536 2008-04-20  Bruno Haible  <bruno@clisp.org>
60537
60538         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60539         works.
60540         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60541
60542 2008-04-20  Bruno Haible  <bruno@clisp.org>
60543
60544         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60545         * modules/tsearch-tests (configure.ac): Test for initstate function.
60546
60547 2008-04-20  Bruno Haible  <bruno@clisp.org>
60548
60549         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60550         for nlink_t if missing.
60551         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60552
60553 2008-04-19  Bruno Haible  <bruno@clisp.org>
60554
60555         Work around snprintf bug on Linux libc5.
60556         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60557         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60558         gl_SNPRINTF_SIZE1.
60559         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60560         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60561         that test failed.
60562         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60563         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60564         * modules/snprintf (Files): Add m4/printf.m4.
60565         * modules/vsnprintf (Files): Likewise.
60566         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60567         * doc/posix-functions/vsnprintf.texi: Likewise.
60568
60569 2008-04-19  Bruno Haible  <bruno@clisp.org>
60570
60571         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60572         from 0.0058 to less than 10^-7.
60573
60574 2008-04-19  Bruno Haible  <bruno@clisp.org>
60575
60576         Fix rounding when a precision is given.
60577         * lib/vasnprintf.c (is_borderline): New function.
60578         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60579         9...9x.
60580         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60581         %e, %g.
60582         * tests/test-vasprintf-posix.c (test_function): Likewise.
60583         * tests/test-snprintf-posix.h (test_function): Likewise.
60584         * tests/test-sprintf-posix.h (test_function): Likewise.
60585         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60586         * tests/test-printf-posix.h (test_function): Likewise.
60587         * tests/test-printf-posix.output: Update.
60588         Reported by John Darrington <john@darrington.wattle.id.au> via
60589         Ben Pfaff <blp@cs.stanford.edu>.
60590
60591 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60592
60593         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60594         Suggested by Bruno Haible <bruno@clisp.org>.
60595
60596 2008-04-17  Bruno Haible  <bruno@clisp.org>
60597
60598         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60599         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60600         implementation.
60601         Patch by Bruce Merry <bmerry@gmail.com>.
60602
60603 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60604
60605         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60606         doesn't work under Windows.
60607
60608 2008-04-16  Bruno Haible  <bruno@clisp.org>
60609
60610         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60611         New macros.
60612         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60613         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60614         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60615         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60616         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60617         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60618         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60619         macros.
60620         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60621         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60622         Northern Sotho, Uighur.
60623
60624 2008-04-16  Bruno Haible  <bruno@clisp.org>
60625
60626         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60627         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60628         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60629         Reported by Daniel Bergström <daniel@octocode.com>.
60630
60631 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60632             Bruno Haible  <bruno@clisp.org>
60633
60634         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60635         function.
60636         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60637         New functions, mostly extracted from gl_locale_name_default.
60638         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60639
60640 2008-04-16  Eric Blake  <ebb9@byu.net>
60641
60642         Adjust strtod detection to catch glibc 2.7 bug.
60643         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60644         Reported by John Gatewood Ham.
60645
60646 2008-04-16  Bruno Haible  <bruno@clisp.org>
60647
60648         Add tentative support for Linux libc5.
60649         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60650         * lib/fpurge.c (fpurge): Likewise.
60651         * lib/freadable.c (freadable): Likewise.
60652         * lib/freadahead.c (freadahead): Likewise.
60653         * lib/freading.c (freading): Likewise.
60654         * lib/freadptr.c (freadptr): Likewise.
60655         * lib/freadseek.c (freadptrinc): Likewise.
60656         * lib/fseeko.c (rpl_fseeko): Likewise.
60657         * lib/fseterr.c (fseterr): Likewise.
60658         * lib/fwritable.c (fwritable): Likewise.
60659         * lib/fwriting.c (fwriting): Likewise.
60660         Reported by Alain Guibert <alguibert+bts@free.fr>.
60661
60662 2008-04-15  Bruno Haible  <bruno@clisp.org>
60663
60664         * modules/mathl (configure.ac): Define module indicator.
60665
60666 2008-04-15  Bruno Haible  <bruno@clisp.org>
60667
60668         * lib/logl.c (logl): Remove unused variables.
60669
60670 2008-04-15  Bruno Haible  <bruno@clisp.org>
60671
60672         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60673         fails.
60674
60675 2008-04-15  Bruno Haible  <bruno@clisp.org>
60676
60677         * lib/trim.c (trim2): Fix argument of isspace() macro.
60678
60679 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60680
60681         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60682         to 0.
60683         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60684
60685 2008-04-14  Bruno Haible  <bruno@clisp.org>
60686
60687         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60688         AC_LANG_PROGRAM argument.
60689         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60690         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60691         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60692         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60693         * m4/math_h.m4 (gl_MATH_H): Likewise.
60694         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60695         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60696         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60697         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60698         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60699         * m4/regex.m4 (gl_REGEX): Likewise.
60700         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60701         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60702         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60703         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60704         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60705         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60706         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60707         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60708
60709 2008-04-14  Jim Meyering  <meyering@redhat.com>
60710
60711         test-strtod: fix typos: s/abs/fabs/
60712         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60713
60714 2008-04-13  Bruno Haible  <bruno@clisp.org>
60715
60716         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60717         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60718         module is also used and while not building the reloc-wrapper.
60719
60720 2008-04-13  Bruno Haible  <bruno@clisp.org>
60721
60722         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60723
60724 2008-04-13  Bruno Haible  <bruno@clisp.org>
60725
60726         Fix AIX compilation failure introduced on 2008-04-02.
60727         * tests/test-frexp.c (exp): Undefine before redefining.
60728         * tests/test-frexpl.c (exp): Likewise.
60729
60730 2008-04-13  Bruno Haible  <bruno@clisp.org>
60731
60732         Work around a HP-UX stdio bug.
60733         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60734         * tests/test-ftello.c (main): Likewise.
60735         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60736         * doc/posix-functions/ftello.texi: Likewise.
60737
60738 2008-04-13  Bruno Haible  <bruno@clisp.org>
60739
60740         Make test-signbit pass on HP-UX/hppa.
60741         * tests/test-signbit.c (minus_zerol): New variable.
60742         (test_signbitl): Use it.
60743
60744 2008-04-13  Bruno Haible  <bruno@clisp.org>
60745
60746         Make truncl work on OSF/1 4.0.
60747         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60748         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60749         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60750         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60751         HAVE_DECL_TRUNCL.
60752         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60753         HAVE_DECL_TRUNCL.
60754         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60755
60756 2008-04-13  Bruno Haible  <bruno@clisp.org>
60757
60758         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60759
60760 2008-04-13  Bruno Haible  <bruno@clisp.org>
60761
60762         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60763         expression, so as to avoid HP-UX 11 cc compiler bug.
60764
60765 2008-04-13  Bruno Haible  <bruno@clisp.org>
60766
60767         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60768
60769 2008-04-13  Bruno Haible  <bruno@clisp.org>
60770
60771         * lib/git-merge-changelog.c: Remove empty declaration outside of
60772         functions.
60773
60774 2008-04-13  Bruno Haible  <bruno@clisp.org>
60775
60776         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60777
60778 2008-04-13  Bruno Haible  <bruno@clisp.org>
60779
60780         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60781         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60782         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60783         also if it exists but lacks definitions of the SHUT_* macros.
60784         * modules/sys_socket (Description): Update.
60785         Reported by Elbert Pol <e.pol@chello.nl>.
60786
60787 2008-04-13  Bruno Haible  <bruno@clisp.org>
60788
60789         * lib/localcharset.c (OS2): Don't redefine if already defined.
60790         Reported by Elbert Pol <e.pol@chello.nl>.
60791
60792 2008-04-13  Bruno Haible  <bruno@clisp.org>
60793
60794         * lib/binary-io.h [__EMX__]: Include <io.h>.
60795         Reported by Elbert Pol <e.pol@chello.nl>.
60796
60797 2008-04-12  Bruno Haible  <bruno@clisp.org>
60798
60799         * lib/fpucw.h: Enable the definitions also for x86_64.
60800         Needed for NetBSD/x86_64.
60801         Reported by Thomas Klausner <tk@giga.or.at>.
60802
60803 2008-04-12  Bruno Haible  <bruno@clisp.org>
60804
60805         * tests/test-strtod.c: Include isnand.h.
60806         (main): Use isnand instead of isnan.
60807         Reported by Jim Meyering.
60808
60809 2008-04-12  Bruno Haible  <bruno@clisp.org>
60810
60811         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60812         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60813
60814 2008-04-12  Jim Meyering  <meyering@redhat.com>
60815
60816         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60817
60818 2008-04-12  Bruno Haible  <bruno@clisp.org>
60819
60820         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60821         Reported by Elbert Pol <e.pol@chello.nl>.
60822
60823 2008-04-12  Eric Blake  <ebb9@byu.net>
60824
60825         Work around Solaris 10 math.h bug.
60826         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60827         (gl_MATH_H_DEFAULTS): Set up default.
60828         * modules/math (Makefile.am): Replace new indicators.
60829         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60830         * tests/test-math.c (main): Test this.
60831         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60832         * doc/posix-headers/math.texi (math.h): Mention bug.
60833         Reported by Nelson H. F. Beebe and Jim Meyering.
60834
60835 2008-04-11  Bruno Haible  <bruno@clisp.org>
60836
60837         Adapt to future versions of Apple GCC.
60838         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60839         Reported by Peter O'Gorman <peter@pogma.com>.
60840
60841 2008-04-11  Bruno Haible  <bruno@clisp.org>
60842
60843         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60844
60845 2008-04-11  Bruno Haible  <bruno@clisp.org>
60846
60847         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60848
60849         * modules/getaddrinfo-tests (Makefile.am): Define
60850         test_getaddrinfo_LDADD.
60851
60852 2008-04-11  Bruno Haible  <bruno@clisp.org>
60853
60854         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60855         (init): Fix syntax error.
60856         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60857         is declared.
60858
60859 2008-04-11  Bruno Haible  <bruno@clisp.org>
60860
60861         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60862         * modules/glob (Depends-on): Add stdbool.
60863
60864 2008-04-11  Bruno Haible  <bruno@clisp.org>
60865
60866         * lib/trim.c: Include <string.h>.
60867
60868 2008-04-11  Eric Blake  <ebb9@byu.net>
60869
60870         Avoid compile failure on OS/2.
60871         * lib/regex_internal.h (internal_function): Disable optimization
60872         on OS/2 (__EMX__), where it caused compiler error.
60873         Reported by Elbert Pol.
60874
60875 2008-04-11  Bruno Haible  <bruno@clisp.org>
60876
60877         Flush the standard error stream before aborting. Needed on mingw.
60878         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60879         * tests/test-array_list.c (ASSERT): Likewise.
60880         * tests/test-array_oset.c (ASSERT): Likewise.
60881         * tests/test-avltree_list.c (ASSERT): Likewise.
60882         * tests/test-avltree_oset.c (ASSERT): Likewise.
60883         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60884         * tests/test-binary-io.c (ASSERT): Likewise.
60885         * tests/test-byteswap.c (ASSERT): Likewise.
60886         * tests/test-c-ctype.c (ASSERT): Likewise.
60887         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60888         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60889         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60890         * tests/test-c-strstr.c (ASSERT): Likewise.
60891         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60892         * tests/test-canonicalize.c (ASSERT): Likewise.
60893         * tests/test-carray_list.c (ASSERT): Likewise.
60894         * tests/test-ceilf1.c (ASSERT): Likewise.
60895         * tests/test-ceilf2.c (ASSERT): Likewise.
60896         * tests/test-ceill.c (ASSERT): Likewise.
60897         * tests/test-count-one-bits.c (ASSERT): Likewise.
60898         * tests/test-fbufmode.c (ASSERT): Likewise.
60899         * tests/test-fflush2.c (ASSERT): Likewise.
60900         * tests/test-floorf1.c (ASSERT): Likewise.
60901         * tests/test-floorf2.c (ASSERT): Likewise.
60902         * tests/test-floorl.c (ASSERT): Likewise.
60903         * tests/test-fopen.c (ASSERT): Likewise.
60904         * tests/test-fpending.c (ASSERT): Likewise.
60905         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60906         * tests/test-fpurge.c (ASSERT): Likewise.
60907         * tests/test-freadable.c (ASSERT): Likewise.
60908         * tests/test-freadahead.c (ASSERT): Likewise.
60909         * tests/test-freading.c (ASSERT): Likewise.
60910         * tests/test-freadptr.c (ASSERT): Likewise.
60911         * tests/test-freadptr2.c (ASSERT): Likewise.
60912         * tests/test-freadseek.c (ASSERT): Likewise.
60913         * tests/test-freopen.c (ASSERT): Likewise.
60914         * tests/test-frexp.c (ASSERT): Likewise.
60915         * tests/test-frexpl.c (ASSERT): Likewise.
60916         * tests/test-fseek.c (ASSERT): Likewise.
60917         * tests/test-fseeko.c (ASSERT): Likewise.
60918         * tests/test-fstrcmp.c (ASSERT): Likewise.
60919         * tests/test-ftell.c (ASSERT): Likewise.
60920         * tests/test-ftello.c (ASSERT): Likewise.
60921         * tests/test-func.c (ASSERT): Likewise.
60922         * tests/test-fwritable.c (ASSERT): Likewise.
60923         * tests/test-fwriting.c (ASSERT): Likewise.
60924         * tests/test-getdelim.c (ASSERT): Likewise.
60925         * tests/test-getline.c (ASSERT): Likewise.
60926         * tests/test-i-ring.c (ASSERT): Likewise.
60927         * tests/test-iconv-utf.c (ASSERT): Likewise.
60928         * tests/test-iconv.c (ASSERT): Likewise.
60929         * tests/test-isfinite.c (ASSERT): Likewise.
60930         * tests/test-isnand.c (ASSERT): Likewise.
60931         * tests/test-isnanf.c (ASSERT): Likewise.
60932         * tests/test-isnanl.h (ASSERT): Likewise.
60933         * tests/test-ldexpl.c (ASSERT): Likewise.
60934         * tests/test-linked_list.c (ASSERT): Likewise.
60935         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60936         * tests/test-localename.c (ASSERT): Likewise.
60937         * tests/test-lseek.c (ASSERT): Likewise.
60938         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60939         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60940         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60941         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60942         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60943         * tests/test-mbschr.c (ASSERT): Likewise.
60944         * tests/test-mbscspn.c (ASSERT): Likewise.
60945         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60946         * tests/test-mbspbrk.c (ASSERT): Likewise.
60947         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60948         * tests/test-mbsrchr.c (ASSERT): Likewise.
60949         * tests/test-mbsspn.c (ASSERT): Likewise.
60950         * tests/test-mbsstr1.c (ASSERT): Likewise.
60951         * tests/test-mbsstr2.c (ASSERT): Likewise.
60952         * tests/test-mbsstr3.c (ASSERT): Likewise.
60953         * tests/test-memchr2.c (ASSERT): Likewise.
60954         * tests/test-memmem.c (ASSERT): Likewise.
60955         * tests/test-open.c (ASSERT): Likewise.
60956         * tests/test-printf-frexp.c (ASSERT): Likewise.
60957         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60958         * tests/test-printf-posix.c (ASSERT): Likewise.
60959         * tests/test-quotearg.c (ASSERT): Likewise.
60960         * tests/test-rbtree_list.c (ASSERT): Likewise.
60961         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60962         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60963         * tests/test-round1.c (ASSERT): Likewise.
60964         * tests/test-roundf1.c (ASSERT): Likewise.
60965         * tests/test-roundl.c (ASSERT): Likewise.
60966         * tests/test-signbit.c (ASSERT): Likewise.
60967         * tests/test-sleep.c (ASSERT): Likewise.
60968         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60969         * tests/test-snprintf.c (ASSERT): Likewise.
60970         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60971         * tests/test-stat-time.c (ASSERT): Likewise.
60972         * tests/test-strcasestr.c (ASSERT): Likewise.
60973         * tests/test-strerror.c (ASSERT): Likewise.
60974         * tests/test-striconv.c (ASSERT): Likewise.
60975         * tests/test-striconveh.c (ASSERT): Likewise.
60976         * tests/test-striconveha.c (ASSERT): Likewise.
60977         * tests/test-strsignal.c (ASSERT): Likewise.
60978         * tests/test-strstr.c (ASSERT): Likewise.
60979         * tests/test-strtod.c (ASSERT): Likewise.
60980         * tests/test-trunc1.c (ASSERT): Likewise.
60981         * tests/test-trunc2.c (ASSERT): Likewise.
60982         * tests/test-truncf1.c (ASSERT): Likewise.
60983         * tests/test-truncf2.c (ASSERT): Likewise.
60984         * tests/test-truncl.c (ASSERT): Likewise.
60985         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60986         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60987         * tests/test-vasnprintf.c (ASSERT): Likewise.
60988         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60989         * tests/test-vasprintf.c (ASSERT): Likewise.
60990         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60991         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60992         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60993         * tests/test-vsnprintf.c (ASSERT): Likewise.
60994         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60995         * tests/test-wcwidth.c (ASSERT): Likewise.
60996         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60997         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60998         * tests/test-xvasprintf.c (ASSERT): Likewise.
60999         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
61000         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
61001         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
61002         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
61003         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
61004         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
61005         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
61006         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
61007         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
61008         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
61009         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
61010         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
61011         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
61012         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
61013         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
61014         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
61015         * tests/unictype/test-block_list.c (ASSERT): Likewise.
61016         * tests/unictype/test-block_of.c (ASSERT): Likewise.
61017         * tests/unictype/test-block_test.c (ASSERT): Likewise.
61018         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
61019         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
61020         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
61021         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
61022         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
61023         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
61024         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
61025         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
61026         * tests/unictype/test-combining.c (ASSERT): Likewise.
61027         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
61028         * tests/unictype/test-digit.c (ASSERT): Likewise.
61029         * tests/unictype/test-mirror.c (ASSERT): Likewise.
61030         * tests/unictype/test-numeric.c (ASSERT): Likewise.
61031         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
61032         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
61033         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
61034         * tests/unictype/test-scripts.c (ASSERT): Likewise.
61035         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
61036         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
61037         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
61038         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
61039         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
61040         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
61041         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
61042         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
61043         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
61044         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
61045         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
61046         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
61047         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
61048         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
61049         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
61050         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
61051         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
61052         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
61053         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
61054         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
61055         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
61056         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
61057         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
61058         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
61059         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
61060         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
61061         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
61062         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
61063         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
61064         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
61065         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
61066         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
61067         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
61068         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
61069         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
61070         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
61071         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
61072         Reported by Eric Blake.
61073
61074 2008-04-11  Bruno Haible  <bruno@clisp.org>
61075
61076         * lib/wchar.in.h: Tweak comment.
61077
61078 2008-04-11  Bruno Haible  <bruno@clisp.org>
61079
61080         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
61081         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
61082         gl_COMMON.
61083         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
61084
61085 2008-04-11  Bruno Haible  <bruno@clisp.org>
61086
61087         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
61088
61089 2008-04-11  Simon Josefsson  <simon@josefsson.org>
61090
61091         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
61092         of attempting to use non-existing /dev/*random.  Based on patch
61093         from Adam Strzelecki <ono@java.pl> in
61094         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
61095
61096 2008-04-08  Bruno Haible  <bruno@clisp.org>
61097
61098         Add tentative support for emx+gcc.
61099         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
61100         * lib/fpurge.c (fpurge): Likewise.
61101         * lib/freadable.c (freadable): Likewise.
61102         * lib/freadahead.c (freadahead): Likewise.
61103         * lib/freading.c (freading): Likewise.
61104         * lib/freadptr.c (freadptr): Likewise.
61105         * lib/freadseek.c (freadptrinc): Likewise.
61106         * lib/fseeko.c (rpl_fseeko): Likewise.
61107         * lib/fseterr.c (fseterr): Likewise.
61108         * lib/fwritable.c (fwritable): Likewise.
61109         * lib/fwriting.c (fwriting): Likewise.
61110         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
61111
61112 2008-04-09  Eric Blake  <ebb9@byu.net>
61113
61114         Avoid some autoconf warnings.
61115         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
61116         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
61117         * m4/afs.m4 (gl_AFS): Likewise.
61118         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
61119         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
61120         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61121         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
61122         (gl_INTEGER_TYPE_SUFFIX): Likewise.
61123         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
61124         (AC_CHECK_DECLS_ONCE): Likewise.
61125         Rename file...
61126         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
61127         gnulib-tool requires autoconf 2.59 or better.
61128         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
61129
61130 2008-04-08  Eric Blake  <ebb9@byu.net>
61131
61132         Use 'git describe --match' if present (added in git 1.5.5).
61133         * build-aux/git-version-gen: Limit result to tags that match 'v*'
61134         if possible.
61135
61136 2008-04-08  Bruno Haible  <bruno@clisp.org>
61137
61138         Add tentative support for OpenServer.
61139         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
61140         _ptr, _cnt.
61141         * lib/fpurge.c (fpurge): Likewise.
61142         * lib/freadable.c (freadable): Likewise.
61143         * lib/freadahead.c (freadahead): Likewise.
61144         * lib/freading.c (freading): Likewise.
61145         * lib/freadptr.c (freadptr): Likewise.
61146         * lib/freadseek.c (freadptrinc): Likewise.
61147         * lib/fseeko.c (rpl_fseeko): Likewise.
61148         * lib/fseterr.c (fseterr): Likewise.
61149         * lib/fwritable.c (fwritable): Likewise.
61150         * lib/fwriting.c (fwriting): Likewise.
61151         Reported by Roger Cornelius <rac@tenzing.org> and
61152         Brian K. White <brian@aljex.com>.
61153
61154 2008-04-06  Jim Meyering  <meyering@redhat.com>
61155
61156         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
61157
61158 2008-04-06  Bruno Haible  <bruno@clisp.org>
61159
61160         Avoid possible error with non-ASCII bytes in UTF-8 locales.
61161         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
61162         * tests/test-printf-posix.sh: Likewise.
61163         * tests/test-vfprintf-posix.sh: Likewise.
61164         * tests/test-vprintf-posix.sh: Likewise.
61165         * tests/test-xprintf-posix.sh: Likewise.
61166
61167 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61168
61169         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
61170         hide error from 'ls', needed on OS/2.
61171         Report by Elbert Pol <elbert.pol@gmail.com>.
61172
61173 2008-04-04  Eric Blake  <ebb9@byu.net>
61174
61175         Make test-fseeko.c failures meaningful.
61176         * tests/test-fseeko.c: Print line number on failure.
61177         * tests/test-fseek.c: Likewise.
61178         Reported by Nelson H. F. Beebe.
61179
61180         Improve strtod bug detection check.
61181         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
61182         required for Solaris 10.
61183         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
61184
61185 2008-04-04  Bruno Haible  <bruno@clisp.org>
61186
61187         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
61188         by m4/setenv.m4.
61189
61190 2008-04-03  Eric Blake  <ebb9@byu.net>
61191
61192         Ensure sane .version contents.
61193         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
61194         version string.
61195         * build-aux/git-version-gen: Improve documentation.
61196
61197         Make GNU make output nicer.
61198         * top/GNUmakefile [!_have-Makefile]: Add dependency on
61199         MAKECMDGOALS to enforce message for all command line targets.  Set
61200         srcdir for use in maint.mk.
61201
61202         Another maintainer tweak.
61203         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
61204         a target that regenerates version.
61205
61206 2008-04-03  Jim Meyering  <meyering@redhat.com>
61207
61208         vc-list-files: don't cause coreutils "make po-check" failure
61209         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
61210
61211 2008-04-03  Eric Blake  <ebb9@byu.net>
61212
61213         Allow VPATH usage of vc-list-files.
61214         * build-aux/vc-list-files (scriptversion): Add timestamp.
61215         (options): Add --help, --version, -C.
61216         (CVS): Support installed cvsu.
61217
61218 2008-04-02  Bruno Haible  <bruno@clisp.org>
61219
61220         Avoid some "statement with no effect" warnings from gcc.
61221         * tests/test-wctype.c (main): Explicitly ignore unused values.
61222         Reported by Jim Meyering.
61223
61224 2008-04-02  Jim Meyering  <meyering@redhat.com>
61225
61226         Avoid some warnings from "gcc -Wshadow".
61227         * tests/test-frexp.c (exp): Define to a different identifier.
61228         * tests/test-frexpl.c (exp): Likewise.
61229
61230 2008-04-03  Jim Meyering  <meyering@redhat.com>
61231
61232         bootstrap: remove dangling *.[ch] symlinks from lib
61233         * build-aux/bootstrap [dangling symlink removal]: Move find's
61234         -depth option to precede all others, to avoid a warning.
61235         Remove *.[ch] files too, and from "$source_base" (usually lib/).
61236
61237 2008-04-02  Bruno Haible  <bruno@clisp.org>
61238
61239         Avoid some warnings from "gcc -Wshadow".
61240         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
61241         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
61242         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
61243         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
61244         Reported by Jim Meyering.
61245
61246 2008-04-01  Bruno Haible  <bruno@clisp.org>
61247
61248         Fix test to work on IRIX 6.5 with cc.
61249         * tests/test-math.c (numeric_equal): New function.
61250         (main): Use it.
61251
61252 2008-04-01  Bruno Haible  <bruno@clisp.org>
61253
61254         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
61255
61256 2008-04-01  Bruno Haible  <bruno@clisp.org>
61257
61258         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
61259         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61260         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
61261         (Depends-on): Remove math.
61262
61263         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
61264         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61265         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
61266         (Depends-on): Remove math.
61267
61268         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
61269         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61270         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
61271         (Depends-on): Remove math.
61272         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
61273         (Depends-on): Remove math.
61274
61275         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
61276         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61277         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
61278         (Depends-on): Remove math.
61279         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
61280         (Depends-on): Remove math.
61281
61282         * tests/test-round1.c: Include nan.h.
61283         (main): Use NaNd instead of NAN.
61284         * modules/round-tests (Files): Add tests/nan.h.
61285
61286         * tests/test-trunc1.c: Include nan.h.
61287         (main): Use NaNd instead of NAN.
61288         * modules/trunc-tests (Files): Add tests/nan.h.
61289
61290         * tests/test-roundf1.c: Include nan.h.
61291         (main): Use NaNf instead of NAN.
61292         * modules/roundf-tests (Files): Add tests/nan.h.
61293
61294         * tests/test-truncf1.c: Include nan.h.
61295         (main): Use NaNf instead of NAN.
61296         * modules/truncf-tests (Files): Add tests/nan.h.
61297
61298         * tests/test-ceilf1.c: Include nan.h.
61299         (main): Use NaNf instead of NAN.
61300         * modules/ceilf-tests (Files): Add tests/nan.h.
61301
61302         * tests/test-floorf1.c: Include nan.h.
61303         (main): Use NaNf instead of NAN.
61304         * modules/floorf-tests (Files): Add tests/nan.h.
61305
61306         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
61307         (main): Use NaNf instead of NAN.
61308         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
61309
61310         * tests/test-isnand.c: Include nan.h instead of <math.h>.
61311         (main): Use NaNd instead of NAN.
61312         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
61313
61314         * tests/test-frexp.c: Include nan.h.
61315         (main): Use NaNd instead of NAN.
61316         * modules/frexp-tests (Files): Add tests/nan.h.
61317
61318         * lib/isnan.c: Don't include <math.h>.
61319         (FUNC): Don't use NAN macro.
61320         * modules/isnand-nolibm (Depends-on): Remove math.
61321         * modules/isnanf-nolibm (Depends-on): Remove math.
61322         * modules/isnanl (Depends-on): Remove math.
61323         * modules/isnanl-nolibm (Depends-on): Remove math.
61324
61325         * tests/nan.h: New file.
61326
61327 2008-04-01  Eric Blake  <ebb9@byu.net>
61328
61329         Fix typos.
61330         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
61331         values to be the right type.
61332
61333         For now, cater to gnulib strtod inaccuracies.
61334         * tests/test-strtod.c (main): Allow 1-ulp error on expected
61335         fractional results.  While not as nice from a QoI perspective, it
61336         is a quicker patch than correctly implementing decimal to binary
61337         rounding.
61338
61339 2008-03-31  Eric Blake  <ebb9@byu.net>
61340
61341         Guarantee a definition of NAN.
61342         * lib/math.in.h (NAN): Define if missing.
61343         * tests/test-math.c (main): Test it.
61344         * doc/posix-headers/math.texi (math.h): Document this.
61345         * lib/isnan.c (rpl_isnand): Use it.
61346         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
61347         * tests/test-floorf1.c (NaN): Likewise.
61348         * tests/test-frexp.c (NaN): Likewise.
61349         * tests/test-isnand.c (NaN): Likewise.
61350         * tests/test-isnanf.c (NaN): Likewise.
61351         * tests/test-round1.c (NaN): Likewise.
61352         * tests/test-roundf1.c (NaN): Likewise.
61353         * tests/test-snprintf-posix.h (NaN): Likewise.
61354         * tests/test-sprintf-posix.h (NaN): Likewise.
61355         * tests/test-trunc1.c (NaN): Likewise.
61356         * tests/test-truncf1.c (NaN): Likewise.
61357         * tests/test-vasnprintf-posix.c (NaN): Likewise.
61358         * tests/test-vasprintf-posix.c (NaN): Likewise.
61359         * modules/isnand-nolibm (Depends-on): Add math.
61360         * modules/isnanf-nolibm (Depends-on): Likewise.
61361         * modules/isnanl (Depends-on): Likewise.
61362         * modules/isnanl-nolibm (Depends-on): Likewise.
61363         * modules/snprintf-posix-tests (Depends-on): Likewise.
61364         * modules/sprintf-posix-tests (Depends-on): Likewise.
61365         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
61366         * modules/vsprintf-posix-tests (Depends-on): Likewise.
61367         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
61368         * modules/vasprintf-posix-tests (Depends-on): Likewise.
61369
61370 2008-03-31  Bruno Haible  <bruno@clisp.org>
61371
61372         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
61373         * doc/posix-functions/strtod.texi: Likewise.
61374
61375 2008-03-31  Bruno Haible  <bruno@clisp.org>
61376
61377         * tests/test-strtod.c (main): Don't use C99 syntax.
61378
61379 2008-03-31  Bruno Haible  <bruno@clisp.org>
61380
61381         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
61382         Reported by Eric Blake.
61383
61384 2008-03-31  Jim Meyering  <meyering@redhat.com>
61385
61386         Don't compare actual signbit return values.
61387         * tests/test-strtod.c (main): Rather, compare only their
61388         zero/non-zero nature.
61389
61390 2008-03-31  Eric Blake  <ebb9@byu.net>
61391
61392         More strtod documentation.
61393         * doc/posix-functions/strtod.texi (strtod): Interpret more test
61394         failures as distinct bugs.
61395
61396 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61397
61398         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
61399         Problem reported by Erik Benada in
61400         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
61401
61402 2008-03-30  Bruno Haible  <bruno@clisp.org>
61403
61404         * tests/test-strtod.c: Add comments about which assertion fails on which
61405         platform.
61406         * doc/posix-functions/strtod.texi: Add info about many more platforms.
61407
61408 2008-03-30  Eric Blake  <ebb9@byu.net>
61409
61410         Test signbit behavior on zeros.
61411         * tests/test-signbit.c (test_signbitf): Add tests for zero.
61412         (test_signbitd, test_signbitl): Likewise.
61413
61414         More strtod touchups.
61415         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
61416         sign of negative underflow, for now.  Use .5, not .1.
61417         * doc/posix-functions/strtod.texi (strtod): Mention these
61418         limitations.
61419         Reported by Jim Meyering.
61420
61421 2008-03-30  Bruno Haible  <bruno@clisp.org>
61422
61423         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
61424         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
61425
61426 2008-03-30  Bruno Haible  <bruno@clisp.org>
61427
61428         Avoid failure when attempting to return empty iconv results on some
61429         platforms.
61430         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
61431         allocation, don't report ENOMEM when the resulting string is empty.
61432
61433 2008-03-30  Bruno Haible  <bruno@clisp.org>
61434
61435         Fix buffer overrun.
61436         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
61437         Don't consider the width for tmp_length. Check count against tmp_length
61438         before doing the padding. Ensure enough allocation during padding.
61439
61440 2008-03-30  Eric Blake  <ebb9@byu.net>
61441
61442         strtod touchups.
61443         * lib/strtod.c (strtod): Avoid compiler warnings.
61444         Reported by Jim Meyering.
61445
61446 2008-03-30  Bruno Haible  <bruno@clisp.org>
61447
61448         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
61449         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
61450         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
61451         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
61452         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
61453         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
61454         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
61455         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61456
61457         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61458         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61459         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61460         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61461         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61462         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61463         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61464         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61465
61466         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61467         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61468         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61469         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61470         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61471         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61472         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61473         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61474
61475         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61476         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61477
61478         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61479         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61480
61481         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61482         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61483
61484         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61485         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61486         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61487
61488         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61489         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61490         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61491
61492         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61493         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61494         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61495
61496         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61497         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61498         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61499
61500         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61501         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61502         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61503         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61504         (Depends-on): Add EOVERFLOW.
61505         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61506         (Depends-on): Add EOVERFLOW.
61507         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61508         (Depends-on): Add EOVERFLOW.
61509         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61510         (Depends-on): Add EOVERFLOW.
61511         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61512         (Depends-on): Add EOVERFLOW.
61513         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61514         (Depends-on): Add EOVERFLOW.
61515         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61516         (Depends-on): Add EOVERFLOW.
61517         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61518         (Depends-on): Add EOVERFLOW.
61519
61520         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61521         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61522         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61523
61524         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61525         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61526         * modules/snprintf (Depends-on): Add EOVERFLOW.
61527
61528         * lib/poll.c (EOVERFLOW): Remove fallback.
61529         * modules/poll (Depends-on): Add EOVERFLOW.
61530
61531         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61532         * modules/getugroups (Depends-on): Add EOVERFLOW.
61533
61534         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61535         * modules/getdelim (Depends-on): Add EOVERFLOW.
61536
61537         * lib/ftell.c (EOVERFLOW): Remove fallback.
61538         * modules/ftell (Depends-on): Add EOVERFLOW.
61539
61540         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61541         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61542         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61543
61544         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61545
61546         * modules/EOVERFLOW-tests: New file.
61547         * tests/test-EOVERFLOW.c: New file.
61548
61549         * modules/EOVERFLOW: New file.
61550         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61551
61552 2008-03-30  Bruno Haible  <bruno@clisp.org>
61553
61554         Fix bug introduced on 2007-06-10.
61555         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61556         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61557
61558 2008-03-30  Bruno Haible  <bruno@clisp.org>
61559
61560         Improve freadseek's efficiency after ungetc.
61561         * lib/freadseek.c: Include freadahead.h.
61562         (freadptrinc): New function, extracted from freadseek.
61563         (freadseek): Use it in a loop. Use freadahead to determine the number
61564         of loop iterations.
61565         * modules/freadseek (Depends-on): Add freadahead.
61566         (configure.ac): Require AC_C_INLINE.
61567
61568 2008-03-30  Bruno Haible  <bruno@clisp.org>
61569
61570         * lib/freadseek.c (freadseek): Don't ignore the return value of
61571         freadptr.
61572
61573 2008-03-29  Eric Blake  <ebb9@byu.net>
61574
61575         Add hex float support.
61576         * modules/strtod (Depends-on): Add c-ctype.
61577         (Link): Mention POW_LIB.
61578         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61579         whitespace between 'e' and exponent.
61580         * tests/test-strtod.c (main): Enable hex float tests.
61581         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61582         now provides.
61583
61584         Document various strtod bugs, with some fixes.
61585         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61586         "-0x", "inf", "nan", and hex constants.
61587         * doc/posix-functions/atof.texi (atof): Likewise.
61588         * modules/stdlib (Makefile.am): Support strtod.
61589         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61590         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61591         detect additional strtod bugs.
61592         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61593         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61594         bool where appropriate.  Parse 'inf' and 'nan'.
61595         * tests/test-strtod.c: New file.
61596         * modules/strtod (Depends-on): Add stdbool, stdlib.
61597         (configure.ac): Turn on module indicator.
61598         * modules/strtod-tests: New module.
61599
61600 2008-03-29  Eric Blake  <ebb9@byu.net>
61601
61602         Fix ftell on mingw.
61603         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61604         * modules/ftell-tests (Depends-on): Add binary-io.
61605         * modules/ftello-tests (Depends-on): Likewise.
61606         * tests/test-ftell.c (main): Enhance test to cover behavior after
61607         ungetc.  Enforce binary mode.
61608         * tests/test-ftello.c (main): Likewise.
61609
61610         Pass test-freadseek on cygwin.
61611         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61612         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61613         ungetc buffer.
61614
61615         * tests/test-fflush2.c (main): Fix typo.
61616
61617 2008-03-29  Bruno Haible  <bruno@clisp.org>
61618
61619         * tests/test-fflush2.c (main): Temporarily disable the contents of
61620         this test.
61621         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61622         Reported by Eric Blake.
61623
61624 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61625
61626         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61627         (GC_SHA224_DIGEST_SIZE): Add.
61628
61629         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61630         (gc_hash_digest_length): Likewise.
61631         (gc_hash_buffer): Likewise.
61632
61633 2008-03-25  Bruno Haible  <bruno@clisp.org>
61634
61635         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61636         detail which gettext release to use.
61637         Reported by Simon Josefsson.
61638
61639 2008-03-26  Jim Meyering  <meyering@redhat.com>
61640
61641         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61642         * modules/gnumakefile (clean-GNUmakefile): Also, use
61643         test ... && ... || : syntax rather than if-then ... fi.
61644
61645         gnumakefile: Don't double-quote-expand $(VPATH) value.
61646         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61647
61648 2008-03-24  Eric Blake  <ebb9@byu.net>
61649
61650         Alter GNUmakefile to install into top directory.
61651         * modules/maintainer-makefile: Split, and add dependency...
61652         * modules/gnumakefile: to this new module.
61653         * build-aux/GNUmakefile: Move...
61654         * top/GNUmakefile: ...here.
61655         * build-aux/maint.mk: Move...
61656         * top/maint.mk: ...here.
61657         * MODULES.html.sh (Support for maintaining...): Document new
61658         module.
61659
61660 2008-03-23  Bruno Haible  <bruno@clisp.org>
61661
61662         * gnulib-tool: New options --vc-files, --no-vc-files.
61663         (func_usage): Document them.
61664         (vc_files): New variable.
61665         (func_import): Consider vc_files.
61666         (func_create_testdir): Set vc_files to empty.
61667         Suggested by Jim Meyering and Karl Berry.
61668
61669 2008-03-23  Bruno Haible  <bruno@clisp.org>
61670
61671         Fix regex compilation error on HP-UX 11.
61672         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61673         * modules/regex (Files): Add m4/mbstate_t.m4.
61674         Reported by Ton Voon <ton.voon@altinity.com>.
61675
61676 2008-03-23  Bruno Haible  <bruno@clisp.org>
61677
61678         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61679
61680 2008-03-23  Eric Blake  <ebb9@byu.net>
61681             Bruno Haible  <bruno@clisp.org>
61682
61683         Install files from top/ in the destination directory.
61684         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61685         augmentation also for the files from top/.
61686         (func_import, func_create_testdir): Rewrite file names:
61687         top/filename -> filename.
61688
61689 2008-03-23  Bruno Haible  <bruno@clisp.org>
61690
61691         Tweak "gnulib --version" output.
61692         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61693
61694 2008-03-23  Bruno Haible  <bruno@clisp.org>
61695
61696         Tweak "gnulib --version" output.
61697         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61698         rather than contents of ChangeLog, when possible.
61699
61700 2008-03-21  Eric Blake  <ebb9@byu.net>
61701
61702         More --version tweaks.
61703         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61704         date of last ChangeLog entry.
61705
61706 2008-03-21  Jim Meyering  <meyering@redhat.com>
61707
61708         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61709
61710 2008-03-20  Eric Blake  <ebb9@byu.net>
61711
61712         VPATH fix.
61713         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61714
61715 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61716
61717         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61718         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61719
61720 2008-03-20  Eric Blake  <ebb9@byu.net>
61721
61722         Sync GNUmakefile with coreutils.
61723         * build-aux/GNUmakefile (have-Makefile): Rename...
61724         (_have-Makefile): ...to this, for namespace consideration.
61725         (GNUmakefile.cfg): Include, if present.
61726         (_autoreconf): Define a default.
61727         (_is-dist-target): New rule for rebuilds to pick up intra-release
61728         version.
61729         (maint-cfg.mk): Rename...
61730         (cfg.mk): ...to this.
61731
61732 2008-03-18  Jim Meyering  <meyering@redhat.com>
61733
61734         New script and module: mktempd
61735         * MODULES.html.sh (maint+release support): Add mktempd.
61736         * build-aux/mktempd: New file.
61737         * modules/mktempd: New file.
61738
61739 2008-03-15  Jim Meyering  <meyering@redhat.com>
61740
61741         Undo last change.
61742         * lib/sha1.c, lib/md5.c: 63 != ~63.
61743         Reported by Andreas Schwab.
61744
61745         sha1.c, md5.c: Hoist a redundant expression.
61746         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61747         "ctx->buflen" only once, before calling *_process_block.
61748         * lib/md5.c (md5_process_bytes): Likewise.
61749
61750 2008-03-14  Eric Blake  <ebb9@byu.net>
61751
61752         Bump copyright year in files generated by gnulib-tool.
61753         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61754         gnulib-tool, rather than hard-coding it.
61755
61756         Fix 'gnulib-tool --version' output to work with git.
61757         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61758         (startup): ...here.
61759         (func_version): Use it to invoke git-version-gen, rather than
61760         relying on CVS keyword expansion.  Modernize wording.
61761         (cvsdatestamp, last_checkin_date, version): Kill unused
61762         variables.
61763
61764 2008-03-12  Jim Meyering  <meyering@redhat.com>
61765
61766         Recognize optional cast of the argument to free.
61767         * build-aux/useless-if-before-free: Update regexps.
61768
61769         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61770
61771 2008-03-11  Bruno Haible  <bruno@clisp.org>
61772
61773         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61774         by a single package.
61775         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61776         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61777         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61778         Reported by Sam Steingold <sds@gnu.org>.
61779
61780 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61781
61782         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61783         repositories.
61784
61785 2008-03-11  Bruno Haible  <bruno@clisp.org>
61786
61787         Avoid conflicts between local macro definitions.
61788         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61789         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61790
61791 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61792             Bruno Haible  <bruno@clisp.org>
61793
61794         Make va_copy work with some version of xlc on AIX 5.1.
61795         * lib/stdarg.in.h: New file.
61796         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61797         On AIX, use a <stdarg.h> file substitute.
61798         * modules/stdarg (Files): Add lib/stdarg.in.h.
61799         (Depends-on): Add include_next.
61800         (Makefile.am): Build a stdarg.h substitute if requested.
61801         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61802
61803 2008-03-10  Bruno Haible  <bruno@clisp.org>
61804
61805         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61806         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61807         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61808
61809 2008-03-10  Bruno Haible  <bruno@clisp.org>
61810
61811         * modules/stdlib (Depends-on): Add include_next, remove
61812         absolute-header.
61813
61814 2008-03-09  Bruno Haible  <bruno@clisp.org>
61815
61816         * lib/freadahead.h (freadahead): Document more precisely.
61817         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61818         the sum of both buffer sizes.
61819         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61820         * NEWS: Document the change.
61821
61822 2008-03-09  Bruno Haible  <bruno@clisp.org>
61823
61824         Extend freadptr to return also the buffer size.
61825         * lib/freadptr.h (freadptr): Add sizep argument.
61826         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61827         (freadptr): Add sizep argument. Determine buffer size like freadahead
61828         does.
61829         * tests/test-freadptr.c: Don't include freadahead.h.
61830         (main): Adapt for new calling convention of freadptr.
61831         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61832         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61833         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61834         tests/test-freadptr2.sh.
61835         (Depends): Remove freadahead.
61836         (TESTS): Add test-freadptr2.sh.
61837         (check_PROGRAMS): Add test-freadptr2.
61838
61839 2008-03-09  Bruno Haible  <bruno@clisp.org>
61840
61841         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61842         Report and solution by Simon Josefsson.
61843
61844 2008-03-06  Bruno Haible  <bruno@clisp.org>
61845
61846         Make fflush after ungetc work on BSD platforms.
61847         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61848         * tests/test-fflush2.c: New file.
61849         * tests/test-fflush2.sh: New file.
61850         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61851         tests/test-fflush2.c.
61852         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61853         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61854
61855 2008-03-06  Eric Blake  <ebb9@byu.net>
61856
61857         Likewise for ftello.
61858         * modules/ftello (Dependencies): Add extensions.
61859         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61860
61861 2008-03-06  Bruno Haible  <bruno@clisp.org>
61862
61863         * modules/fseeko (Dependencies): Add extensions.
61864         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61865         Needed on glibc systems.
61866
61867 2008-03-06  Bruno Haible  <bruno@clisp.org>
61868
61869         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61870         email address.
61871         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61872
61873 2008-03-06  Bruno Haible  <bruno@clisp.org>
61874
61875         * users.txt: Add libgnupdf.
61876
61877 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61878
61879         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61880         (Header File Substitutes, Function Substitutes,
61881         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61882         (Build robot for gnulib): Fix typo.
61883
61884 2008-03-06  Bruno Haible  <bruno@clisp.org>
61885
61886         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61887         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61888
61889 2008-03-06  Bruno Haible  <bruno@clisp.org>
61890
61891         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61892         * doc/gnulib.texi: Include it.
61893
61894 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61895
61896         * modules/func (License): Change license to unlimited; there was
61897         no LGPL parts in the module anyway.
61898
61899 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61900
61901         * modules/__func__: Renamed to modules/func.
61902         * modules/__func__-tests: Renamed to modules/func-tests.
61903         * tests/test-__func__.c: Renamed to tests/test-func.c.
61904         * m4/__func__.m4: Renamed to m4/func.m4.
61905         * doc/gnulib.texi (__func__): Section renamed to func.
61906         Suggested by Eric Blake <ebb9@byu.net>.
61907
61908 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61909
61910         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61911         about __func__.  Make example self-contained.  Suggested by Eric
61912         Blake <ebb9@byu.net>.
61913
61914         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61915         Suggested by Eric Blake <ebb9@byu.net>.
61916
61917 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61918
61919         * modules/__func__: New file.
61920         * modules/__func__-tests: New file.
61921         * tests/test-__func__.c: New file.
61922         * m4/__func__.m4: New file.
61923         * doc/gnulib.texi (__func__): Document __func__ module.
61924
61925 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61926
61927         * modules/byteswap (License): Re-license as LGPLv2+.
61928
61929 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61930
61931         * doc/Makefile: Add pdf target.
61932
61933 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61934
61935         * modules/inline (License): Use 'unlimited', since there are only
61936         *.m4 files in this module.
61937
61938 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61939             Bruno Haible  <bruno@clisp.org>
61940
61941         Add support for HP C 7.1 on OpenVMS 8.3.
61942         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61943
61944 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61945
61946         Update VMS specifics.
61947         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61948
61949 2008-03-02  Jim Meyering  <meyering@redhat.com>
61950
61951         Remove the last dependency on the "free" module.
61952         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61953         Reported by Bob Proulx.
61954
61955         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61956
61957         Remove useless "if" tests before free.  Deprecate "free" module.
61958         * doc/posix-functions/free.texi: Mention that this
61959         module is no longer useful.
61960         * modules/free (Notice): Say this module is obsolete.
61961         * modules/readutmp (Depends-on): Remove free.
61962         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61963         * lib/putenv.c (putenv): Likewise.
61964         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61965         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61966         * tests/test-c-strcasestr.c (main): Likewise.
61967         * tests/test-c-strstr.c (main): Likewise.
61968         * tests/test-mbscasestr1.c (main): Likewise.
61969         * tests/test-mbscasestr2.c (main): Likewise.
61970         * tests/test-mbsstr1.c (main): Likewise.
61971         * tests/test-mbsstr2.c (main): Likewise.
61972         * tests/test-memmem.c (main): Likewise.
61973         * tests/test-strcasestr.c (main): Likewise.
61974         * tests/test-striconv.c (main): Likewise.
61975         * tests/test-striconveh.c (main): Likewise.
61976         * tests/test-striconveha.c (main): Likewise.
61977         * tests/test-strstr.c (main): Likewise.
61978
61979         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61980
61981         bootstrap: sync from coreutils again
61982         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61983
61984 2008-03-01  Jim Meyering  <meyering@redhat.com>
61985
61986         bootstrap: sync from coreutils
61987         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61988         also when the target doesn't exist.
61989
61990 2008-03-01  Eric Blake  <ebb9@byu.net>
61991
61992         Fix bugs in last patch.
61993         * lib/memchr2.c (memchr2): Fix typo.
61994         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61995         extension.
61996         Reported by Bruce Korb.
61997
61998         New module 'memchr2'.
61999         * modules/memchr2: New file.
62000         * modules/memchr2-tests: Likewise.
62001         * lib/memchr2.h: Likewise.
62002         * lib/memchr2.c: Likewise, based on memchr.c.
62003         * tests/test-memchr2.c: New test.
62004         * MODULES.html.sh (String handling): Add memchr2.
62005
62006 2008-02-29  Bruno Haible  <bruno@clisp.org>
62007
62008         * modules/freadseek-tests: New file.
62009         * tests/test-freadseek.sh: New file.
62010         * tests/test-freadseek.c: New file.
62011
62012         New module 'freadseek'.
62013         * modules/freadseek: New file.
62014         * lib/freadseek.h: New file.
62015         * lib/freadseek.c: New file.
62016         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
62017
62018 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62019
62020         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
62021         wydawca.
62022
62023         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
62024         program_invocation_name and program_invocation_short_name are
62025         present.
62026
62027 2008-02-28  Bruno Haible  <bruno@clisp.org>
62028
62029         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
62030         * tests/test-freadptr.sh: Also test non-seekable stdin.
62031
62032 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
62033
62034         * build-aux/bootstrap (source_base, m4_base)
62035         (doc_base, tests_base): New variables.
62036         (gnulib_tool_options): Do not hardcode base directories, use
62037         the above variables instead.
62038
62039 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
62040
62041         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
62042
62043 2008-02-28  Bruno Haible  <bruno@clisp.org>
62044
62045         * modules/freadptr-tests: New file.
62046         * tests/test-freadptr.sh: New file.
62047         * tests/test-freadptr.c: New file.
62048
62049         New module 'freadptr'.
62050         * modules/freadptr: New file.
62051         * lib/freadptr.h: New file.
62052         * lib/freadptr.c: New file.
62053         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
62054
62055 2008-02-26  Karl Berry  <karl@freefriends.org>
62056
62057         Sync from Libtool:
62058         * libltdl/argz.c (argz_add, argz_count): New functions.
62059         * libltdl/argz.in.h: Declare them.
62060         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
62061
62062 2008-02-22  Bruno Haible  <bruno@clisp.org>
62063
62064         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
62065         is a pointer type.  Needed for HP-UX 10.
62066         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
62067         * doc/posix-functions/gmtime_r.texi: Likewise.
62068         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
62069
62070 2008-02-24  Bruno Haible  <bruno@clisp.org>
62071
62072         * modules/environ-tests: New file.
62073         * tests/test-environ.c: New file.
62074
62075         New module 'environ'.
62076         * modules/environ: New file.
62077         * lib/unistd.in.h (environ): New declaration.
62078         * m4/environ.m4: New file.
62079         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
62080         after use.
62081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
62082         HAVE_DECL_ENVIRON.
62083         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
62084         HAVE_DECL_ENVIRON.
62085         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
62086         wrong claim that 'environ' is missing on some systems.
62087         * modules/execute (Depends-on): Add environ.
62088         * lib/execute.c (environ): Remove fallback declaration.
62089         * modules/pipe (Depends-on): Add environ.
62090         * lib/pipe.c (environ): Remove fallback declaration.
62091         * modules/setenv (Depends-on): Add environ.
62092         * lib/setenv.c (environ): Remove fallback declaration.
62093         * modules/unsetenv (Depends-on): Add environ.
62094         * lib/unsetenv.c (environ): Remove fallback declaration.
62095         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
62096         m4/environ.m4.
62097         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
62098         (gl_PREREQ_UNSETENV): Likewise.
62099
62100 2008-02-24  Bruno Haible  <bruno@clisp.org>
62101
62102         * doc/posix-functions/environ.texi: Document the MacOS X problem.
62103
62104 2008-02-20  Bob Proulx  <bob@proulx.com>
62105
62106         Enable use of older two part flavor 'git describe'.
62107         * build-aux/git-version-gen: If using the older two part flavor of
62108         git version then recreate the third part now present in the
62109         newer three part flavor of git describe.
62110
62111 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
62112
62113         * lib/fts.c (fts_build): Typo correction to comment.
62114
62115 2008-02-17  Bruno Haible  <bruno@clisp.org>
62116
62117         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
62118         generating no-op conflicts.
62119
62120 2008-02-17  Bruno Haible  <bruno@clisp.org>
62121
62122         Speed up by 10%.
62123         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
62124         result_entries, rather than an index-based loop.
62125
62126 2008-02-17  Bruno Haible  <bruno@clisp.org>
62127
62128         Speed up by 25%.
62129         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
62130         'hashcode_cached'.
62131         (entry_create): New function.
62132         (entry_hashcode): Use the cached hashcode if possible.
62133         (read_changelog_file, try_split_merged_entry): Use entry_create.
62134
62135 2008-02-17  Bruno Haible  <bruno@clisp.org>
62136
62137         Speed up from O(n^2) to O(n) for long ChangeLog files.
62138         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
62139         (read_changelog_file): Change implementation of entries_reversed list
62140         to rbtreehash.
62141         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
62142
62143 2008-02-17  Bruno Haible  <bruno@clisp.org>
62144
62145         New option --split-merged-entry.
62146         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
62147         (find_paragraph_end, try_split_merged_entry): New functions.
62148         (long_options): Add option --split-merged-entry.
62149         (usage): Document option --split-merged-entry.
62150         (main): Implement option --split-merged-entry.
62151         Reported by Eric Blake.
62152
62153 2008-02-17  Bruno Haible  <bruno@clisp.org>
62154
62155         * lib/git-merge-changelog.c: Include c-strstr.h.
62156         (main): Support the "git pull --rebase" situation.
62157         * modules/git-merge-changelog (Depends-on): Add c-strstr.
62158         Reported by Eric Blake.
62159
62160 2008-02-16  Eric Blake  <ebb9@byu.net>
62161
62162         Avoid doubling \ in common case of "c-maybe" quoting style.
62163         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
62164         eliding outer quotes.
62165         * lib/quotearg.h: Document this.
62166         * tests/test-quotearg.c (result_strings, inputs, results_g)
62167         (flag_results, locale_results): Test it by adding a new string to
62168         each test group.
62169         (compare_strings): Test new string.
62170
62171 2008-02-13  Eric Blake  <ebb9@byu.net>
62172
62173         Avoid trigraph quoting in default output.
62174         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
62175         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
62176         unless explicitly requested.
62177         * tests/test-quotearg.c (flag_results, main): Add additional tests.
62178
62179 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
62180
62181         Don't rely on signed integer overflowing to negative value.
62182         * lib/getugroups.c (getugroups): Include <limits.h>.
62183         Instead, compare against INT_MAX, and increment only if the test passes.
62184
62185 2008-02-13  Jim Meyering  <meyering@redhat.com>
62186         and Eric Blake  <ebb9@byu.net>
62187
62188         Avoid shadowing warning and compile errors on Linux.
62189         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
62190         forwarding macros on Linux.
62191         (dcgettext): Define a stub, for Linux.
62192         (results_g, main): Avoid warnings.
62193
62194 2008-02-12  Eric Blake  <ebb9@byu.net>
62195
62196         Silence warning in last patch.
62197         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
62198
62199         Quotearg part 4: add tests, fix c-maybe colon quoting.
62200         * lib/quotearg.h: Improve documentation.
62201         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
62202         escapes when adding outer quotes.  When quoting trigraphs, use
62203         valid C notation.  When quoting NUL, omit extra characters if next
62204         character is not digit.  Alter prototype.
62205         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
62206         callers.
62207         * modules/quotearg-tests: New module.
62208         * tests/test-quotearg.c: New test.
62209
62210 2008-02-07  Eric Blake  <ebb9@byu.net>
62211
62212         Quotearg part 3: add flag to control outer quote elision.
62213         * lib/quotearg.h (c_maybe_quoting_style): New style.
62214         (enum quoting_flags): Better documentation of flags.
62215         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
62216         c-maybe style.
62217         (quotearg_buffer_restyled): Handle new flag to elide outer
62218         quotes.
62219
62220         Quotearg part 2: add flag that can control NUL elision.
62221         * lib/quotearg.h (set_quoting_flags): New prototype.
62222         * lib/quotearg.c (struct quoting_options): Add flag field.
62223         (set_quoting_flags): New function.
62224         (quotearg_buffer_restyled): Add flags parameter.
62225         (quotearg_alloc_mem): Set the flag if length cannot be returned.
62226         (quotearg_n_options): Set the flag, since length cannot be
62227         returned.
62228         (quoting_options_from_style): Default flags correctly.
62229
62230         Quotearg part 1: more wrappers, restore quotearg_char state.
62231         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
62232         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
62233         (quotearg_colon_mem): New wrappers.
62234         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
62235         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
62236         functions.
62237         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
62238         (quotearg_colon_mem): New functions.
62239
62240 2008-02-11  Bruno Haible  <bruno@clisp.org>
62241
62242         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
62243         library in the current directory: it does not work with parallel make.
62244         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62245
62246 2008-02-11  Bruno Haible  <bruno@clisp.org>
62247
62248         * .gitattributes: New file.
62249
62250 2008-02-11  Jim Meyering  <meyering@redhat.com>
62251
62252         useless-if-before-free: Fix reversed exit values.
62253         * build-aux/useless-if-before-free: Use correct values
62254         for EXIT_MATCH and EXIT_NO_MATCH.
62255
62256         * build-aux/useless-if-before-free: Close stdout carefully.
62257
62258 2008-02-10  Bruno Haible  <bruno@clisp.org>
62259
62260         New module 'git-merge-changelog'.
62261         * modules/git-merge-changelog: New file.
62262         * lib/git-merge-changelog.c: New file.
62263
62264 2008-02-10  Jim Meyering  <meyering@redhat.com>
62265
62266         useless-if-before-free: New option: --list (-l).
62267
62268         useless-if-before-free: Don't exit immediately upon open failure.
62269         * build-aux/useless-if-before-free: Exit 2 for errors.
62270         Upon failure to open a file, don't exit immediately.
62271         Rather, just warn and continue with any remaining files.
62272
62273 2008-02-10  Bruno Haible  <bruno@clisp.org>
62274
62275         New abstract list operation 'node_set_value'.
62276         * lib/gl_list.h (gl_list_node_set_value): New function.
62277         (struct gl_list_implementation): New field node_set_value.
62278         * lib/gl_list.c (gl_list_node_set_value): New function.
62279         * lib/gl_array_list.c (gl_array_node_set_value): New function.
62280         (gl_array_list_implementation): Update.
62281         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
62282         (gl_carray_list_implementation): Update.
62283         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
62284         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62285         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62286         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
62287         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62288         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62289         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62290         Update.
62291         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62292         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
62293         (gl_sublist_list_implementation): Update.
62294
62295 2008-02-10  Bruno Haible  <bruno@clisp.org>
62296
62297         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
62298         Needed when ELEMENT is #defined to 'some_type *'.
62299
62300 2008-02-10  Jim Meyering  <meyering@redhat.com>
62301
62302         New script and module: useless-if-before-free
62303         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
62304         * build-aux/useless-if-before-free: New file.
62305         * modules/useless-if-before-free: New file.
62306
62307         * build-aux/gitlog-to-changelog: Use committer date, not author date.
62308
62309         xstrtol_error: Fix typo.
62310         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
62311         s/exit_failure/exit_status/.
62312
62313 2008-02-09  Jim Meyering  <meyering@redhat.com>
62314
62315         New script and module: gitlog-to-changelog
62316         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
62317         * modules/gitlog-to-changelog: New file.
62318         * build-aux/gitlog-to-changelog: New file.
62319
62320 2008-02-08  Jim Meyering  <meyering@redhat.com>
62321
62322         Avoid two "parameter unused" warnings.
62323         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
62324         Mark "st" as used.
62325
62326         Use "git COMMAND", not "git-COMMAND".
62327         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
62328         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
62329         * build-aux/git-version-gen: Use "git status", not "git-status".
62330
62331 2008-02-07  Bruno Haible  <bruno@clisp.org>
62332
62333         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
62334         Avoids a crash on Windows Vista.
62335         Reported by Adam Strzelecki <ono@java.pl> via
62336         Simon Josefsson <simon@josefsson.org>.
62337
62338 2008-02-06  Bruno Haible  <bruno@clisp.org>
62339
62340         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
62341         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
62342         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
62343         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
62344         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62345         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62346         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
62347         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
62348         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62349         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62350         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62351         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62352         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62353         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62354         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62355         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
62356         left-adjust flag.
62357         * tests/test-snprintf-posix.h (test_function): Likewise.
62358         * tests/test-sprintf-posix.h (test_function): Likewise.
62359         * tests/test-vasprintf-posix.c (test_function): Likewise.
62360         * doc/posix-functions/fprintf.texi: Update.
62361         * doc/posix-functions/printf.texi: Update.
62362         * doc/posix-functions/snprintf.texi: Update.
62363         * doc/posix-functions/sprintf.texi: Update.
62364         * doc/posix-functions/vfprintf.texi: Update.
62365         * doc/posix-functions/vprintf.texi: Update.
62366         * doc/posix-functions/vsnprintf.texi: Update.
62367         * doc/posix-functions/vsprintf.texi: Update.
62368         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62369
62370 2008-02-06  Bruno Haible  <bruno@clisp.org>
62371
62372         Fix bug introduced on 2008-01-26.
62373         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
62374
62375 2008-02-06  Bruno Haible  <bruno@clisp.org>
62376
62377         Fix bug introduced on 2007-06-10.
62378         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
62379         !NEED_PRINTF_FLAG_ZERO.
62380
62381 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
62382
62383         getloadavg: use libperfstat on AIX5
62384         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
62385
62386 2008-02-03  Bruno Haible  <bruno@clisp.org>
62387
62388         * lib/diffseq.h: Add comments about required #includes.
62389         Reported by Michael Biggs <gnulib@doubleplum.net>.
62390
62391 2008-02-01  Bruno Haible  <bruno@clisp.org>
62392
62393         * users.txt: Add gnuit.
62394
62395 2008-01-31  Bruno Haible  <bruno@clisp.org>
62396
62397         * lib/md4.c (set_uint32): Mark as inline.
62398         * lib/md5.c (set_uint32): Likewise.
62399         * lib/sha1.c (set_uint32): Likewise.
62400         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
62401         * m4/md5.m4 (gl_MD5): Likewise.
62402         * m4/sha1.m4 (gl_SHA1): Likewise.
62403
62404 2008-01-31  Jim Meyering  <meyering@redhat.com>
62405
62406         Use "sizeof VAR", rather than a literal "4".
62407         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
62408         * lib/md4.c (md4_read_ctx): Likewise.
62409         * lib/sha1.c (sha1_read_ctx): Likewise.
62410
62411 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62412
62413         * tests/test-sha1.c: New file, based on test-md5.c.
62414
62415         * modules/crypto/sha1-tests: New file.
62416
62417 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62418
62419         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
62420
62421 2008-01-31  Jim Meyering  <meyering@redhat.com>
62422
62423         Prefer "sizeof v" over the equivalent "4".
62424         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
62425         * lib/md5.c (set_uint32): Likewise.
62426         * lib/sha1.c (set_uint32): Likewise.
62427
62428 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62429
62430         * lib/sha1.c (set_uint32): Mark function as static.
62431
62432 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62433
62434         md2: clarify comments to say that alignment is not required.
62435         * lib/md2.h: Remove warning about alignment in comment.
62436         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
62437         never been required.
62438
62439 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62440
62441         md4: adapt alignment constraint fix from sha1.
62442         * lib/md4.c (set_uint32): New function, from sha1.c
62443         (md4_read_ctx): Use it.
62444         (md4_finish_ctx): Doc fix.
62445         * lib/md4.h: Doc fix.
62446
62447 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62448
62449         md5: adapt alignment constraint fix from sha1.
62450         * lib/md5.c (set_uint32): New function, from sha1.c
62451         (md5_read_ctx): Use it.
62452         (md5_finish_ctx): Doc fix.
62453         * lib/md5.h: Doc fix.
62454
62455 2008-01-30  Peter Palfrader  <weasel@debian.org>
62456
62457         sha1: remove the result buffer alignment constraint
62458         * lib/sha1.c (set_uint32): New function.
62459         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62460         constraint.
62461         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62462         * lib/sha1.h: Likewise.
62463
62464 2008-01-30  Andreas Schwab  <schwab@suse.de>
62465             Bruno Haible  <bruno@clisp.org>
62466
62467         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62468         correct definition of LDBL_MIN_EXP.
62469
62470 2008-01-30  Karl Berry  <karl@gnu.org>
62471
62472         * config/srclist-update: try to preserve x bit on updates.
62473         * config/srclistvars.sh: update for karl.
62474
62475 2008-01-29  Jim Meyering  <meyering@redhat.com>
62476
62477         vasnprintf.c: Avoid warning about unused label
62478         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62479         "overflow" label definition and associated code with the
62480         same cpp condition that guards the sole use of that label.
62481
62482 2008-01-26  Bruno Haible  <bruno@clisp.org>
62483
62484         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62485         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62486         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62487         * lib/isnanl-nolibm.h (isnanl): Likewise.
62488         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62489
62490 2008-01-26  Bruno Haible  <bruno@clisp.org>
62491
62492         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62493         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62494
62495 2008-01-26  Bruno Haible  <bruno@clisp.org>
62496
62497         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62498         GCC >= 4.0 built-in.
62499         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62500
62501 2008-01-26  Bruno Haible  <bruno@clisp.org>
62502
62503         Rename isnan, applicable to 'double' only, to isnand.
62504         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62505         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62506         (configure.ac): Update.
62507         (Include): Replace "isnan.h" with "isnand.h".
62508         * m4/isnand.m4: Renamed from m4/isnan.m4.
62509         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62510         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62511         instead of isnan.c.
62512         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62513         instead of HAVE_ISNAN_IN_LIBC.
62514         (isnand): Renamed from isnan.
62515         * lib/isnand.c: New file.
62516         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62517         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62518         (Makefile.am): Update.
62519         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62520         Include isnand.h instead of isnan.h.
62521         (main): Test isnand instead of isnan.
62522         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62523         isnan-nolibm.
62524         * modules/frexp (Depends-on): Likewise.
62525         * modules/frexp-tests (Depends-on): Likewise.
62526         * modules/frexp-nolibm (Depends-on): Likewise.
62527         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62528         * modules/isfinite (Depends-on): Likewise.
62529         * modules/round-tests (Depends-on): Likewise.
62530         * modules/signbit (Depends-on): Likewise.
62531         * modules/signbit-tests (Depends-on): Likewise.
62532         * modules/snprintf-posix (Depends-on): Likewise.
62533         * modules/sprintf-posix (Depends-on): Likewise.
62534         * modules/trunc-tests (Depends-on): Likewise.
62535         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62536         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62537         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62538         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62539         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62540         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62541         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62542         * modules/vasnprintf-posix (Depends-on): Likewise.
62543         * modules/vasprintf-posix (Depends-on): Likewise.
62544         * modules/vfprintf-posix (Depends-on): Likewise.
62545         * modules/vsnprintf-posix (Depends-on): Likewise.
62546         * modules/vsprintf-posix (Depends-on): Likewise.
62547         * lib/frexp.c: Include isnand.h instead of isnan.h.
62548         (ISNAN): Set to isnand instead of isnan.
62549         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62550         (gl_isfinited): Use isnand instead of isnan.
62551         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62552         (gl_signbitd): Use isnand instead of isnan.
62553         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62554         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62555         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62556         (main): Use isnand instead of isnan.
62557         * tests/test-round1.c: Include isnand.h.
62558         (main): Use isnand instead of isnan.
62559         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62560         (ISNAN): Set to isnand instead of isnan.
62561         * tests/test-trunc1.c: Include isnand.h.
62562         (main): Use isnand instead of isnan.
62563         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62564         (equal): Use isnand instead of isnan.
62565         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62566         isnand-nolibm.
62567         * NEWS: Mention the change.
62568
62569 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62570             Bruno Haible  <bruno@clisp.org>
62571
62572         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62573         the GCC builtins for signbits are present and set
62574         REPLACE_SIGNBIT_USING_GCC if so.
62575         * lib/math.in.h (signbit): Define using GCC builtins if
62576         REPLACE_SIGNBIT_USING_GCC is set.
62577         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62578         REPLACE_SIGNBIT_USING_GCC.
62579         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62580
62581 2008-01-25  Jim Meyering  <meyering@redhat.com>
62582
62583         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62584         * lib/poll.c: Include <config.h>, not "config.h".
62585         * tests/test-getaddrinfo.c: Likewise.
62586
62587 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62588
62589         * modules/sockets-tests: New file.
62590
62591 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62592
62593         * modules/sockets: New module, can be used to call WSA_Startup and
62594         WSA_Cleanup when needed.
62595
62596         * lib/sockets.h, lib/sockets.c: New files.
62597
62598         * m4/sockets.m4: New file.
62599
62600         * tests/test-sockets.c: New file.
62601
62602 2008-01-19  Bruno Haible  <bruno@clisp.org>
62603
62604         * doc/posix-headers: Renamed from doc/headers.
62605         * doc/posix-functions: Renamed from doc/functions.
62606         * doc/gnulib.texi: Update.
62607
62608 2008-01-19  Bruno Haible  <bruno@clisp.org>
62609
62610         * doc/glibc-functions/strcasestr.texi: Include contents of
62611         doc/functions/strcasestr.texi, fixing the list of platforms.
62612         * doc/functions/strcasestr.texi: Remove file.
62613
62614 2008-01-19  Bruno Haible  <bruno@clisp.org>
62615
62616         * doc/glibc-functions/memmem.texi: Include contents of
62617         doc/functions/memmem.texi.
62618         * doc/functions/memmem.texi: Remove file.
62619
62620 2008-01-18  Bruno Haible  <bruno@clisp.org>
62621
62622         * doc/glibc-functions/*.texi: New files.
62623         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62624         to use the new files.
62625
62626 2008-01-17  Bruno Haible  <bruno@clisp.org>
62627
62628         * tests/test-gethostname.c (main): Fix printf statement.
62629
62630 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62631
62632         * modules/gethostname-tests: New file.
62633
62634         * tests/test-gethostname.c: New file.
62635
62636 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62637
62638         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62639         used by the UNAME case.  Reported by Bruno Haible
62640         <bruno@clisp.org>.
62641
62642 2008-01-17  Eric Blake  <ebb9@byu.net>
62643
62644         Convert c-strcasestr to be more efficient.
62645         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62646         (Depends-on): Add c-strcase, remove malloca, strnlen.
62647         * tests/test-c-strcasestr.c (main): Enhance test.
62648         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62649
62650 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62651
62652         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62653         Use it in creating po/Makevars.
62654
62655 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62656
62657         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62658         Applications that requires it should initialize libgcrypt
62659         manually.
62660
62661 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62662
62663         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62664
62665 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62666
62667         Fix problem with getdate on mingw32 reported by Simon Josefsson
62668         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62669         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62670         tzname", when deciding whether to declare tzname.
62671         * lib/strftime.c (tzname): Likewise.
62672
62673 2008-01-15  Bruno Haible  <bruno@clisp.org>
62674
62675         Work around a MacOS X 10.5 bug in frexpl().
62676         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62677         * doc/functions/frexpl.texi: Document the bug.
62678         Reported by Elias Pipping <pipping@gentoo.org>.
62679
62680 2008-01-14  Eric Blake  <ebb9@byu.net>
62681
62682         Touch up previous patch.
62683         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62684         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62685
62686         Convert strcasestr module to use Two-Way algorithm.
62687         * modules/strcasestr-simple: New module, based on the old
62688         strcasestr, but with Two-Way rather than KMP.
62689         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62690         * lib/string.in.h (rpl_strcasestr): Declare.
62691         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62692         performance.
62693         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62694         * modules/string (Makefile.am): Support strcasestr.
62695         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62696         * modules/strcasestr-tests (Depends-on): Check for alarm.
62697         * tests/test-strcasestr.c: Augment test.
62698         * lib/str-two-way.h: Clean up stray macro.
62699         * NEWS: Document new module.
62700         * MODULES.html.sh (string handling): Likewise.
62701         * doc/functions/strcasestr.texi: New file.
62702         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62703         here, since it is not a POSIX function.
62704
62705 2008-01-14  Colin Watson  <cjwatson@debian.org>
62706             Bruno Haible  <bruno@clisp.org>
62707
62708         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62709         works fine; if not, set REPLACE_STRSIGNAL.
62710         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62711         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62712         REPLACE_STRSIGNAL.
62713         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62714         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62715         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62716
62717 2008-01-14  Bruno Haible  <bruno@clisp.org>
62718
62719         * modules/strsignal (Include): Change to <string.h>.
62720
62721 2008-01-14  Colin Watson  <cjwatson@debian.org>
62722
62723         * modules/argp (Notice): Add a notice recommending to change
62724         XGETTEXT_OPTIONS.
62725         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62726
62727 2008-01-13  Colin Watson  <cjwatson@debian.org>
62728
62729         * modules/strsignal-tests: New file.
62730         * tests/test-strsignal.c: New file.
62731
62732         * lib/strsignal.c: New file, from glibc with modifications.
62733         * lib/siglist.h: New file, from glibc with modifications.
62734         * lib/string.in.h (strsignal): New declaration.
62735         * m4/strsignal.m4: New file.
62736         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62737         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62738         * modules/strsignal: New file.
62739         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62740         HAVE_DECL_STRSIGNAL.
62741
62742 2008-01-13  Bruno Haible  <bruno@clisp.org>
62743
62744         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62745         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62746         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62747         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62748
62749 2008-01-13  Bruno Haible  <bruno@clisp.org>
62750
62751         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62752         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62753         * lib/argp.h (__attribute__): Likewise.
62754         * lib/c-stack.c (__attribute__): Likewise.
62755         * lib/error.h (__attribute__): Likewise.
62756         * lib/fts.c (__attribute__): Likewise.
62757         * lib/openat.h (__attribute__): Likewise.
62758         * lib/stdio.in.h (__attribute__): Likewise.
62759         * lib/string.in.h (__attribute__): Likewise.
62760         * lib/utimens.c (__attribute__): Likewise.
62761         * lib/vasnprintf.h (__attribute__): Likewise.
62762         * lib/xalloc.h (__attribute__): Likewise.
62763         * lib/xprintf.h (__attribute__): Likewise.
62764         * lib/xstrtol.h (__attribute__): Likewise.
62765         * lib/xvasprintf.h (__attribute__): Likewise.
62766
62767 2008-01-12  Bruno Haible  <bruno@clisp.org>
62768
62769         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62770         * doc/glibc-headers/a.out.texi: New file.
62771         * doc/glibc-headers/aliases.texi: New file.
62772         * doc/glibc-headers/alloca.texi: New file.
62773         * doc/glibc-headers/ar.texi: New file.
62774         * doc/glibc-headers/argp.texi: New file.
62775         * doc/glibc-headers/argz.texi: New file.
62776         * doc/glibc-headers/byteswap.texi: New file.
62777         * doc/glibc-headers/crypt.texi: New file.
62778         * doc/glibc-headers/endian.texi: New file.
62779         * doc/glibc-headers/envz.texi: New file.
62780         * doc/glibc-headers/err.texi: New file.
62781         * doc/glibc-headers/error.texi: New file.
62782         * doc/glibc-headers/execinfo.texi: New file.
62783         * doc/glibc-headers/fpu_control.texi: New file.
62784         * doc/glibc-headers/fstab.texi: New file.
62785         * doc/glibc-headers/fts.texi: New file.
62786         * doc/glibc-headers/getopt.texi: New file.
62787         * doc/glibc-headers/ieee754.texi: New file.
62788         * doc/glibc-headers/ifaddrs.texi: New file.
62789         * doc/glibc-headers/libintl.texi: New file.
62790         * doc/glibc-headers/mcheck.texi: New file.
62791         * doc/glibc-headers/mntent.texi: New file.
62792         * doc/glibc-headers/obstack.texi: New file.
62793         * doc/glibc-headers/paths.texi: New file.
62794         * doc/glibc-headers/printf.texi: New file.
62795         * doc/glibc-headers/pty.texi: New file.
62796         * doc/glibc-headers/resolv.texi: New file.
62797         * doc/glibc-headers/shadow.texi: New file.
62798         * doc/glibc-headers/sysexits.texi: New file.
62799         * doc/glibc-headers/ttyent.texi: New file.
62800
62801 2008-01-12  Jim Meyering  <meyering@redhat.com>
62802
62803         announce-gen: emit Gnulib's git-based version string.
62804         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62805         New option --gnulib-version=V, where V is expected to be
62806         the output of running git describe in the gnulib directory.
62807         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62808         not useful, and plan to stop publishing an xdelta file with each
62809         coreutils release.
62810
62811         * build-aux/announce-gen: Also check for lzma-compressed files.
62812
62813 2008-01-11  Bruno Haible  <bruno@clisp.org>
62814
62815         * tests/test-memmem.c (main): Increase maximum allowed time.
62816         * tests/test-strstr.c (main): Likewise.
62817
62818 2008-01-11  Bruno Haible  <bruno@clisp.org>
62819
62820         * doc/functions/memmem.texi: Add more precisions about platforms.
62821         * doc/functions/strstr.texi: Likewise.
62822
62823 2008-01-10  Eric Blake  <ebb9@byu.net>
62824
62825         * m4/strstr.m4: Delete cruft from copy-n-paste.
62826         Reported by Bruno Haible.
62827
62828 2008-01-10  Bruno Haible  <bruno@clisp.org>
62829
62830         Make c-strstr rely on strstr.
62831         * lib/c-strstr.c: Don't include str-kmp.h.
62832         (c_strstr): Define in terms of strstr.
62833         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62834         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62835
62836 2008-01-10  Bruno Haible  <bruno@clisp.org>
62837
62838         * doc/gnulib.texi (String Functions in C Locale): New section.
62839         * doc/c-ctype.texi: New file.
62840         * doc/c-strcase.texi: New file.
62841         * doc/c-strcaseeq.texi: New file.
62842         * doc/c-strcasestr.texi: New file.
62843         * doc/c-strstr.texi: New file.
62844         * doc/c-strtod.texi: New file.
62845         * doc/c-strtold.texi: New file.
62846
62847 2008-01-10  Eric Blake  <ebb9@byu.net>
62848
62849         * lib/relocatable.h: Fix a comment.
62850
62851 2008-01-10  Eric Blake  <ebb9@byu.net>
62852
62853         Share two-way algorithm.
62854         * lib/str-two-way.h: New file, merged from...
62855         * lib/memmem.c: ...here...
62856         * lib/strstr.c: ...and here.
62857         * modules/memmem (Files): Use it.
62858         * modules/strstr (Files): Likewise.
62859
62860         Avoid quadratic strstr implementations.
62861         * lib/strstr.c: New file.
62862         * m4/strstr.m4: Likewise.
62863         * modules/strstr: Likewise.
62864         * modules/strstr-tests: Likewise.
62865         * tests/test-strstr.c: Likewise.
62866         * lib/string.in.h (rpl_strstr): Declare.
62867         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62868         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62869         * modules/string (Makefile.am): Likewise.
62870         * MODULES.html.sh (string handling): Mention new module.
62871         * doc/functions/strstr.texi (strstr): Document the bug.
62872
62873 2008-01-10  Bruno Haible  <bruno@clisp.org>
62874
62875         * lib/relocatable.h (relocate): State whether result is freshly
62876         allocated or not.
62877         * lib/relocatable.c (relocate): Return a freshly allocated string
62878         instead of a pointer to a privately held string.
62879         Reported by Sylvain Beucler <beuc@gnu.org>.
62880
62881 2008-01-10  Colin Watson  <cjwatson@debian.org>
62882
62883         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62884         s/S_ISNLK/S_ISLNK/.
62885
62886 2008-01-09  Bruno Haible  <bruno@clisp.org>
62887
62888         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62889         and other files.
62890         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62891         if it's only a guess.
62892         * modules/memmem: Simplify by depending on memmem-simple.
62893
62894 2008-01-09  Bruno Haible  <bruno@clisp.org>
62895
62896         Work around OpenBSD 4.0 tdelete() bug.
62897         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62898         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62899         macros and don't redefine the enum values.
62900         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62901         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62902         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62903
62904 2008-01-09  Bruno Haible  <bruno@clisp.org>
62905
62906         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62907         (main): Don't perform the tests if setlocale did not install a UTF-8
62908         locale. Needed on OpenBSD 4.0.
62909         * modules/wcwidth-tests (Depends-on): Add localcharset.
62910
62911 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62912
62913         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62914         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62915         * NEWS: announce this.
62916         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62917
62918 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62919         and Eric Blake  <ebb9@byu.net>
62920
62921         Add memmem-simple module.
62922         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62923         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62924         * modules/memmem-simple: New file.
62925         * modules/memmem (Description): Tweak.
62926         * MODULES.html.sh (string handling): Mention new module.
62927         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62928         addressed by memmem-simple.
62929         * NEWS: Document the difference.
62930
62931 2008-01-09  Eric Blake  <ebb9@byu.net>
62932
62933         Give gcc some memmem optimization hints.
62934         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62935         (strcasestr): Declare as pure.
62936         * modules/memmem (Maintainer): Claim my implementation.
62937
62938 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62939
62940         Support AIX 6.1 and higher.
62941         * build-aux/config.libpath: Likewise.
62942         * build-aux/config.rpath: Likewise.
62943
62944 2008-01-08  Jim Meyering  <meyering@redhat.com>
62945             Bruno Haible  <bruno@clisp.org>
62946
62947         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62948         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62949         Reported by Peter Fales in
62950         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62951
62952 2008-01-08  Bruno Haible  <bruno@clisp.org>
62953
62954         * modules/unictype/category-of (Depends-on): Add
62955         unictype/category-none.
62956         * modules/unictype/category-and-tests (Depends-on): Add
62957         unictype/category-{L,N,Lu,Nd}.
62958         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62959         * modules/unictype/category-or-tests (Depends-on): Add
62960         unictype/category-{L,N}.
62961         * modules/unictype/category-name-tests (Depends-on): Add
62962         unictype/category-{Z,Nl}.
62963         Reported by Simon Josefsson.
62964
62965 2008-01-08  Bruno Haible  <bruno@clisp.org>
62966
62967         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62968         convention better.
62969         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62970         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62971         Reported by Peter Miller <millerp@canb.auug.org.au>.
62972
62973 2008-01-08  Eric Blake  <ebb9@byu.net>
62974
62975         Rewrite memmem to guarantee linear complexity without malloc.
62976         * lib/memmem.c (memmem): Use Two-Way rather than
62977         Knuth-Morris-Pratt, to allow O(1) space usage.
62978         (critical_factorization, two_way_short_needle)
62979         (two_way_long_needle): New functions.
62980         (knuth_morris_pratt): Delete.
62981         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62982         Add stdint.
62983         * tests/test-memmem.c (main): Add tests for periodic needle and
62984         sublinear performance.
62985         * doc/functions/memmem.texi (memmem): Document other deficiencies
62986         in cygwin and older glibc.
62987
62988 2008-01-08  Bruno Haible  <bruno@clisp.org>
62989
62990         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62991         augmentation.
62992
62993 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62994
62995         Add a configure time option: --disable-acl.
62996         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62997         AC_ARG_ENABLE(acl).
62998
62999 2008-01-06  Simon Josefsson  <simon@josefsson.org>
63000
63001         * tests/test-localename.c: Don't include obsolete "setenv.h".
63002
63003         * modules/localename-tests (Depends-on): Need unsetenv.
63004
63005 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63006
63007         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
63008
63009 2008-01-06  Colin Watson  <cjwatson@debian.org>
63010
63011         * users.txt: Add man-db.
63012
63013 2008-01-07  Bruno Haible  <bruno@clisp.org>
63014
63015         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
63016         previous section name.
63017
63018 2008-01-07  Bruno Haible  <bruno@clisp.org>
63019
63020         * lib/progname.c (set_program_name): Don't strip off a leading
63021         "lt-" prefix outside a .libs directory.
63022         Suggested by Paul Eggert.
63023
63024 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
63025             Bruno Haible  <bruno@clisp.org>
63026
63027         Improve memory cleanup in 'relocatable' module.
63028         * lib/relocatable.h (compute_curr_prefix): Change return type to
63029         'char *'.
63030         * lib/relocatable.c (compute_curr_prefix): Change return type to
63031         'char *'. Free curr_installdir after use.
63032         (relocate): Free curr_prefix_better after use.
63033         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
63034
63035 2008-01-01  Bruno Haible  <bruno@clisp.org>
63036
63037         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
63038         failure on older glibc systems.
63039         Reported by Peter Fales <psfales@alcatel-lucent.com>.
63040
63041 2008-01-05  Eric Blake  <ebb9@byu.net>
63042
63043         Avoid quadratic system memmem.
63044         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
63045         Reported by Ralf Wildenhues.
63046
63047         Fix memmem test for mingw.
63048         * modules/memmem-tests (configure.ac): Check for alarm.
63049         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
63050         it.
63051         * doc/functions/memmem.texi: New file.
63052         * doc/gnulib.texi (Function Substitutes): Add memmem.
63053         Reported by Bruno Haible.
63054
63055 2008-01-04  Bruno Haible  <bruno@clisp.org>
63056
63057         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
63058         Require gl_HEADER_STRINGS_H_DEFAULTS, not
63059         gl_HEADER_STRING_H_DEFAULTS.
63060
63061 2008-01-04  Eric Blake  <ebb9@byu.net>
63062
63063         Shorten duration of memmem test.
63064         * tests/test-memmem.c (main): Use alarm to declare failure if test
63065         is taking too long.
63066         Reported by Ralf Wildenhues.
63067
63068 2007-12-21  Simon Josefsson  <simon@josefsson.org>
63069
63070         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
63071         string, needed by strerror.
63072
63073 2008-01-03  Colin Watson  <cjwatson@debian.org>
63074             Bruno Haible  <bruno@clisp.org>
63075
63076         * doc/gnulib-tool.texi (Localization): New section.
63077
63078 2008-01-02  Bruno Haible  <bruno@clisp.org>
63079
63080         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
63081         variables to 'unsigned char *' type.
63082         Reported by Paul Eggert.
63083
63084 2008-01-02  Jim Meyering  <jim@meyering.net>
63085
63086         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
63087
63088 2007-12-31  Jim Meyering  <jim@meyering.net>
63089
63090         Avoid use of private FTS type name.
63091         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
63092
63093 2007-12-30  Karl Berry  <karl@gnu.org>
63094
63095         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
63096         work around defect in Texinfo and/or the standalone Info browser.
63097
63098 2007-12-30  Bruno Haible  <bruno@clisp.org>
63099
63100         Unify 5 copies of the KMP code.
63101         * lib/str-kmp.h: New file.
63102         * lib/c-strcasestr.c: Include str-kmp.h.
63103         (knuth_morris_pratt): Remove function.
63104         (c_strcasestr): Update.
63105         * lib/c-strstr.c: Include str-kmp.h.
63106         (knuth_morris_pratt): Remove function.
63107         (c_strcasestr): Update.
63108         * lib/mbscasestr.c: Include str-kmp.h.
63109         (knuth_morris_pratt_unibyte): Remove function.
63110         * lib/mbsstr.c: Include str-kmp.h.
63111         (knuth_morris_pratt_unibyte): Remove function.
63112         * lib/strcasestr.c: Include str-kmp.h.
63113         (knuth_morris_pratt): Remove function.
63114         (strcasestr): Update.
63115         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
63116         * modules/c-strstr (Files): Likewise.
63117         * modules/mbscasestr (Files): Likewise.
63118         * modules/mbsstr (Files): Likewise.
63119         * modules/strcasestr (Files): Likewise.
63120         Suggested by Paul Eggert.
63121
63122 2007-12-30  Bruno Haible  <bruno@clisp.org>
63123
63124         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
63125         defined.
63126
63127 2007-12-30  Bruno Haible  <bruno@clisp.org>
63128
63129         * lib/xmalloca.h: Include xalloc.h.
63130         (xnmalloca): New macro.
63131
63132 2007-12-30  Bruno Haible  <bruno@clisp.org>
63133
63134         * lib/malloca.h (nmalloca): New macro.
63135         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
63136         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
63137         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
63138         knuth_morris_pratt_multibyte): Likewise.
63139         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
63140         knuth_morris_pratt_multibyte): Likewise.
63141         * lib/memmem.c (knuth_morris_pratt): Likewise.
63142         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
63143
63144 2007-12-25  Bruno Haible  <bruno@clisp.org>
63145
63146         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
63147         * lib/glob.c: Don't include openat.h.
63148         (link_exists2_p): Add back the code that deals with the
63149         !GLOB_ALTDIRFUNC case.
63150         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
63151         let it do the filename concatenation.
63152         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
63153         * modules/glob (Depends-on): Remove openat.
63154
63155 2007-12-31  Bruno Haible  <bruno@clisp.org>
63156
63157         * modules/dirfd (License): Change to LGPLv2+.
63158         Approved by Jim Meyering.
63159
63160 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
63161
63162         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
63163         when multiplying M by sizeof (size_t).
63164
63165 2007-12-10  Martin Lambers  <marlam@marlam.de>
63166
63167         Override getpagesize on mingw.
63168         * lib/getpagesize.c: New file.
63169         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
63170         * modules/getpagesize (Files): Add lib/getpagesize.c.
63171         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
63172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63173         REPLACE_GETPAGESIZE.
63174         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
63175
63176 2007-12-25  Bruno Haible  <bruno@clisp.org>
63177
63178         * modules/localcharset (Notice): New field.
63179         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
63180         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
63181
63182 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
63183             Bruno Haible  <bruno@clisp.org>
63184
63185         Avoid using the syntax symbol() in formatted documentation.
63186         * MODULES.html.sh (func_module): When replacing symbol() with a
63187         hyperlink, remove the parentheses. Show an error if some remain.
63188         Recognize and render the '...' syntax.
63189         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
63190         Rework. Add paragraph about GCC's inlining.
63191         * doc/alloca.texi: Likewise.
63192         * doc/error.texi: Remove parentheses from symbol reference.
63193         * doc/gnulib-intro.texi: Likewise.
63194         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
63195         * modules/fnmatch (Description): Reword to say "the ... function".
63196         * modules/full-read (Description): Likewise.
63197         * modules/full-write (Description): Likewise.
63198         * modules/safe-read (Description): Likewise.
63199         * modules/safe-write (Description): Likewise.
63200         * modules/strchrnul (Description): Likewise.
63201         * modules/trim (Description): Likewise.
63202         * modules/error (Description): Remove parentheses from symbol
63203         references.
63204         * modules/verror (Description): Likewise.
63205         Reported by Karl Berry.
63206
63207 2007-12-25  Bruno Haible  <bruno@clisp.org>
63208
63209         Fixup after 2007-10-16 commit.
63210         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
63211
63212 2007-12-24  Bruno Haible  <bruno@clisp.org>
63213
63214         Make --enable-relocatable work with DESTDIR.
63215         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
63216         to compute installdir from destprog.
63217         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
63218         also set the RELOC_DESTDIR variable.
63219         Reported by Левашев Иван <octagram@bluebottle.com>.
63220
63221 2007-12-24  Bruno Haible  <bruno@clisp.org>
63222
63223         Fix link error due to xalloc_die().
63224         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
63225         of xreadlink.
63226         * lib/relocwrapper.c: Update comments.
63227         * build-aux/install-reloc: Remove xreadlink.c from file list.
63228         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
63229         xreadlink.c.
63230         Reported by Левашев Иван <octagram@bluebottle.com>.
63231
63232 2007-12-24  Bruno Haible  <bruno@clisp.org>
63233
63234         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
63235         * lib/setenv.h: Remove file.
63236         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
63237         lib/setenv.h.
63238         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
63239         (Depends-on): Add stdlib.
63240         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
63241         gl_FUNC_UNSETENV.
63242         (Include): Replace setenv.h with <stdlib.h>.
63243         * modules/unsetenv: New file.
63244         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
63245         * lib/unsetenv.c: Include <stdlib.h> first.
63246         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
63247         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
63248         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
63249         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
63250         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
63251         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63252         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
63253         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63254         * doc/functions/unsetenv.texi: Update.
63255         * modules/xsetenv (Depends-on): Add unsetenv.
63256         * modules/getdate (Depends-on): Likewise.
63257         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
63258         * lib/xsetenv.c: Don't include setenv.h.
63259         * lib/getdate.y: Likewise.
63260         * lib/relocwrapper.c: Likewise.
63261         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
63262         (Depends-on): Add stdlib.
63263         * NEWS: Mention the changes.
63264         Reported by Левашев Иван <octagram@bluebottle.com>.
63265
63266 2007-12-23  Bruno Haible  <bruno@clisp.org>
63267
63268         * lib/memmem.c (memmem): Use lowercase variable names. Tab
63269         indentation.
63270
63271 2007-12-23  Bruno Haible  <bruno@clisp.org>
63272
63273         * lib/c-strcasestr.c: Add more comments.
63274         * lib/c-strstr.c: Likewise.
63275         * lib/mbscasestr.c: Likewise.
63276         * lib/mbsstr.c: Likewise.
63277         * lib/strcasestr.c: Likewise.
63278         * lib/memmem.c: Likewise.
63279
63280 2007-12-23  Bruno Haible  <bruno@clisp.org>
63281
63282         * tests/test-memmem.c: Include <string.h> first.
63283
63284 2007-12-22  Bruno Haible  <bruno@clisp.org>
63285
63286         * gnulib-tool (func_create_testdir): Change $auxdir while generating
63287         the contents of $testsbase.
63288         Reported by Ralf Wildenhues.
63289
63290 2007-12-22  Bruno Haible  <bruno@clisp.org>
63291
63292         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
63293         two variables local_ldadd_before, local_ldadd_last.
63294
63295 2007-12-20  Eric Blake  <ebb9@byu.net>
63296
63297         Work around circular library issue when cross-compiling.
63298         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
63299         that progname.o does not need to pull in rpl_memcmp.
63300
63301 2007-12-19  Eric Blake  <ebb9@byu.net>
63302
63303         Fix memmem to avoid O(n^2) worst-case complexity.
63304         * lib/memmem.c (knuth_morris_pratt): New function.
63305         (memmem): Use it if first few naive iterations fail.
63306         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
63307         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
63308         * modules/memchr (License): Likewise.
63309         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
63310         malloca.
63311         * tests/test-memmem.c: Rewrite, borrowing ideas from
63312         test-mbsstr1.c; the old version wouldn't even compile!
63313         * modules/memmem-tests: New file.
63314         * lib/string.in.h (rpl_memmem): Add declaration.
63315         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
63316         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
63317         REPLACE_MEMMEM.
63318
63319 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63320
63321         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
63322         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
63323         before any system include files, and undef after them all.  This
63324         should fix a problem on VMS reported by John E. Malmberg in
63325         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
63326
63327 2007-12-17  Eric Blake  <ebb9@byu.net>
63328
63329         Revert addition of verify, for BSD/OS.
63330         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
63331         can't handle large files, for the sake of obsolete platforms.
63332         * modules/fseeko (Depends-on): Remove verify.
63333         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
63334         * doc/functions/ftello.texi (ftello): Likewise.
63335         * doc/functions/fgetpos.texi (fgetpos): Likewise.
63336         Reported by Larry Jones.
63337
63338 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
63339
63340         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
63341         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
63342
63343 2007-12-17  Jim Meyering  <meyering@redhat.com>
63344
63345         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
63346         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
63347         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
63348         * modules/getcwd (Depends-on): Add openat.
63349         Reported by Petr Salinger.
63350
63351 2007-12-17  Bruno Haible  <bruno@clisp.org>
63352
63353         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
63354         avoid a segmentation fault of the configure test on x86_64 systems.
63355
63356 2007-12-15  Jim Meyering  <meyering@redhat.com>
63357
63358         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
63359
63360 2007-12-13  Eric Blake  <ebb9@byu.net>
63361
63362         Another fseek test.
63363         * tests/test-fseek.c (main): Also test ungetc handling.
63364         * tests/test-fseeko.c (main): Likewise.
63365         * modules/fseeko (Depends-on): Add verify.
63366         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
63367         large.
63368         Reported by Larry Jones.
63369
63370         Fix fseeko on mingw.
63371         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
63372         seek.
63373
63374         Beef up fseek tests.
63375         * tests/test-fseek.c (main): Also test eof handling.
63376         * tests/test-fseeko.c (main): Likewise.
63377         Reported by Larry Jones.
63378
63379 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
63380
63381         Fix fseeko on BSD-based platforms.
63382         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
63383         successful seek.
63384
63385 2007-12-12  Eric Blake  <ebb9@byu.net>
63386
63387         Allow circular dependency of separate libtests.a
63388         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
63389         when use_libtests.
63390
63391 2007-12-11  Eric Blake  <ebb9@byu.net>
63392
63393         Fix bug with -0.0L in previous patch.
63394         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
63395         * tests/test-isnan.c (main): Also test on zeroes.
63396         * tests/test-isnanf.c (main): Likewise.
63397         * tests/test-isnanl.h (main): Likewise.
63398
63399         Detect pseudo-denormals on x86 even when cross-compiling.
63400         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
63401         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
63402         invalid bit patterns that happen to satisfy ==.
63403
63404         Avoid link failures with separate libtests.a.
63405         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
63406         last, to satisfy circular dependencies.
63407
63408 2007-12-11  Eric Blake  <ebb9@byu.net>
63409         and Bruno Haible  <bruno@clisp.org>
63410
63411         Fix OpenBSD 4.0 <float.h> handling of long double.
63412         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
63413         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
63414         * doc/headers/float.texi (float.h): Document OpenBSD bug.
63415
63416 2007-12-11  Jim Meyering  <meyering@redhat.com>
63417
63418         * users.txt: Add libvirt.
63419
63420         Support versions of autoconf prior to 2.59c.
63421         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
63422         if it is not already defined.
63423
63424 2007-12-09  Bruno Haible  <bruno@clisp.org>
63425
63426         Let 'gnulib-tool --import' collect sources needed for the tests in
63427         tests/ rather than in lib/.
63428         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
63429         argument. If true, add rules to generate libtests.a, and put libtests.a
63430         into $(LDADD). Consider source files in subdirectories and set
63431         uses_subdirs.
63432         (func_emit_initmacro_start, func_emit_initmacro_end,
63433         func_emit_initmacro_done): Pass all arguments explicitly.
63434         (func_import): Determine two module lists main_modules,
63435         testsrelated_modules. Determine use_libtests. Determine two variables
63436         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
63437         instead of just sed_transform_lib_file. Determine two variables
63438         main_files and testsrelated_files. Compute 'files' as the union of
63439         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
63440         func_add_or_update. In the generated gnulib-comp.m4, collect the
63441         object files for tests/ in different variables than those for lib/.
63442         Substitute LIBTESTS_LIBDEPS.
63443         (func_create_testdir): Combine the uses_subdirs results from
63444         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
63445
63446 2007-12-09  Bruno Haible  <bruno@clisp.org>
63447
63448         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
63449         the build-aux directory.
63450
63451 2007-12-09  Bruno Haible  <bruno@clisp.org>
63452
63453         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
63454         introduced on 2006-09-09.
63455
63456 2007-12-07  Jim Meyering  <meyering@redhat.com>
63457
63458         Let these macros work also with autoconf-2.59.
63459         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63460         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63461         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63462
63463 2007-12-06  Jim Meyering  <meyering@redhat.com>
63464
63465         Avoid a configure-time syntax error in gl_FUNC_ACL.
63466         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63467         function in each branch, before testing the cache variable.
63468
63469 2007-12-04  Eric Blake  <ebb9@byu.net>
63470
63471         Make scripts executable.
63472         * build-aux/config.guess: Add execute permissions.
63473         * build-aux/config.sub: Likewise.
63474         * build-aux/gendocs.sh: Likewise.
63475
63476         Fix frexp on mingw.
63477         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63478         cross-compiling.
63479         * doc/functions/frexp.texi (frexp): Document the bug.
63480
63481         Make cygwin fseeko check more reliable.
63482         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63483         version numbers, rather than unrelated feature check.
63484         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63485         * doc/functions/ftello.texi (ftello): Likewise.
63486         Reported by Bruno Haible.
63487
63488         * m4/strerror.m4: Bump version number.
63489
63490 2007-12-03  Bruno Haible  <bruno@clisp.org>
63491
63492         * doc/functions/mprotect.texi: Mention the mingw problem.
63493
63494 2007-12-03  Eric Blake  <ebb9@byu.net>
63495
63496         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63497         REPLACE_STRERROR is initialized before this macro.
63498
63499 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63500
63501         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63502         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63503         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63504         put -lsec in even for programs other than 'ls'.  This fixes a problem
63505         for gettext reported by Bruno Haible in
63506         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63507         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63508         Add support for Solaris 10.  This isn't efficient, but should get the
63509         job done for now.
63510
63511 2007-12-03  James Youngman  <jay@gnu.org>
63512
63513         * doc/regexprops-generic.texi: change "an close-group" to "a
63514         close-group" and "illegal" to "not allowed".
63515
63516 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63517
63518         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63519         pr_byname.h. Needed for the rare case when the maintainer has done
63520         "make maintainer-clean" in the source directory and then attempts a
63521         build outside the source directory.
63522         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63523         scripts_byname.h.
63524
63525 2007-12-02  Martin Lambers <marlam@marlam.de>
63526             Bruno Haible  <bruno@clisp.org>
63527
63528         * lib/getpagesize.h: Remove file.
63529         * lib/unistd.in.h: Include declaration of getpagesize here.
63530         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63531         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63532         HAVE_SYS_PARAM_H.
63533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63534         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63535         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63536         (Depends-on): Add unistd.
63537         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63538         (Include): Use <unistd.h> instead of getpagesize.h.
63539         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63540         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63541         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63542         gl_GETPAGESIZE invocation, already handled by module dependency.
63543         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63544
63545 2007-12-02  Bruno Haible  <bruno@clisp.org>
63546
63547         * modules/strings-tests: New file.
63548         * tests/test-strings.c: New file.
63549
63550         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63551         * lib/strings.in.h: New file.
63552         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63553         * m4/strings_h.m4: New file.
63554         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63555         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63556         * modules/strings: New file.
63557         * modules/string (Makefile.am): Update.
63558         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63559         Reported by Karl Berry.
63560
63561 2007-12-01  Eric Blake  <ebb9@byu.net>
63562
63563         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63564         accommodate fix in cygwin 1.5.25.
63565
63566 2007-12-01  Jim Meyering  <meyering@redhat.com>
63567
63568         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63569         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63570         that would inhibit utf8-optimization of a regexp containing line-
63571         or buffer-anchors, e.g., `^', `$'.
63572
63573 2007-11-30  Bruno Haible  <bruno@clisp.org>
63574
63575         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63576         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63577         glthread_recursive_lock_init.
63578         * lib/lock.c (glthread_recursive_lock_init)
63579         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63580         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63581
63582 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63583
63584         New function qset_acl, like set_acl but with syscall semantics.
63585         * lib/acl.h (qset_acl): New decl.
63586         * lib/acl.c (qset_acl): New function.
63587         (set_acl): Use new function.  Use more-consistent diagnostics.
63588
63589 2007-11-28  Jim Meyering  <meyering@redhat.com>
63590
63591         * modules/physmem (License): Change from GPL to LGPLv2+.
63592
63593 2007-11-26  Bruno Haible  <bruno@clisp.org>
63594
63595         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63596         'long double' type has excess precision.
63597         Reported by Jim Meyering in
63598         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63599
63600 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63601
63602         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63603         Sync from <http://gnu.org/licenses>.
63604         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63605         with license text from same location.
63606         * doc/maintain.texi, doc/standards.texi:  Sync from
63607         <http://savannah.gnu.org/projects/gnustandards>.
63608
63609 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
63610         and Jim Meyering  <meyering@redhat.com>
63611
63612         Adjust getdate' grammar to accept a slightly more regular language.
63613         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63614         Before, the former was rejected.
63615         * lib/getdate.y (digits_to_date_time): New function, factored
63616         out of ...
63617         (number): ...here.  Just call digits_to_date_time.
63618         (hybrid): New non-terminal to handle an <unsigned number,
63619         signed relative offset> sequence consistently.
63620
63621 2007-11-18  Jim Meyering  <meyering@redhat.com>
63622
63623         Pull my changes from coreutils:
63624         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63625         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63626         use of $gnulib_tool_option_extras, so that it's separated from the
63627         preceding argument.
63628
63629         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63630         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63631         parent destination directories before copying a file into place.
63632
63633 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63634
63635         bootstrap: work also with 4-argument variant of AC_INIT
63636         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63637
63638 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63639
63640         Port test-getaddrinfo to Solaris.
63641         Problem reported by Bruno Haible in
63642         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63643         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63644         explanation of setting 'hints'.
63645         Don't reject an implementation merely because it returns EAI_SERVICE.
63646         (EAI_SERVICE): Define to 0 if not defined.
63647
63648 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63649
63650         The license of gnu-make and posix-shell is now "GPLed build tool".
63651         * modules/gnu-make (License): Likewise.
63652         * modules/posix-shell (License): Likewise.
63653
63654         New module posix-shell, for determining a POSIX shell
63655         or perhaps something that is close enough to a POSIX shell.
63656         * m4/posix-shell.m4: New file.
63657         * modules/posix-shell: New file.
63658
63659         * MODULES.html.sh: Mention new module.
63660
63661         New module gnu-make, for determining whether we're using GNU Make.
63662         * m4/gnu-make.m4: New file.
63663         * modules/gnu-make: New file.
63664         * MODULES.html.sh: Mention new module.
63665
63666 2007-11-14  Jim Meyering  <meyering@redhat.com>
63667
63668         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63669         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63670         use this macro to create a function _definition_.
63671         Remove useless "#undef ARGMATCH_DIE".
63672
63673 2007-11-14  Bruno Haible  <bruno@clisp.org>
63674
63675         * lib/config.charset: Update for OpenBSD 4.1.
63676         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63677
63678 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63679
63680         Document 64-bit #if problems in stdint.texi.
63681         * doc/headers/stdint.texi (stdint.h): Mention problems with
63682         64-bit-#if, and how to work around them.
63683
63684         Don't insist on 'long long int' support in the preprocessor.  It
63685         breaks too many things.  For example, PRIdMAX still uses a 'long
63686         long int' format with the latest Sun compiler, even though
63687         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63688         preprocessor problem.  This causes the latest coreutils to dump
63689         core on Solaris 10 sparc with the Sun C compiler.
63690         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63691         the troublesome expressions at configure-time, not at #if-time.
63692         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63693         preprocessor.
63694         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63695         compile-time C checks, done at 'configure'-time.
63696         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63697         * modules/inttypes (Makefile): Substitute the new symbols that
63698         gl_INTTYPES_H now generates.
63699         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63700
63701 2007-11-12  Bruno Haible  <bruno@clisp.org>
63702
63703         Tests for Unicode character classification functions.
63704
63705         * modules/unictype/bidicategory-byname-tests: New file.
63706         * modules/unictype/bidicategory-name-tests: New file.
63707         * modules/unictype/bidicategory-of-tests: New file.
63708         * modules/unictype/bidicategory-test-tests: New file.
63709         * modules/unictype/block-list-tests: New file.
63710         * modules/unictype/block-of-tests: New file.
63711         * modules/unictype/block-test-tests: New file.
63712         * modules/unictype/category-C-tests: New file.
63713         * modules/unictype/category-Cc-tests: New file.
63714         * modules/unictype/category-Cf-tests: New file.
63715         * modules/unictype/category-Cn-tests: New file.
63716         * modules/unictype/category-Co-tests: New file.
63717         * modules/unictype/category-Cs-tests: New file.
63718         * modules/unictype/category-L-tests: New file.
63719         * modules/unictype/category-Ll-tests: New file.
63720         * modules/unictype/category-Lm-tests: New file.
63721         * modules/unictype/category-Lo-tests: New file.
63722         * modules/unictype/category-Lt-tests: New file.
63723         * modules/unictype/category-Lu-tests: New file.
63724         * modules/unictype/category-M-tests: New file.
63725         * modules/unictype/category-Mc-tests: New file.
63726         * modules/unictype/category-Me-tests: New file.
63727         * modules/unictype/category-Mn-tests: New file.
63728         * modules/unictype/category-N-tests: New file.
63729         * modules/unictype/category-Nd-tests: New file.
63730         * modules/unictype/category-Nl-tests: New file.
63731         * modules/unictype/category-No-tests: New file.
63732         * modules/unictype/category-P-tests: New file.
63733         * modules/unictype/category-Pc-tests: New file.
63734         * modules/unictype/category-Pd-tests: New file.
63735         * modules/unictype/category-Pe-tests: New file.
63736         * modules/unictype/category-Pf-tests: New file.
63737         * modules/unictype/category-Pi-tests: New file.
63738         * modules/unictype/category-Po-tests: New file.
63739         * modules/unictype/category-Ps-tests: New file.
63740         * modules/unictype/category-S-tests: New file.
63741         * modules/unictype/category-Sc-tests: New file.
63742         * modules/unictype/category-Sk-tests: New file.
63743         * modules/unictype/category-Sm-tests: New file.
63744         * modules/unictype/category-So-tests: New file.
63745         * modules/unictype/category-Z-tests: New file.
63746         * modules/unictype/category-Zl-tests: New file.
63747         * modules/unictype/category-Zp-tests: New file.
63748         * modules/unictype/category-Zs-tests: New file.
63749         * modules/unictype/category-and-not-tests: New file.
63750         * modules/unictype/category-and-tests: New file.
63751         * modules/unictype/category-byname-tests: New file.
63752         * modules/unictype/category-name-tests: New file.
63753         * modules/unictype/category-none-tests: New file.
63754         * modules/unictype/category-of-tests: New file.
63755         * modules/unictype/category-or-tests: New file.
63756         * modules/unictype/category-test-withtable-tests: New file.
63757         * modules/unictype/combining-class-tests: New file.
63758         * modules/unictype/ctype-alnum-tests: New file.
63759         * modules/unictype/ctype-alpha-tests: New file.
63760         * modules/unictype/ctype-blank-tests: New file.
63761         * modules/unictype/ctype-cntrl-tests: New file.
63762         * modules/unictype/ctype-digit-tests: New file.
63763         * modules/unictype/ctype-graph-tests: New file.
63764         * modules/unictype/ctype-lower-tests: New file.
63765         * modules/unictype/ctype-print-tests: New file.
63766         * modules/unictype/ctype-punct-tests: New file.
63767         * modules/unictype/ctype-space-tests: New file.
63768         * modules/unictype/ctype-upper-tests: New file.
63769         * modules/unictype/ctype-xdigit-tests: New file.
63770         * modules/unictype/decimal-digit-tests: New file.
63771         * modules/unictype/digit-tests: New file.
63772         * modules/unictype/mirror-tests: New file.
63773         * modules/unictype/numeric-tests: New file.
63774         * modules/unictype/property-alphabetic-tests: New file.
63775         * modules/unictype/property-ascii-hex-digit-tests: New file.
63776         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63777         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63778         * modules/unictype/property-bidi-block-separator-tests: New file.
63779         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63780         * modules/unictype/property-bidi-common-separator-tests: New file.
63781         * modules/unictype/property-bidi-control-tests: New file.
63782         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63783         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63784         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63785         * modules/unictype/property-bidi-european-digit-tests: New file.
63786         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63787         * modules/unictype/property-bidi-left-to-right-tests: New file.
63788         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63789         * modules/unictype/property-bidi-other-neutral-tests: New file.
63790         * modules/unictype/property-bidi-pdf-tests: New file.
63791         * modules/unictype/property-bidi-segment-separator-tests: New file.
63792         * modules/unictype/property-bidi-whitespace-tests: New file.
63793         * modules/unictype/property-byname-tests: New file.
63794         * modules/unictype/property-combining-tests: New file.
63795         * modules/unictype/property-composite-tests: New file.
63796         * modules/unictype/property-currency-symbol-tests: New file.
63797         * modules/unictype/property-dash-tests: New file.
63798         * modules/unictype/property-decimal-digit-tests: New file.
63799         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63800         * modules/unictype/property-deprecated-tests: New file.
63801         * modules/unictype/property-diacritic-tests: New file.
63802         * modules/unictype/property-extender-tests: New file.
63803         * modules/unictype/property-format-control-tests: New file.
63804         * modules/unictype/property-grapheme-base-tests: New file.
63805         * modules/unictype/property-grapheme-extend-tests: New file.
63806         * modules/unictype/property-grapheme-link-tests: New file.
63807         * modules/unictype/property-hex-digit-tests: New file.
63808         * modules/unictype/property-hyphen-tests: New file.
63809         * modules/unictype/property-id-continue-tests: New file.
63810         * modules/unictype/property-id-start-tests: New file.
63811         * modules/unictype/property-ideographic-tests: New file.
63812         * modules/unictype/property-ids-binary-operator-tests: New file.
63813         * modules/unictype/property-ids-trinary-operator-tests: New file.
63814         * modules/unictype/property-ignorable-control-tests: New file.
63815         * modules/unictype/property-iso-control-tests: New file.
63816         * modules/unictype/property-join-control-tests: New file.
63817         * modules/unictype/property-left-of-pair-tests: New file.
63818         * modules/unictype/property-line-separator-tests: New file.
63819         * modules/unictype/property-logical-order-exception-tests: New file.
63820         * modules/unictype/property-lowercase-tests: New file.
63821         * modules/unictype/property-math-tests: New file.
63822         * modules/unictype/property-non-break-tests: New file.
63823         * modules/unictype/property-not-a-character-tests: New file.
63824         * modules/unictype/property-numeric-tests: New file.
63825         * modules/unictype/property-other-alphabetic-tests: New file.
63826         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63827         * modules/unictype/property-other-grapheme-extend-tests: New file.
63828         * modules/unictype/property-other-id-continue-tests: New file.
63829         * modules/unictype/property-other-id-start-tests: New file.
63830         * modules/unictype/property-other-lowercase-tests: New file.
63831         * modules/unictype/property-other-math-tests: New file.
63832         * modules/unictype/property-other-uppercase-tests: New file.
63833         * modules/unictype/property-paired-punctuation-tests: New file.
63834         * modules/unictype/property-paragraph-separator-tests: New file.
63835         * modules/unictype/property-pattern-syntax-tests: New file.
63836         * modules/unictype/property-pattern-white-space-tests: New file.
63837         * modules/unictype/property-private-use-tests: New file.
63838         * modules/unictype/property-punctuation-tests: New file.
63839         * modules/unictype/property-quotation-mark-tests: New file.
63840         * modules/unictype/property-radical-tests: New file.
63841         * modules/unictype/property-sentence-terminal-tests: New file.
63842         * modules/unictype/property-soft-dotted-tests: New file.
63843         * modules/unictype/property-space-tests: New file.
63844         * modules/unictype/property-terminal-punctuation-tests: New file.
63845         * modules/unictype/property-test-tests: New file.
63846         * modules/unictype/property-titlecase-tests: New file.
63847         * modules/unictype/property-unassigned-code-value-tests: New file.
63848         * modules/unictype/property-unified-ideograph-tests: New file.
63849         * modules/unictype/property-uppercase-tests: New file.
63850         * modules/unictype/property-variation-selector-tests: New file.
63851         * modules/unictype/property-white-space-tests: New file.
63852         * modules/unictype/property-xid-continue-tests: New file.
63853         * modules/unictype/property-xid-start-tests: New file.
63854         * modules/unictype/property-zero-width-tests: New file.
63855         * modules/unictype/scripts-tests: New file.
63856         * modules/unictype/syntax-c-ident-tests: New file.
63857         * modules/unictype/syntax-c-whitespace-tests: New file.
63858         * modules/unictype/syntax-java-ident-tests: New file.
63859         * modules/unictype/syntax-java-whitespace-tests: New file.
63860         * tests/unictype/test-bidi_byname.c: New file.
63861         * tests/unictype/test-bidi_name.c: New file.
63862         * tests/unictype/test-bidi_of.c: New file.
63863         * tests/unictype/test-bidi_test.c: New file.
63864         * tests/unictype/test-block_list.c: New file.
63865         * tests/unictype/test-block_of.c: New file.
63866         * tests/unictype/test-block_test.c: New file.
63867         * tests/unictype/test-categ_and.c: New file.
63868         * tests/unictype/test-categ_and_not.c: New file.
63869         * tests/unictype/test-categ_byname.c: New file.
63870         * tests/unictype/test-categ_name.c: New file.
63871         * tests/unictype/test-categ_none.c: New file.
63872         * tests/unictype/test-categ_of.c: New file.
63873         * tests/unictype/test-categ_or.c: New file.
63874         * tests/unictype/test-categ_test_withtable.c: New file.
63875         * tests/unictype/test-combining.c: New file.
63876         * tests/unictype/test-decdigit.c: New file.
63877         * tests/unictype/test-digit.c: New file.
63878         * tests/unictype/test-mirror.c: New file.
63879         * tests/unictype/test-numeric.c: New file.
63880         * tests/unictype/test-pr_byname.c: New file.
63881         * tests/unictype/test-pr_test.c: New file.
63882         * tests/unictype/test-predicate-part1.h: New file.
63883         * tests/unictype/test-predicate-part2.h: New file.
63884         * tests/unictype/test-scripts.c: New file.
63885         * tests/unictype/test-sy_c_ident.c: New file.
63886         * tests/unictype/test-sy_java_ident.c: New file.
63887
63888         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63889         for Unicode 5.0.0.
63890         * tests/unictype/test-categ_Cc.c: Likewise.
63891         * tests/unictype/test-categ_Cf.c: Likewise.
63892         * tests/unictype/test-categ_Cn.c: Likewise.
63893         * tests/unictype/test-categ_Co.c: Likewise.
63894         * tests/unictype/test-categ_Cs.c: Likewise.
63895         * tests/unictype/test-categ_L.c: Likewise.
63896         * tests/unictype/test-categ_Ll.c: Likewise.
63897         * tests/unictype/test-categ_Lm.c: Likewise.
63898         * tests/unictype/test-categ_Lo.c: Likewise.
63899         * tests/unictype/test-categ_Lt.c: Likewise.
63900         * tests/unictype/test-categ_Lu.c: Likewise.
63901         * tests/unictype/test-categ_M.c: Likewise.
63902         * tests/unictype/test-categ_Mc.c: Likewise.
63903         * tests/unictype/test-categ_Me.c: Likewise.
63904         * tests/unictype/test-categ_Mn.c: Likewise.
63905         * tests/unictype/test-categ_N.c: Likewise.
63906         * tests/unictype/test-categ_Nd.c: Likewise.
63907         * tests/unictype/test-categ_Nl.c: Likewise.
63908         * tests/unictype/test-categ_No.c: Likewise.
63909         * tests/unictype/test-categ_P.c: Likewise.
63910         * tests/unictype/test-categ_Pc.c: Likewise.
63911         * tests/unictype/test-categ_Pd.c: Likewise.
63912         * tests/unictype/test-categ_Pe.c: Likewise.
63913         * tests/unictype/test-categ_Pf.c: Likewise.
63914         * tests/unictype/test-categ_Pi.c: Likewise.
63915         * tests/unictype/test-categ_Po.c: Likewise.
63916         * tests/unictype/test-categ_Ps.c: Likewise.
63917         * tests/unictype/test-categ_S.c: Likewise.
63918         * tests/unictype/test-categ_Sc.c: Likewise.
63919         * tests/unictype/test-categ_Sk.c: Likewise.
63920         * tests/unictype/test-categ_Sm.c: Likewise.
63921         * tests/unictype/test-categ_So.c: Likewise.
63922         * tests/unictype/test-categ_Z.c: Likewise.
63923         * tests/unictype/test-categ_Zl.c: Likewise.
63924         * tests/unictype/test-categ_Zp.c: Likewise.
63925         * tests/unictype/test-categ_Zs.c: Likewise.
63926         * tests/unictype/test-ctype_alnum.c: Likewise.
63927         * tests/unictype/test-ctype_alpha.c: Likewise.
63928         * tests/unictype/test-ctype_blank.c: Likewise.
63929         * tests/unictype/test-ctype_cntrl.c: Likewise.
63930         * tests/unictype/test-ctype_digit.c: Likewise.
63931         * tests/unictype/test-ctype_graph.c: Likewise.
63932         * tests/unictype/test-ctype_lower.c: Likewise.
63933         * tests/unictype/test-ctype_print.c: Likewise.
63934         * tests/unictype/test-ctype_punct.c: Likewise.
63935         * tests/unictype/test-ctype_space.c: Likewise.
63936         * tests/unictype/test-ctype_upper.c: Likewise.
63937         * tests/unictype/test-ctype_xdigit.c: Likewise.
63938         * tests/unictype/test-decdigit.h: Likewise.
63939         * tests/unictype/test-digit.h: Likewise.
63940         * tests/unictype/test-numeric.h: Likewise.
63941         * tests/unictype/test-pr_alphabetic.c: Likewise.
63942         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63943         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63944         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63945         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63946         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63947         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63948         * tests/unictype/test-pr_bidi_control.c: Likewise.
63949         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63950         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63951         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63952         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63953         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63954         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63955         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63956         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63957         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63958         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63959         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63960         * tests/unictype/test-pr_combining.c: Likewise.
63961         * tests/unictype/test-pr_composite.c: Likewise.
63962         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63963         * tests/unictype/test-pr_dash.c: Likewise.
63964         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63965         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63966         * tests/unictype/test-pr_deprecated.c: Likewise.
63967         * tests/unictype/test-pr_diacritic.c: Likewise.
63968         * tests/unictype/test-pr_extender.c: Likewise.
63969         * tests/unictype/test-pr_format_control.c: Likewise.
63970         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63971         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63972         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63973         * tests/unictype/test-pr_hex_digit.c: Likewise.
63974         * tests/unictype/test-pr_hyphen.c: Likewise.
63975         * tests/unictype/test-pr_id_continue.c: Likewise.
63976         * tests/unictype/test-pr_id_start.c: Likewise.
63977         * tests/unictype/test-pr_ideographic.c: Likewise.
63978         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63979         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63980         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63981         * tests/unictype/test-pr_iso_control.c: Likewise.
63982         * tests/unictype/test-pr_join_control.c: Likewise.
63983         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63984         * tests/unictype/test-pr_line_separator.c: Likewise.
63985         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63986         * tests/unictype/test-pr_lowercase.c: Likewise.
63987         * tests/unictype/test-pr_math.c: Likewise.
63988         * tests/unictype/test-pr_non_break.c: Likewise.
63989         * tests/unictype/test-pr_not_a_character.c: Likewise.
63990         * tests/unictype/test-pr_numeric.c: Likewise.
63991         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63992         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63993         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63994         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63995         * tests/unictype/test-pr_other_id_start.c: Likewise.
63996         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63997         * tests/unictype/test-pr_other_math.c: Likewise.
63998         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63999         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
64000         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
64001         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
64002         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
64003         * tests/unictype/test-pr_private_use.c: Likewise.
64004         * tests/unictype/test-pr_punctuation.c: Likewise.
64005         * tests/unictype/test-pr_quotation_mark.c: Likewise.
64006         * tests/unictype/test-pr_radical.c: Likewise.
64007         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
64008         * tests/unictype/test-pr_soft_dotted.c: Likewise.
64009         * tests/unictype/test-pr_space.c: Likewise.
64010         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
64011         * tests/unictype/test-pr_titlecase.c: Likewise.
64012         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
64013         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
64014         * tests/unictype/test-pr_uppercase.c: Likewise.
64015         * tests/unictype/test-pr_variation_selector.c: Likewise.
64016         * tests/unictype/test-pr_white_space.c: Likewise.
64017         * tests/unictype/test-pr_xid_continue.c: Likewise.
64018         * tests/unictype/test-pr_xid_start.c: Likewise.
64019         * tests/unictype/test-pr_zero_width.c: Likewise.
64020         * tests/unictype/test-sy_c_whitespace.c: Likewise.
64021         * tests/unictype/test-sy_java_whitespace.c: Likewise.
64022
64023 2007-11-12  Bruno Haible  <bruno@clisp.org>
64024
64025         Unicode character classification functions.
64026         * lib/unictype.h: New file.
64027         * modules/unictype/base: New file.
64028         * modules/unictype/category-L: New file.
64029         * modules/unictype/category-Lu: New file.
64030         * modules/unictype/category-Ll: New file.
64031         * modules/unictype/category-Lt: New file.
64032         * modules/unictype/category-Lm: New file.
64033         * modules/unictype/category-Lo: New file.
64034         * modules/unictype/category-M: New file.
64035         * modules/unictype/category-Mn: New file.
64036         * modules/unictype/category-Mc: New file.
64037         * modules/unictype/category-Me: New file.
64038         * modules/unictype/category-N: New file.
64039         * modules/unictype/category-Nd: New file.
64040         * modules/unictype/category-Nl: New file.
64041         * modules/unictype/category-No: New file.
64042         * modules/unictype/category-P: New file.
64043         * modules/unictype/category-Pc: New file.
64044         * modules/unictype/category-Pd: New file.
64045         * modules/unictype/category-Ps: New file.
64046         * modules/unictype/category-Pe: New file.
64047         * modules/unictype/category-Pi: New file.
64048         * modules/unictype/category-Pf: New file.
64049         * modules/unictype/category-Po: New file.
64050         * modules/unictype/category-S: New file.
64051         * modules/unictype/category-Sm: New file.
64052         * modules/unictype/category-Sc: New file.
64053         * modules/unictype/category-Sk: New file.
64054         * modules/unictype/category-So: New file.
64055         * modules/unictype/category-Z: New file.
64056         * modules/unictype/category-Zs: New file.
64057         * modules/unictype/category-Zl: New file.
64058         * modules/unictype/category-Zp: New file.
64059         * modules/unictype/category-C: New file.
64060         * modules/unictype/category-Cc: New file.
64061         * modules/unictype/category-Cf: New file.
64062         * modules/unictype/category-Cs: New file.
64063         * modules/unictype/category-Co: New file.
64064         * modules/unictype/category-Cn: New file.
64065         * modules/unictype/category-or: New file.
64066         * modules/unictype/category-of: New file.
64067         * modules/unictype/category-test: New file.
64068         * modules/unictype/category-test-withtable: New file.
64069         * modules/unictype/category-byname: New file.
64070         * modules/unictype/category-none: New file.
64071         * modules/unictype/category-and: New file.
64072         * modules/unictype/category-and-not: New file.
64073         * modules/unictype/category-name: New file.
64074         * modules/unictype/combining-class: New file.
64075         * modules/unictype/category-all: New file.
64076         * modules/unictype/bidicategory-all: New file.
64077         * modules/unictype/bidicategory-byname: New file.
64078         * modules/unictype/bidicategory-name: New file.
64079         * modules/unictype/bidicategory-of: New file.
64080         * modules/unictype/bidicategory-test: New file.
64081         * modules/unictype/decimal-digit: New file.
64082         * modules/unictype/digit: New file.
64083         * modules/unictype/numeric: New file.
64084         * modules/unictype/mirror: New file.
64085         * modules/unictype/property-white-space: New file.
64086         * modules/unictype/property-alphabetic: New file.
64087         * modules/unictype/property-other-alphabetic: New file.
64088         * modules/unictype/property-not-a-character: New file.
64089         * modules/unictype/property-default-ignorable-code-point: New file.
64090         * modules/unictype/property-other-default-ignorable-code-point: New
64091         file.
64092         * modules/unictype/property-deprecated: New file.
64093         * modules/unictype/property-logical-order-exception: New file.
64094         * modules/unictype/property-variation-selector: New file.
64095         * modules/unictype/property-private-use: New file.
64096         * modules/unictype/property-unassigned-code-value: New file.
64097         * modules/unictype/property-uppercase: New file.
64098         * modules/unictype/property-other-uppercase: New file.
64099         * modules/unictype/property-lowercase: New file.
64100         * modules/unictype/property-other-lowercase: New file.
64101         * modules/unictype/property-titlecase: New file.
64102         * modules/unictype/property-soft-dotted: New file.
64103         * modules/unictype/property-id-start: New file.
64104         * modules/unictype/property-other-id-start: New file.
64105         * modules/unictype/property-id-continue: New file.
64106         * modules/unictype/property-other-id-continue: New file.
64107         * modules/unictype/property-xid-start: New file.
64108         * modules/unictype/property-xid-continue: New file.
64109         * modules/unictype/property-pattern-white-space: New file.
64110         * modules/unictype/property-pattern-syntax: New file.
64111         * modules/unictype/property-join-control: New file.
64112         * modules/unictype/property-grapheme-base: New file.
64113         * modules/unictype/property-grapheme-extend: New file.
64114         * modules/unictype/property-other-grapheme-extend: New file.
64115         * modules/unictype/property-grapheme-link: New file.
64116         * modules/unictype/property-bidi-control: New file.
64117         * modules/unictype/property-bidi-left-to-right: New file.
64118         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
64119         * modules/unictype/property-bidi-arabic-right-to-left: New file.
64120         * modules/unictype/property-bidi-european-digit: New file.
64121         * modules/unictype/property-bidi-eur-num-separator: New file.
64122         * modules/unictype/property-bidi-eur-num-terminator: New file.
64123         * modules/unictype/property-bidi-arabic-digit: New file.
64124         * modules/unictype/property-bidi-common-separator: New file.
64125         * modules/unictype/property-bidi-block-separator: New file.
64126         * modules/unictype/property-bidi-segment-separator: New file.
64127         * modules/unictype/property-bidi-whitespace: New file.
64128         * modules/unictype/property-bidi-non-spacing-mark: New file.
64129         * modules/unictype/property-bidi-boundary-neutral: New file.
64130         * modules/unictype/property-bidi-pdf: New file.
64131         * modules/unictype/property-bidi-embedding-or-override: New file.
64132         * modules/unictype/property-bidi-other-neutral: New file.
64133         * modules/unictype/property-hex-digit: New file.
64134         * modules/unictype/property-ascii-hex-digit: New file.
64135         * modules/unictype/property-ideographic: New file.
64136         * modules/unictype/property-unified-ideograph: New file.
64137         * modules/unictype/property-radical: New file.
64138         * modules/unictype/property-ids-binary-operator: New file.
64139         * modules/unictype/property-ids-trinary-operator: New file.
64140         * modules/unictype/property-zero-width: New file.
64141         * modules/unictype/property-space: New file.
64142         * modules/unictype/property-non-break: New file.
64143         * modules/unictype/property-iso-control: New file.
64144         * modules/unictype/property-format-control: New file.
64145         * modules/unictype/property-dash: New file.
64146         * modules/unictype/property-hyphen: New file.
64147         * modules/unictype/property-punctuation: New file.
64148         * modules/unictype/property-line-separator: New file.
64149         * modules/unictype/property-paragraph-separator: New file.
64150         * modules/unictype/property-quotation-mark: New file.
64151         * modules/unictype/property-sentence-terminal: New file.
64152         * modules/unictype/property-terminal-punctuation: New file.
64153         * modules/unictype/property-currency-symbol: New file.
64154         * modules/unictype/property-math: New file.
64155         * modules/unictype/property-other-math: New file.
64156         * modules/unictype/property-paired-punctuation: New file.
64157         * modules/unictype/property-left-of-pair: New file.
64158         * modules/unictype/property-combining: New file.
64159         * modules/unictype/property-composite: New file.
64160         * modules/unictype/property-decimal-digit: New file.
64161         * modules/unictype/property-numeric: New file.
64162         * modules/unictype/property-diacritic: New file.
64163         * modules/unictype/property-extender: New file.
64164         * modules/unictype/property-ignorable-control: New file.
64165         * modules/unictype/property-test: New file.
64166         * modules/unictype/property-byname: New file.
64167         * modules/unictype/property-all: New file.
64168         * modules/unictype/scripts: New file.
64169         * modules/unictype/scripts-all: New file.
64170         * modules/unictype/block-of: New file.
64171         * modules/unictype/block-test: New file.
64172         * modules/unictype/block-list: New file.
64173         * modules/unictype/block-all: New file.
64174         * modules/unictype/syntax-c-whitespace: New file.
64175         * modules/unictype/syntax-java-whitespace: New file.
64176         * modules/unictype/syntax-c-ident: New file.
64177         * modules/unictype/syntax-java-ident: New file.
64178         * modules/unictype/ctype-alnum: New file.
64179         * modules/unictype/ctype-alpha: New file.
64180         * modules/unictype/ctype-cntrl: New file.
64181         * modules/unictype/ctype-digit: New file.
64182         * modules/unictype/ctype-graph: New file.
64183         * modules/unictype/ctype-lower: New file.
64184         * modules/unictype/ctype-print: New file.
64185         * modules/unictype/ctype-punct: New file.
64186         * modules/unictype/ctype-space: New file.
64187         * modules/unictype/ctype-upper: New file.
64188         * modules/unictype/ctype-xdigit: New file.
64189         * modules/unictype/ctype-blank: New file.
64190         * lib/unictype/bidi_byname.c: New file.
64191         * lib/unictype/bidi_name.c: New file.
64192         * lib/unictype/bidi_of.c: New file.
64193         * lib/unictype/bidi_test.c: New file.
64194         * lib/unictype/bitmap.h: New file.
64195         * lib/unictype/block_test.c: New file.
64196         * lib/unictype/blocks.c: New file.
64197         * lib/unictype/categ_C.c: New file.
64198         * lib/unictype/categ_Cc.c: New file.
64199         * lib/unictype/categ_Cf.c: New file.
64200         * lib/unictype/categ_Cn.c: New file.
64201         * lib/unictype/categ_Co.c: New file.
64202         * lib/unictype/categ_Cs.c: New file.
64203         * lib/unictype/categ_L.c: New file.
64204         * lib/unictype/categ_Ll.c: New file.
64205         * lib/unictype/categ_Lm.c: New file.
64206         * lib/unictype/categ_Lo.c: New file.
64207         * lib/unictype/categ_Lt.c: New file.
64208         * lib/unictype/categ_Lu.c: New file.
64209         * lib/unictype/categ_M.c: New file.
64210         * lib/unictype/categ_Mc.c: New file.
64211         * lib/unictype/categ_Me.c: New file.
64212         * lib/unictype/categ_Mn.c: New file.
64213         * lib/unictype/categ_N.c: New file.
64214         * lib/unictype/categ_Nd.c: New file.
64215         * lib/unictype/categ_Nl.c: New file.
64216         * lib/unictype/categ_No.c: New file.
64217         * lib/unictype/categ_P.c: New file.
64218         * lib/unictype/categ_Pc.c: New file.
64219         * lib/unictype/categ_Pd.c: New file.
64220         * lib/unictype/categ_Pe.c: New file.
64221         * lib/unictype/categ_Pf.c: New file.
64222         * lib/unictype/categ_Pi.c: New file.
64223         * lib/unictype/categ_Po.c: New file.
64224         * lib/unictype/categ_Ps.c: New file.
64225         * lib/unictype/categ_S.c: New file.
64226         * lib/unictype/categ_Sc.c: New file.
64227         * lib/unictype/categ_Sk.c: New file.
64228         * lib/unictype/categ_Sm.c: New file.
64229         * lib/unictype/categ_So.c: New file.
64230         * lib/unictype/categ_Z.c: New file.
64231         * lib/unictype/categ_Zl.c: New file.
64232         * lib/unictype/categ_Zp.c: New file.
64233         * lib/unictype/categ_Zs.c: New file.
64234         * lib/unictype/categ_and.c: New file.
64235         * lib/unictype/categ_and_not.c: New file.
64236         * lib/unictype/categ_byname.c: New file.
64237         * lib/unictype/categ_name.c: New file.
64238         * lib/unictype/categ_none.c: New file.
64239         * lib/unictype/categ_of.c: New file.
64240         * lib/unictype/categ_or.c: New file.
64241         * lib/unictype/categ_test.c: New file.
64242         * lib/unictype/combining.c: New file.
64243         * lib/unictype/ctype_alnum.c: New file.
64244         * lib/unictype/ctype_alpha.c: New file.
64245         * lib/unictype/ctype_blank.c: New file.
64246         * lib/unictype/ctype_cntrl.c: New file.
64247         * lib/unictype/ctype_digit.c: New file.
64248         * lib/unictype/ctype_graph.c: New file.
64249         * lib/unictype/ctype_lower.c: New file.
64250         * lib/unictype/ctype_print.c: New file.
64251         * lib/unictype/ctype_punct.c: New file.
64252         * lib/unictype/ctype_space.c: New file.
64253         * lib/unictype/ctype_upper.c: New file.
64254         * lib/unictype/ctype_xdigit.c: New file.
64255         * lib/unictype/decdigit.c: New file.
64256         * lib/unictype/digit.c: New file.
64257         * lib/unictype/identsyntaxmap.h: New file.
64258         * lib/unictype/mirror.c: New file.
64259         * lib/unictype/numeric.c: New file.
64260         * lib/unictype/pr_alphabetic.c: New file.
64261         * lib/unictype/pr_ascii_hex_digit.c: New file.
64262         * lib/unictype/pr_bidi_arabic_digit.c: New file.
64263         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
64264         * lib/unictype/pr_bidi_block_separator.c: New file.
64265         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
64266         * lib/unictype/pr_bidi_common_separator.c: New file.
64267         * lib/unictype/pr_bidi_control.c: New file.
64268         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
64269         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
64270         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
64271         * lib/unictype/pr_bidi_european_digit.c: New file.
64272         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
64273         * lib/unictype/pr_bidi_left_to_right.c: New file.
64274         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
64275         * lib/unictype/pr_bidi_other_neutral.c: New file.
64276         * lib/unictype/pr_bidi_pdf.c: New file.
64277         * lib/unictype/pr_bidi_segment_separator.c: New file.
64278         * lib/unictype/pr_bidi_whitespace.c: New file.
64279         * lib/unictype/pr_byname.c: New file.
64280         * lib/unictype/pr_byname.gperf: New file.
64281         * lib/unictype/pr_combining.c: New file.
64282         * lib/unictype/pr_composite.c: New file.
64283         * lib/unictype/pr_currency_symbol.c: New file.
64284         * lib/unictype/pr_dash.c: New file.
64285         * lib/unictype/pr_decimal_digit.c: New file.
64286         * lib/unictype/pr_default_ignorable_code_point.c: New file.
64287         * lib/unictype/pr_deprecated.c: New file.
64288         * lib/unictype/pr_diacritic.c: New file.
64289         * lib/unictype/pr_extender.c: New file.
64290         * lib/unictype/pr_format_control.c: New file.
64291         * lib/unictype/pr_grapheme_base.c: New file.
64292         * lib/unictype/pr_grapheme_extend.c: New file.
64293         * lib/unictype/pr_grapheme_link.c: New file.
64294         * lib/unictype/pr_hex_digit.c: New file.
64295         * lib/unictype/pr_hyphen.c: New file.
64296         * lib/unictype/pr_id_continue.c: New file.
64297         * lib/unictype/pr_id_start.c: New file.
64298         * lib/unictype/pr_ideographic.c: New file.
64299         * lib/unictype/pr_ids_binary_operator.c: New file.
64300         * lib/unictype/pr_ids_trinary_operator.c: New file.
64301         * lib/unictype/pr_ignorable_control.c: New file.
64302         * lib/unictype/pr_iso_control.c: New file.
64303         * lib/unictype/pr_join_control.c: New file.
64304         * lib/unictype/pr_left_of_pair.c: New file.
64305         * lib/unictype/pr_line_separator.c: New file.
64306         * lib/unictype/pr_logical_order_exception.c: New file.
64307         * lib/unictype/pr_lowercase.c: New file.
64308         * lib/unictype/pr_math.c: New file.
64309         * lib/unictype/pr_non_break.c: New file.
64310         * lib/unictype/pr_not_a_character.c: New file.
64311         * lib/unictype/pr_numeric.c: New file.
64312         * lib/unictype/pr_other_alphabetic.c: New file.
64313         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
64314         * lib/unictype/pr_other_grapheme_extend.c: New file.
64315         * lib/unictype/pr_other_id_continue.c: New file.
64316         * lib/unictype/pr_other_id_start.c: New file.
64317         * lib/unictype/pr_other_lowercase.c: New file.
64318         * lib/unictype/pr_other_math.c: New file.
64319         * lib/unictype/pr_other_uppercase.c: New file.
64320         * lib/unictype/pr_paired_punctuation.c: New file.
64321         * lib/unictype/pr_paragraph_separator.c: New file.
64322         * lib/unictype/pr_pattern_syntax.c: New file.
64323         * lib/unictype/pr_pattern_white_space.c: New file.
64324         * lib/unictype/pr_private_use.c: New file.
64325         * lib/unictype/pr_punctuation.c: New file.
64326         * lib/unictype/pr_quotation_mark.c: New file.
64327         * lib/unictype/pr_radical.c: New file.
64328         * lib/unictype/pr_sentence_terminal.c: New file.
64329         * lib/unictype/pr_soft_dotted.c: New file.
64330         * lib/unictype/pr_space.c: New file.
64331         * lib/unictype/pr_terminal_punctuation.c: New file.
64332         * lib/unictype/pr_test.c: New file.
64333         * lib/unictype/pr_titlecase.c: New file.
64334         * lib/unictype/pr_unassigned_code_value.c: New file.
64335         * lib/unictype/pr_unified_ideograph.c: New file.
64336         * lib/unictype/pr_uppercase.c: New file.
64337         * lib/unictype/pr_variation_selector.c: New file.
64338         * lib/unictype/pr_white_space.c: New file.
64339         * lib/unictype/pr_xid_continue.c: New file.
64340         * lib/unictype/pr_xid_start.c: New file.
64341         * lib/unictype/pr_zero_width.c: New file.
64342         * lib/unictype/scripts.c: New file.
64343         * lib/unictype/sy_c_ident.c: New file.
64344         * lib/unictype/sy_c_whitespace.c: New file.
64345         * lib/unictype/sy_java_ident.c: New file.
64346         * lib/unictype/sy_java_whitespace.c: New file.
64347
64348         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
64349         Unicode 5.0.0.
64350         * lib/unictype/blocks.h: Likewise.
64351         * lib/unictype/categ_C.h: Likewise.
64352         * lib/unictype/categ_Cc.h: Likewise.
64353         * lib/unictype/categ_Cf.h: Likewise.
64354         * lib/unictype/categ_Cn.h: Likewise.
64355         * lib/unictype/categ_Co.h: Likewise.
64356         * lib/unictype/categ_Cs.h: Likewise.
64357         * lib/unictype/categ_L.h: Likewise.
64358         * lib/unictype/categ_Ll.h: Likewise.
64359         * lib/unictype/categ_Lm.h: Likewise.
64360         * lib/unictype/categ_Lo.h: Likewise.
64361         * lib/unictype/categ_Lt.h: Likewise.
64362         * lib/unictype/categ_Lu.h: Likewise.
64363         * lib/unictype/categ_M.h: Likewise.
64364         * lib/unictype/categ_Mc.h: Likewise.
64365         * lib/unictype/categ_Me.h: Likewise.
64366         * lib/unictype/categ_Mn.h: Likewise.
64367         * lib/unictype/categ_N.h: Likewise.
64368         * lib/unictype/categ_Nd.h: Likewise.
64369         * lib/unictype/categ_Nl.h: Likewise.
64370         * lib/unictype/categ_No.h: Likewise.
64371         * lib/unictype/categ_P.h: Likewise.
64372         * lib/unictype/categ_Pc.h: Likewise.
64373         * lib/unictype/categ_Pd.h: Likewise.
64374         * lib/unictype/categ_Pe.h: Likewise.
64375         * lib/unictype/categ_Pf.h: Likewise.
64376         * lib/unictype/categ_Pi.h: Likewise.
64377         * lib/unictype/categ_Po.h: Likewise.
64378         * lib/unictype/categ_Ps.h: Likewise.
64379         * lib/unictype/categ_S.h: Likewise.
64380         * lib/unictype/categ_Sc.h: Likewise.
64381         * lib/unictype/categ_Sk.h: Likewise.
64382         * lib/unictype/categ_Sm.h: Likewise.
64383         * lib/unictype/categ_So.h: Likewise.
64384         * lib/unictype/categ_Z.h: Likewise.
64385         * lib/unictype/categ_Zl.h: Likewise.
64386         * lib/unictype/categ_Zp.h: Likewise.
64387         * lib/unictype/categ_Zs.h: Likewise.
64388         * lib/unictype/categ_of.h: Likewise.
64389         * lib/unictype/combining.h: Likewise.
64390         * lib/unictype/ctype_alnum.h: Likewise.
64391         * lib/unictype/ctype_alpha.h: Likewise.
64392         * lib/unictype/ctype_blank.h: Likewise.
64393         * lib/unictype/ctype_cntrl.h: Likewise.
64394         * lib/unictype/ctype_digit.h: Likewise.
64395         * lib/unictype/ctype_graph.h: Likewise.
64396         * lib/unictype/ctype_lower.h: Likewise.
64397         * lib/unictype/ctype_print.h: Likewise.
64398         * lib/unictype/ctype_punct.h: Likewise.
64399         * lib/unictype/ctype_space.h: Likewise.
64400         * lib/unictype/ctype_upper.h: Likewise.
64401         * lib/unictype/ctype_xdigit.h: Likewise.
64402         * lib/unictype/decdigit.h: Likewise.
64403         * lib/unictype/digit.h: Likewise.
64404         * lib/unictype/mirror.h: Likewise.
64405         * lib/unictype/numeric.h: Likewise.
64406         * lib/unictype/pr_alphabetic.h: Likewise.
64407         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
64408         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
64409         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
64410         * lib/unictype/pr_bidi_block_separator.h: Likewise.
64411         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
64412         * lib/unictype/pr_bidi_common_separator.h: Likewise.
64413         * lib/unictype/pr_bidi_control.h: Likewise.
64414         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
64415         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
64416         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
64417         * lib/unictype/pr_bidi_european_digit.h: Likewise.
64418         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
64419         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
64420         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
64421         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
64422         * lib/unictype/pr_bidi_pdf.h: Likewise.
64423         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
64424         * lib/unictype/pr_bidi_whitespace.h: Likewise.
64425         * lib/unictype/pr_combining.h: Likewise.
64426         * lib/unictype/pr_composite.h: Likewise.
64427         * lib/unictype/pr_currency_symbol.h: Likewise.
64428         * lib/unictype/pr_dash.h: Likewise.
64429         * lib/unictype/pr_decimal_digit.h: Likewise.
64430         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
64431         * lib/unictype/pr_deprecated.h: Likewise.
64432         * lib/unictype/pr_diacritic.h: Likewise.
64433         * lib/unictype/pr_extender.h: Likewise.
64434         * lib/unictype/pr_format_control.h: Likewise.
64435         * lib/unictype/pr_grapheme_base.h: Likewise.
64436         * lib/unictype/pr_grapheme_extend.h: Likewise.
64437         * lib/unictype/pr_grapheme_link.h: Likewise.
64438         * lib/unictype/pr_hex_digit.h: Likewise.
64439         * lib/unictype/pr_hyphen.h: Likewise.
64440         * lib/unictype/pr_id_continue.h: Likewise.
64441         * lib/unictype/pr_id_start.h: Likewise.
64442         * lib/unictype/pr_ideographic.h: Likewise.
64443         * lib/unictype/pr_ids_binary_operator.h: Likewise.
64444         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
64445         * lib/unictype/pr_ignorable_control.h: Likewise.
64446         * lib/unictype/pr_iso_control.h: Likewise.
64447         * lib/unictype/pr_join_control.h: Likewise.
64448         * lib/unictype/pr_left_of_pair.h: Likewise.
64449         * lib/unictype/pr_line_separator.h: Likewise.
64450         * lib/unictype/pr_logical_order_exception.h: Likewise.
64451         * lib/unictype/pr_lowercase.h: Likewise.
64452         * lib/unictype/pr_math.h: Likewise.
64453         * lib/unictype/pr_non_break.h: Likewise.
64454         * lib/unictype/pr_not_a_character.h: Likewise.
64455         * lib/unictype/pr_numeric.h: Likewise.
64456         * lib/unictype/pr_other_alphabetic.h: Likewise.
64457         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64458         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64459         * lib/unictype/pr_other_id_continue.h: Likewise.
64460         * lib/unictype/pr_other_id_start.h: Likewise.
64461         * lib/unictype/pr_other_lowercase.h: Likewise.
64462         * lib/unictype/pr_other_math.h: Likewise.
64463         * lib/unictype/pr_other_uppercase.h: Likewise.
64464         * lib/unictype/pr_paired_punctuation.h: Likewise.
64465         * lib/unictype/pr_paragraph_separator.h: Likewise.
64466         * lib/unictype/pr_pattern_syntax.h: Likewise.
64467         * lib/unictype/pr_pattern_white_space.h: Likewise.
64468         * lib/unictype/pr_private_use.h: Likewise.
64469         * lib/unictype/pr_punctuation.h: Likewise.
64470         * lib/unictype/pr_quotation_mark.h: Likewise.
64471         * lib/unictype/pr_radical.h: Likewise.
64472         * lib/unictype/pr_sentence_terminal.h: Likewise.
64473         * lib/unictype/pr_soft_dotted.h: Likewise.
64474         * lib/unictype/pr_space.h: Likewise.
64475         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64476         * lib/unictype/pr_titlecase.h: Likewise.
64477         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64478         * lib/unictype/pr_unified_ideograph.h: Likewise.
64479         * lib/unictype/pr_uppercase.h: Likewise.
64480         * lib/unictype/pr_variation_selector.h: Likewise.
64481         * lib/unictype/pr_white_space.h: Likewise.
64482         * lib/unictype/pr_xid_continue.h: Likewise.
64483         * lib/unictype/pr_xid_start.h: Likewise.
64484         * lib/unictype/pr_zero_width.h: Likewise.
64485         * lib/unictype/scripts.h: Likewise.
64486         * lib/unictype/scripts_byname.gperf: Likewise.
64487         * lib/unictype/sy_c_ident.h: Likewise.
64488         * lib/unictype/sy_c_whitespace.h: Likewise.
64489         * lib/unictype/sy_java_ident.h: Likewise.
64490         * lib/unictype/sy_java_whitespace.h: Likewise.
64491
64492         * lib/unictype/Makefile: New file.
64493         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64494         glibc.
64495         * lib/unictype/3level.h: New file, copied from glibc.
64496         * lib/unictype/3levelbit.h: New file.
64497
64498 2007-11-11  Bruno Haible  <bruno@clisp.org>
64499
64500         * modules/gperf: New file.
64501         * modules/iconv_open (Depends-on): Add it.
64502         (Makefile.am): Remove the GPERF definition.
64503
64504 2007-11-11  Bruno Haible  <bruno@clisp.org>
64505
64506         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64507         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64508
64509 2007-11-11  Bruno Haible  <bruno@clisp.org>
64510
64511         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64512         (usage): Remove function.
64513
64514 2007-11-11  Bruno Haible  <bruno@clisp.org>
64515
64516         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64517         gl_FUNC_CEILF_LIBS.
64518         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64519         gl_FUNC_CEIL_LIBS.
64520         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64521         gl_FUNC_CEILL_LIBS.
64522         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64523         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64524         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64525
64526 2007-11-11  Bruno Haible  <bruno@clisp.org>
64527
64528         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64529         roundf were declared but do not exist on functions.
64530         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64531         roundl were declared but do not exist on functions.
64532         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64533         HAVE_FLOORL_AND_CEILL, respectively.
64534         Needed for Sun C on Solaris 10.
64535
64536 2007-11-11  Bruno Haible  <bruno@clisp.org>
64537
64538         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64539         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64540         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64541         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64542         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64543         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64544         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64545         HAVE_DECL_ROUNDF.
64546         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64547         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64548         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64549         of HAVE_DECL_ROUND*.
64550         * modules/math (Makefile.am): Update.
64551
64552 2007-11-10  Bruno Haible  <bruno@clisp.org>
64553
64554         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64555         ptrdiff_t as m4/intl.m4.
64556
64557 2007-11-10  Jim Meyering  <meyering@redhat.com>
64558
64559         Avoid link failure for the argmatch test.
64560         * tests/test-argmatch.c (usage): Define function to avoid a link
64561         failure: argmatch_die requires a usage function.
64562
64563 2007-11-09  Bruno Haible  <bruno@clisp.org>
64564
64565         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64566         * doc/functions/vsnprintf.texi: Likewise.
64567         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64568         with a size argument < 2.
64569
64570 2007-11-09  Bruno Haible  <bruno@clisp.org>
64571
64572         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64573         buffer. Fixes an inefficiency introduced on 2007-11-03.
64574
64575 2007-11-09  Bruno Haible  <bruno@clisp.org>
64576
64577         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64578         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64579
64580 2007-11-08  Jim Meyering  <meyering@redhat.com>
64581
64582         Change cache variable name prefix "jm_" to "gl_" everywhere.
64583         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64584         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64585         * m4/uptime.m4: s/gl_/jm_/
64586
64587 2007-11-07  Bruno Haible  <bruno@clisp.org>
64588
64589         Update to GNU gettext 0.17.
64590         * m4/intl.m4: Update to GNU gettext 0.17.
64591         * m4/po.m4: Likewise.
64592         * modules/gettext (Files): Remove m4/ulonglong.m4.
64593         (configure.ac): Require gettext infrastructure from version 0.17.
64594
64595 2007-11-06  Bruno Haible  <bruno@clisp.org>
64596
64597         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64598         symbolic values are not defined in a public header.
64599         * lib/freadable.c (freadable) [QNX]: Likewise.
64600         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64601         * lib/freading.c (freading) [QNX]: Likewise.
64602         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64603         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64604         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64605         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64606         Reported by Alain Magloire.
64607
64608         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64609
64610 2007-11-05  Bruno Haible  <bruno@clisp.org>
64611
64612         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64613         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64614         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64615         Reported by Eric Blake.
64616
64617 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64618             Bruno Haible  <bruno@clisp.org>
64619
64620         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64621         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64622         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64623         (malloc): Undefine also before including <stdlib.h>.
64624         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64625         Needed on OSF/1 4.0.
64626
64627 2007-11-05  Jim Meyering  <meyering@redhat.com>
64628
64629         git-version-gen: sync from coreutils.
64630         * build-aux/git-version-gen: Add comments.
64631         Change the first '-' to '.' in the snapshot version string,
64632         e.g., 6.9-377-08144 -> 6.9.377-08144
64633         Remove first parameter.
64634         Don't declare a version "-dirty" merely because a time
64635         stamp has changed.
64636
64637 2007-11-04  Bruno Haible  <bruno@clisp.org>
64638
64639         * lib/lock.h: Protect all macro definitions containing an 'if'
64640         statement through a "do { ... } while (0)".
64641         * lib/tls.h: Likewise.
64642
64643 2007-11-04  Bruno Haible  <bruno@clisp.org>
64644
64645         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64646
64647 2007-11-04  Bruno Haible  <bruno@clisp.org>
64648
64649         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64650         * modules/fprintf-posix (Depends-on): Add nocrash.
64651         * modules/snprintf-posix (Depends-on): Likewise.
64652         * modules/sprintf-posix (Depends-on): Likewise.
64653         * modules/vasnprintf-posix (Depends-on): Likewise.
64654         * modules/vasprintf-posix (Depends-on): Likewise.
64655         * modules/vfprintf-posix (Depends-on): Likewise.
64656         * modules/vsnprintf-posix (Depends-on): Likewise.
64657         * modules/vsprintf-posix (Depends-on): Likewise.
64658         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64659         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64660         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64661         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64662         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64663         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64664         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64665
64666 2007-11-04  Bruno Haible  <bruno@clisp.org>
64667
64668         * modules/nocrash: New file.
64669         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64670         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64671
64672 2007-11-04  Bruno Haible  <bruno@clisp.org>
64673
64674         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64675         precision handling.
64676         * tests/test-vasprintf-posix.c (test_function): Likewise.
64677         * tests/test-snprintf-posix.h (test_function): Likewise.
64678         * tests/test-sprintf-posix.h (test_function): Likewise.
64679
64680         Fix *printf behaviour for large precisions on mingw and BeOS.
64681         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64682         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64683         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64684         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64685         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64686         gl_PRINTF_PRECISION and test its result. Invoke
64687         gl_PREREQ_VASNPRINTF_PRECISION.
64688         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64689         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64690         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64691         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64692         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64693         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64694         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64695         * doc/functions/fprintf.texi: Update.
64696         * doc/functions/printf.texi: Update.
64697         * doc/functions/snprintf.texi: Update.
64698         * doc/functions/sprintf.texi: Update.
64699         * doc/functions/vfprintf.texi: Update.
64700         * doc/functions/vprintf.texi: Update.
64701         * doc/functions/vsnprintf.texi: Update.
64702         * doc/functions/vsprintf.texi: Update.
64703
64704 2007-11-04  Bruno Haible  <bruno@clisp.org>
64705
64706         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64707
64708 2007-11-04  Bruno Haible  <bruno@clisp.org>
64709
64710         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64711         Reported by Sylvain Beucler <beuc@gnu.org>.
64712
64713 2007-11-03  Bruno Haible  <bruno@clisp.org>
64714
64715         * tests/test-fprintf-posix2.sh: New file.
64716         * tests/test-fprintf-posix2.c: New file.
64717         * modules/fprintf-posix-tests (Files): Add them.
64718         (TESTS): Add test-fprintf-posix2.sh.
64719         (configure.ac): Check for getrlimit and setrlimit.
64720         (check_PROGRAMS): Add test-fprintf-posix2.
64721
64722         * tests/test-printf-posix2.sh: New file.
64723         * tests/test-printf-posix2.c: New file.
64724         * modules/printf-posix-tests (Files): Add them.
64725         (TESTS): Add test-printf-posix2.sh.
64726         (configure.ac): Check for getrlimit and setrlimit.
64727         (check_PROGRAMS): Add test-printf-posix2.
64728
64729         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64730         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64731         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64732         (decode_double): New function, copied from decode_long_double.
64733         (scale10_round_decimal_decoded): New function, extracted from
64734         scale10_round_decimal_long_double.
64735         (scale10_round_decimal_long_double): Use it.
64736         (scale10_round_decimal_double): New function.
64737         (floorlog10): New function.
64738         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64739         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64740         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64741         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64742         gl_PRINTF_ENOMEM and test its result. Invoke
64743         gl_PREREQ_VASNPRINTF_ENOMEM.
64744         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64745         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64746         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64747         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64748         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64749         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64750         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64751         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64752         * modules/snprintf-posix (Depends-on): Likewise.
64753         * modules/sprintf-posix (Depends-on): Likewise.
64754         * modules/vasnprintf-posix (Depends-on): Likewise.
64755         * modules/vasprintf-posix (Depends-on): Likewise.
64756         * modules/vfprintf-posix (Depends-on): Likewise.
64757         * modules/vsnprintf-posix (Depends-on): Likewise.
64758         * modules/vsprintf-posix (Depends-on): Likewise.
64759         * doc/functions/fprintf.texi: Update.
64760         * doc/functions/printf.texi: Update.
64761         * doc/functions/snprintf.texi: Update.
64762         * doc/functions/sprintf.texi: Update.
64763         * doc/functions/vfprintf.texi: Update.
64764         * doc/functions/vprintf.texi: Update.
64765         * doc/functions/vsnprintf.texi: Update.
64766         * doc/functions/vsprintf.texi: Update.
64767
64768 2007-11-03  Bruno Haible  <bruno@clisp.org>
64769
64770         * modules/frexp-nolibm-tests: New file.
64771
64772         * modules/frexp-nolibm: New file.
64773         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64774
64775 2007-11-03  Bruno Haible  <bruno@clisp.org>
64776
64777         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64778         value is C99 compliant.
64779         Needed for OSF/1 5.1.
64780
64781 2007-11-03  Bruno Haible  <bruno@clisp.org>
64782
64783         Fix out-of-memory handling of vasnprintf.
64784         * lib/printf-parse.c: Include <errno.h>.
64785         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64786         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64787         is already set.
64788
64789 2007-11-02  Eric Blake  <ebb9@byu.net>
64790
64791         Fix tests on cygwin.
64792         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64793
64794 2007-11-01  Bruno Haible  <bruno@clisp.org>
64795
64796         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64797         warning.
64798         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64799         needed for POSIX compatibility.
64800
64801 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64802
64803         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64804         for compatibility with GNU.
64805
64806 2007-11-01  Bruno Haible  <bruno@clisp.org>
64807
64808         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64809         (putenv): Renamed from rpl_putenv. Change argument type from
64810         'const char *' to 'char *'.
64811         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64812         of defining putenv in config.h, just set REPLACE_PUTENV.
64813         * modules/putenv (Depends-on): Add stdlib.
64814         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64815         (Include): Use <stdlib.h>.
64816         * lib/stdlib.in.h (putenv): New declaration.
64817         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64818         REPLACE_PUTENV.
64819         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64820         REPLACE_PUTENV.
64821         Needed for MacOS X 10.5.0.
64822         Reported by Peter O'Gorman <peter@pogma.com>.
64823
64824 2007-11-01  Jim Meyering  <meyering@redhat.com>
64825
64826         Treat an empty date string exactly like "0".
64827         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64828         if the remaining date string (to be parsed) is empty, use "0".
64829         Reported by Mischa Molhoek and discussed in this thread:
64830         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64831
64832 2007-10-31  Bruno Haible  <bruno@clisp.org>
64833
64834         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64835         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64836         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64837         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64838         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64839         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64840
64841 2007-10-31  Bruno Haible  <bruno@clisp.org>
64842
64843         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64844         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64845         (AC_TYPE_LONG_LONG_INT): Use it.
64846         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64847         it as well.
64848         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64849         to m4/longlong.m4.
64850         * modules/stdint (Files): Remove m4/ulonglong.m4.
64851         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64852         m4/ulonglong.m4.
64853         * modules/strtoumax (Files): Likewise.
64854
64855 2007-10-30  Bruno Haible  <bruno@clisp.org>
64856
64857         * modules/xvasprintf-posix: New file.
64858         Suggested by Eric Blake.
64859
64860 2007-10-30  Bruno Haible  <bruno@clisp.org>
64861
64862         * modules/xprintf-posix-tests: New file.
64863         * tests/test-xprintf-posix.sh: New file.
64864         * tests/test-xprintf-posix.c: New file.
64865         * tests/test-xfprintf-posix.c: New file.
64866
64867         * modules/xprintf-posix: New file.
64868
64869 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64870
64871         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64872         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64873         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64874
64875 2007-10-29  Bruno Haible  <bruno@clisp.org>
64876
64877         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64878         contain the special marker '_cv_'.
64879         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64880         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64881         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64882         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64883         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64884         Reported by Ralf Wildenhues.
64885
64886 2007-10-29  Bruno Haible  <bruno@clisp.org>
64887
64888         * gnulib-tool (func_import): When --lgpl is not specified, set
64889         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64890         GPLv3.
64891         Reported by Simon Josefsson.
64892
64893 2007-10-28  Bruno Haible  <bruno@clisp.org>
64894
64895         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64896         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64897         HAVE_DECL_ISFINITE.
64898         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64899         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64900         HAVE_DECL_ISFINITE.
64901
64902 2007-10-28  Bruno Haible  <bruno@clisp.org>
64903
64904         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64905         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64906
64907 2007-10-28  Bruno Haible  <bruno@clisp.org>
64908
64909         Fix link errors with Sun C 5.0 on Solaris 10.
64910         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64911         function is declared but not present in the compiler's libm.
64912         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64913         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64914         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64915         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64916         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64917         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64918         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64919         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64920         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64921         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64922         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64923         HAVE_DECL_FLOORL.
64924
64925 2007-10-28  Bruno Haible  <bruno@clisp.org>
64926
64927         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64928         gl_FUNC_FLOORL. Cache the result.
64929         (gl_FUNC_FLOORL): Use it.
64930         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64931         gl_FUNC_CEILL. Cache the result.
64932         (gl_FUNC_CEILL): Use it.
64933
64934         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64935         gl_FUNC_FLOOR. Cache the result.
64936         (gl_FUNC_FLOOR): Use it.
64937         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64938         gl_FUNC_CEIL. Cache the result.
64939         (gl_FUNC_CEIL): Use it.
64940
64941         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64942         gl_FUNC_FLOORF. Cache the result.
64943         (gl_FUNC_FLOORF): Use it.
64944         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64945         gl_FUNC_CEILF. Cache the result.
64946         (gl_FUNC_CEILF): Use it.
64947
64948 2007-10-28  Bruno Haible  <bruno@clisp.org>
64949
64950         * gnulib-tool: Allow specifying the LGPL version number through
64951         --lgpl=2 or --lgpl=3.
64952         (func_usage): Document --lgpl with argument.
64953         Handle --lgpl=... arguments.
64954         (func_import): Recognize also gl_LGPL calls with an argument. When
64955         --lgpl=2 is used and the module's license is just LGPL, report an
64956         error. Set sed_transform_lib_file according to the lgpl variable. In
64957         the generated files, use --lgpl or gl_LGPL invocations with argument,
64958         if necessary.
64959         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64960         an LGPv2+ license.
64961         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64962         gl_LGPL macro.
64963
64964 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64965             Bruno Haible  <bruno@clisp.org>
64966
64967         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64968         (u16_uctomb_aux): Likewise.
64969         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64970         !HAVE_INLINE.
64971         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64972
64973 2007-10-28  Bruno Haible  <bruno@clisp.org>
64974
64975         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64976         Invoke AM_GETTEXT_OPTION if it exists.
64977         * modules/vasprintf: Likewise.
64978         * modules/verror: Likewise.
64979         * modules/xprintf: Likewise.
64980         * modules/xvasprintf: Likewise.
64981
64982 2007-10-27  Ben Pfaff  <blp@gnu.org>
64983
64984         * lib/math.in.h: Define isfinite macro and prototypes for
64985         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64986         implementations.
64987         * m4/math_h.m4: New substitutions for isfinite module.
64988         * lib/isfinite.c: New file.
64989         * m4/isfinite.m4: New file.
64990         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64991         * modules/isfinite: New file.
64992         * modules/isfinite-tests: New file.
64993         * tests/tests-isfinite.c: New file.
64994         * doc/functions/isfinite.texi: Mention isfinite module.
64995         * MODULES.html.sh: Mention new module.
64996
64997 2007-10-27  Ben Pfaff  <blp@gnu.org>
64998
64999         Ralf Wildenhues reported that Tru64 4.0D declares the round
65000         functions but does not have definitions.
65001         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
65002         cannot be found in any library, set the output variable to
65003         "missing" instead of "".
65004         * m4/round.m4: Also use our substitute if we cannot find round in
65005         any library, even if it is declared.
65006         * m4/roundf.m4: Likewise for roundf.
65007         * m4/roundl.m4: Likewise for roundl.
65008         * lib/math.in.h: Undefine roundf, round, roundl before defining
65009         their replacements, to allow for hypothetical systems where these
65010         may be defined as macros but not available in libraries.
65011
65012 2007-10-27  Bruno Haible  <bruno@clisp.org>
65013
65014         * doc/gnulib.texi: Invoke @firstparagraphindent.
65015         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
65016         changes in gnulib.
65017         (Source changes): New section.
65018
65019 2007-10-26  Bruno Haible  <bruno@clisp.org>
65020
65021         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
65022         borrowed from autoconf.
65023
65024 2007-10-26  Bruno Haible  <bruno@clisp.org>
65025
65026         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
65027         strerror returned the empty string. Needed on HP-UX 11.00.
65028
65029 2007-10-24  Micah Cowan  <micah@cowan.name>
65030
65031         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
65032         * build-aux/bootstrap: Remove support for now-unnecessary option,
65033         --cvs-user, and envvars CVS_USER, CVS_RSH.
65034
65035 2007-10-24  Jim Meyering  <meyering@redhat.com>
65036
65037         Avoid diagnostics from sha1sum when there is no cached checksum.
65038         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
65039         if the po.s1 file hasn't been created yet.
65040
65041         * build-aux/bootstrap: Sync from coreutils:
65042         2007-10-24  Jim Meyering  <meyering@redhat.com>
65043         Get gnulib from the git repository, not from an obsolete cvs one.
65044         * build-aux/bootstrap: Suggestion from Micah Cowan.
65045         2007-10-04  Jim Meyering  <jim@meyering.net>
65046         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
65047         (update_po_files): Work also when there are no .po files in po/.
65048
65049 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65050
65051         * README: Append ".git" to git and cg examples.
65052         Problem reported by Benoit Sigoure.
65053
65054 2007-10-23  Micah Cowan  <micah@cowan.name>
65055
65056         * users.txt: Add wget.
65057
65058 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65059
65060         Fix linking of some unistdio tests on FreeBSD.
65061         * modules/unistdio/u16-vsnprintf-tests
65062         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
65063         * modules/unistdio/u16-vsprintf-tests
65064         (test_u16_vsnprintf1_LDADD): Likewise.
65065         * modules/unistdio/u32-vsnprintf-tests
65066         (test_u32_vsnprintf1_LDADD): Likewise.
65067         * modules/unistdio/u32-vsprintf-tests
65068         (test_u32_vsprintf1_LDADD): Likewise.
65069         * modules/unistdio/u8-vsnprintf-tests
65070         (test_u8_vsnprintf1_LDADD): Likewise.
65071         * modules/unistdio/u8-vsprintf-tests
65072         (test_u8_vsprintf1_LDADD): Likewise.
65073         * modules/unistdio/ulc-vsnprintf-tests
65074         (test_ulc_vsnprintf1_LDADD): Likewise.
65075         * modules/unistdio/ulc-vsprintf-tests
65076         (test_ulc_vsprintf1_LDADD): Likewise.
65077
65078         Fix linking of some uniconv tests on FreeBSD.
65079         * modules/uniconv/u16-conv-from-enc-tests
65080         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
65081         * modules/uniconv/u16-conv-to-enc-tests
65082         (test_u16_conv_to_enc_LDADD): Likewise.
65083         * modules/uniconv/u16-strconv-from-enc-tests
65084         (test_u16_strconv_from_enc_LDADD): Likewise.
65085         * modules/uniconv/u16-strconv-to-enc-tests
65086         (test_u16_strconv_to_enc_LDADD): Likewise.
65087         * modules/uniconv/u32-conv-from-enc-tests
65088         (test_u32_conv_from_enc_LDADD): Likewise.
65089         * modules/uniconv/u32-conv-to-enc-tests
65090         (test_u32_conv_to_enc_LDADD): Likewise.
65091         * modules/uniconv/u32-strconv-from-enc-tests
65092         (test_u32_strconv_from_enc_LDADD): Likewise.
65093         * modules/uniconv/u32-strconv-to-enc-tests
65094         (test_u32_strconv_to_enc_LDADD): Likewise.
65095         * modules/uniconv/u8-conv-from-enc-tests
65096         (test_u8_conv_from_enc_LDADD): Likewise.
65097         * modules/uniconv/u8-conv-to-enc-tests
65098         (test_u8_conv_to_enc_LDADD): Likewise.
65099         * modules/uniconv/u8-strconv-from-enc-tests
65100         (test_u8_strconv_from_enc_LDADD): Likewise.
65101         * modules/uniconv/u8-strconv-to-enc-tests
65102         (test_u8_strconv_to_enc_LDADD): Likewise.
65103
65104 2007-10-22  Bruno Haible  <bruno@clisp.org>
65105
65106         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
65107         size.
65108
65109 2007-10-22  Eric Blake  <ebb9@byu.net>
65110
65111         Tweak x*printf documentation.
65112         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
65113         variable name and comments.
65114         Suggested by Bruno Haible.
65115
65116 2007-10-22  Bruno Haible  <bruno@clisp.org>
65117
65118         * lib/acl.c (copy_acl): Fix file name in comment.
65119
65120 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65121
65122         Fix Tru64 problem with stdbool.h.
65123         * lib/stdbool.in.h (false, true):
65124         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
65125         Don't declare as an enum in this situation; it runs afoul of Tru64.
65126         Problem reported by Steven M. Schweda in
65127         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
65128
65129 2007-10-22  Eric Blake  <ebb9@byu.net>
65130
65131         Also wrap vf?printf.
65132         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
65133         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
65134         (xvprintf, xvfprintf): New functions.
65135
65136 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65137
65138         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
65139         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
65140
65141         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
65142         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
65143
65144 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65145
65146         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
65147         by Bruno Haible.
65148
65149 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65150
65151         * lib/getloadavg.c
65152         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
65153         Undef `sys' after including sys/table.h, for Tru64 4.0D.
65154
65155         * tests/test-i-ring.c: Work for C89.
65156
65157 2007-10-22  Bruno Haible  <bruno@clisp.org>
65158
65159         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
65160         -1u, in preprocessor expression, so that we don't test for the bug
65161         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
65162         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
65163
65164 2007-10-22  Eric Blake  <ebb9@byu.net>
65165
65166         * tests/test-yesno.sh: Silence stderr during test.
65167
65168 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65169
65170         * modules/crypto/gc-camellia: New file.
65171
65172         * m4/gc-camellia.m4: New file.
65173
65174         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
65175
65176         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
65177
65178 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65179
65180         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
65181         --help to stdout.  Reported by sms@antinode.org (Steven
65182         M. Schweda).
65183
65184 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65185
65186         * users.txt: Fix link to libksba.
65187
65188 2007-10-21  Ben Pfaff  <blp@gnu.org>
65189
65190         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
65191         round.c roundf implementation that depends on floorf and ceilf to
65192         be tested unconditionally.
65193
65194 2007-10-21  Ben Pfaff  <blp@gnu.org>
65195
65196         * m4/check-libm-func.m4: Removed.
65197         * m4/check-math-lib.m4: New file.
65198         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
65199         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
65200         definition and lack of AC_LIBOBJ([roundf]).
65201         * m4/roundl.m4: Ditto, and similarly for roundl.
65202         * modules/round: Reference new m4 file.
65203         * modules/roundf: Ditto.
65204         * modules/roundl: Ditto.
65205         * tests/test-round2.c (main): Use ROUND instead of round.
65206         Bug report from Bruno Haible.
65207
65208 2007-10-21  Bruno Haible  <bruno@clisp.org>
65209
65210         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
65211         context.
65212
65213 2007-10-21  Bruno Haible  <bruno@clisp.org>
65214
65215         * tests/test-wcwidth.c (main): Allow negative result for some control
65216         characters.
65217
65218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
65219         Needed on OSF/1 5.1.
65220
65221 2007-10-21  Bruno Haible  <bruno@clisp.org>
65222
65223         * tests/test-floorf1.c: Include isnanf.h.
65224         (main): Use isnanf() instead of isnan().
65225         * tests/test-ceilf1.c: Include isnanf.h.
65226         (main): Use isnanf() instead of isnan().
65227         * tests/test-truncf1.c: Include isnanf.h.
65228         (main): Use isnanf() instead of isnan().
65229         * tests/test-roundf1.c: Include isnanf.h.
65230         (main): Use isnanf() instead of isnan().
65231
65232 2007-10-21  Eric Blake  <ebb9@byu.net>
65233
65234         * users.txt: Update URL for m4.
65235
65236 2007-10-21  Bruno Haible  <bruno@clisp.org>
65237
65238         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
65239
65240 2007-10-21  Bruno Haible  <bruno@clisp.org>
65241
65242         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
65243         Git's management files if the CVS files are not present.
65244
65245 2007-10-20  Bruno Haible  <bruno@clisp.org>
65246
65247         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
65248         gcc-3.4.x.
65249
65250 2007-10-20  Ben Pfaff  <blp@gnu.org>
65251
65252         * lib/math.in.h: Declare round, roundf, roundl if we are providing
65253         implementations.
65254         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
65255         * lib/round.c: New file.
65256         * lib/roundf.c: New file.
65257         * lib/roundl.c: New file.
65258         * m4/round.m4: New file.
65259         * m4/roundf.m4: New file.
65260         * m4/roundl.m4: New file.
65261         * m4/check-libm-func-m4: New file.
65262         * modules/math: Replace round, roundf, roundl related @VARS@ in
65263         math.in.h.
65264         * modules/round: New file.
65265         * modules/round-tests: New file.
65266         * modules/roundf: New file.
65267         * modules/roundf-tests: New file.
65268         * modules/roundl: New file.
65269         * modules/roundl-tests: New file.
65270         * tests/test-round1.c: New file.
65271         * tests/test-round2.c: New file.
65272         * tests/test-roundf1.c: New file.
65273         * tests/test-roundf2.c: New file.
65274         * tests/test-roundl.c: New file.
65275         * doc/functions/round.texi: Mention round module.
65276         * doc/functions/roundf.texi: Mention roundf module.
65277         * doc/functions/roundl.texi: Mention roundl module.
65278         * MODULES.html.sh: Mention new modules.
65279         Thanks to Bruno Haible for suggestions.
65280
65281 2007-10-20  Jim Meyering  <meyering@redhat.com>
65282
65283         * lib/xprintf.c: Include <config.h> unconditionally.
65284
65285         Change xprintf's license to GPL.
65286         * modules/xprintf (License): s/LGPL/GPL/, since this module
65287         depends on modules (exit and exitfail) which are GPL.
65288         Suggestion from Bruno Haible.
65289
65290         xprintf fixes.
65291         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
65292         Use a clearer diagnostic.
65293         Patch from Bruno Haible.
65294
65295 2007-10-20  Bruno Haible  <bruno@clisp.org>
65296
65297         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
65298         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
65299         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65300
65301 2007-10-20  Bruno Haible  <bruno@clisp.org>
65302
65303         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
65304         precision in the comparison result > x - 1 or similar.
65305         * tests/test-ceilf2.c (correct_result_p): Likewise.
65306         * tests/test-truncf2.c (correct_result_p): Likewise.
65307         * tests/test-trunc2.c (correct_result_p): Likewise.
65308         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65309
65310 2007-10-20  Bruno Haible  <bruno@clisp.org>
65311
65312         * modules/ceil: New file.
65313         * m4/ceil.m4: New file.
65314         * doc/functions/ceil.texi: Mention the 'ceil' module.
65315
65316 2007-10-20  Bruno Haible  <bruno@clisp.org>
65317
65318         * modules/floor: New file.
65319         * m4/floor.m4: New file.
65320         * doc/functions/floor.texi: Mention the 'floor' module.
65321
65322 2007-10-20  Bruno Haible  <bruno@clisp.org>
65323
65324         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
65325         of %a.
65326         * modules/floorf-tests (Depends-on): Likewise.
65327         * modules/truncf-tests (Depends-on): Likewise.
65328         * modules/trunc-tests (Depends-on): Likewise.
65329         Reported by Ben Pfaff.
65330
65331 2007-10-19  Jim Meyering  <meyering@redhat.com>
65332
65333         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
65334         Don't bother testing specific errno values.  Just test ferror.
65335
65336         New module: xprintf
65337         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
65338
65339 2007-10-19  Bruno Haible  <bruno@clisp.org>
65340
65341         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
65342         syntax.
65343         * modules/javaexec (Makefile.am): Likewise.
65344         * modules/relocatable-prog (Makefile.am): Likewise.
65345         Suggested by Jim Meyering.
65346
65347 2007-10-18  Bruno Haible  <bruno@clisp.org>
65348
65349         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
65350         Reported by Jim Meyering.
65351
65352 2007-10-18  Eric Blake  <ebb9@byu.net>
65353
65354         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
65355
65356 2007-10-18  Bruno Haible  <bruno@clisp.org>
65357
65358         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
65359         the format string into writable memory. Needed in Fortify conditions.
65360
65361 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
65362             Bruno Haible  <bruno@clisp.org>
65363
65364         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
65365         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
65366         * modules/trim (Depends-on): Add mbchar.
65367         (configure.ac): Add gl_FUNC_MBRTOWC.
65368         (Makefile.am): Augment lib_SOURCES.
65369
65370 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65371
65372         Modify glob.c to use fstatat and dirfd, to simplify it.
65373         Suggested by Eric Blake.
65374         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
65375         Don't include <stdbool.h>; not used.
65376         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
65377         (link_exists_p): Simplify implementation, since we can now assume
65378         dirfd and fstatat.
65379         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
65380
65381 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65382
65383         * gnulib-tool (func_get_dependencies): Fix sed script to
65384         match only tests.
65385
65386 2007-10-17  Bruno Haible  <bruno@clisp.org>
65387
65388         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
65389         allow locale names without encoding suffix.
65390         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
65391         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65392
65393 2007-10-16  Bruno Haible  <bruno@clisp.org>
65394
65395         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
65396         * lib/getgroups.c (getgroups): Likewise.
65397         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
65398
65399 2007-10-16  Bruno Haible  <bruno@clisp.org>
65400
65401         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
65402         * modules/malloc-posix (License): Likewise.
65403         * modules/realloc-posix (License): Likewise.
65404         * modules/calloc-posix (License): Likewise.
65405         * modules/intprops (License): Change from GPL to LGPL, with
65406         Paul Eggert's approval.
65407
65408 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65409
65410         Merge glibc changes into lib/glob.c.
65411
65412         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
65413         2007-10-15 04:59:03 UTC.  Here are the changes:
65414
65415         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
65416
65417         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
65418
65419         * lib/glob.c: Add some branch prediction throughout.
65420
65421         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
65422
65423         [BZ #5103]
65424         * lib/glob.c (glob): Recognize patterns starting \/.
65425
65426         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
65427
65428         [BZ #3996]
65429         * lib/glob.c (attribute_hidden): Define if not defined.
65430         (glob): Unescape dirname, filename or username when needed and not
65431         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
65432         is NULL.  Handle unescaped [ in pattern without closing ].
65433         Don't pass GLOB_CHECK down to recursive glob for directories.
65434         (__glob_pattern_type): New function.
65435         (__glob_pattern_p): Implement using __glob_pattern_type.
65436         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
65437         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
65438         Remove unreachable code.
65439
65440         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
65441
65442         * lib/glob.c (glob_in_dir): Add some comments and asserts to
65443         explain why there are no leaks.
65444
65445         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
65446
65447         [BZ #3253]
65448         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
65449         time, rather allocate increasingly bigger arrays of pointers, if
65450         possible with alloca, if too large with malloc.
65451
65452 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65453
65454         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
65455         Problem reported by H.Merijn Brand in
65456         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65457         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65458         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65459
65460 2007-10-15  Bruno Haible  <bruno@clisp.org>
65461
65462         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65463         with explicit rpl_ prefix.
65464         * lib/fopen.c (fopen): Likewise.
65465         * lib/freopen.c (freopen): Likewise.
65466         * lib/iconv.c (iconv): Likewise.
65467         * lib/iconv_close.c (iconv_close): Likewise.
65468
65469 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65470
65471         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65472
65473 2007-10-15  Bruno Haible  <bruno@clisp.org>
65474
65475         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65476         <stddef.h> instead of <stdlib.h> since we only need NULL.
65477         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65478
65479 2007-10-15  Bruno Haible  <bruno@clisp.org>
65480
65481         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65482         Replace paragraph talking about LIBOBJS.
65483         Reported by Colin Watson <cjwatson@debian.org>.
65484
65485 2007-10-15  Bruno Haible  <bruno@clisp.org>
65486
65487         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65488         <stdlib.h> before using NULL.
65489
65490 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65491
65492         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65493         Reported by Albert Chin <china@thewrittenword.com>.
65494
65495 2007-10-14  Bruno Haible  <bruno@clisp.org>
65496
65497         * modules/iconv_open-utf-tests: New file.
65498         * tests/test-iconv-utf.c: New file.
65499
65500         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65501         * modules/iconv_open-utf: New file.
65502         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65503         (iconv, iconv_close): New declarations.
65504         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65505         be defined.
65506         (iconv_open): Add special handling of conversion between UTF-8 and
65507         UTF-{16,32}{BE,LE}.
65508         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65509         * lib/iconv_close.c: New file.
65510         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65511         gl_FUNC_ICONV_OPEN.
65512         (gl_FUNC_ICONV_OPEN): Use it.
65513         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65514         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65515         and REPLACE_ICONV_UTF.
65516         * modules/iconv_open (Depends-on): Add c-strcase.
65517         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65518         ICONV_CONST.
65519         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65520
65521 2007-10-13  Albert Chin  <china@thewrittenword.com>
65522             Bruno Haible  <bruno@clisp.org>
65523
65524         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65525         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65526
65527 2007-10-13  Bruno Haible  <bruno@clisp.org>
65528
65529         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65530         defined, use the ISO C99 inline semantics.
65531         * lib/argp.h (ARGP_EI): Likewise.
65532
65533 2007-10-13  Bruno Haible  <bruno@clisp.org>
65534
65535         Handle 'inline' change in gcc 4.3.0.
65536         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65537         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65538         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65539         argp_fmtstream_point): Disable 'extern' declaration if the function
65540         definition is going to be provided inline.
65541         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65542         semantics, not the ISO C99 inline semantics.
65543         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65544         'extern' declaration if the function definition is going to be provided
65545         inline.
65546         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65547         the GNU C inline semantics, not the ISO C99 inline semantics. With
65548         GCC 4.2, avoid a warning.
65549
65550 2007-10-13  Bruno Haible  <bruno@clisp.org>
65551
65552         * lib/freading.h (freading): Enable the use of __freading for
65553         glibc >= 2.7.
65554         * lib/freading.c (freading): Likewise.
65555
65556 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65557
65558         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65559         "warning: C99 inline functions are not supported; using GNU89".
65560
65561 2007-10-12  Bruno Haible  <bruno@clisp.org>
65562
65563         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65564         of 2.
65565         * tests/test-ceilf2.c: New file.
65566         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65567
65568         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65569         * modules/ceilf-tests: Update.
65570
65571 2007-10-12  Bruno Haible  <bruno@clisp.org>
65572
65573         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65574         of 2.
65575         * tests/test-floorf2.c: New file.
65576         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65577
65578         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65579         * modules/floorf-tests: Update.
65580
65581 2007-10-12  Bruno Haible  <bruno@clisp.org>
65582
65583         * tests/test-trunc2.c: New file.
65584         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65585
65586         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65587         * modules/trunc-tests: Update.
65588
65589 2007-10-12  Bruno Haible  <bruno@clisp.org>
65590
65591         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65592         of 2.
65593         * tests/test-truncf2.c: New file.
65594         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65595
65596         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65597         * modules/truncf-tests: Update.
65598
65599 2007-10-11  Eric Blake  <ebb9@byu.net>
65600
65601         Don't claim strerror is broken on Interix.
65602         * doc/functions/strerror.texi (strerror): Known broken systems are
65603         now Solaris 8, and not Interix.
65604         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65605         Interix on cross-compile.
65606         Reported by Martin Koeppe in
65607         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65608
65609 2007-10-11  Bruno Haible  <bruno@clisp.org>
65610
65611         * modules/i-ring-tests: New file.
65612         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65613         instead of assert.
65614
65615 2007-10-11  Bruno Haible  <bruno@clisp.org>
65616
65617         * modules/filenamecat-tests: New file.
65618         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65619         * lib/filenamecat.c: Remove test code.
65620
65621 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65622
65623         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65624
65625         * lib/strerror.c: Include <string.h> always, to test interface,
65626         and to remove the need for the dummy.
65627         Include intprops.h to compute width instead of doing it ourselves
65628         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65629         (strerror): Define it to return NULL if there's no system strerror.
65630         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65631         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65632         ancient pre-strerror Unix systems well any more.  Saying "unknown
65633         system error" is enough.
65634         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65635         simpler strerror.c implementation.
65636         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65637         Simplify the tests to reflect the simpler strerror implementation.
65638         * modules/strerror (Depends-on): Add intprops.
65639
65640 2007-10-09  Eric Blake  <ebb9@byu.net>
65641
65642         Silence test-fpending.
65643         * modules/fpending-tests (Files): Add wrapper script.
65644         * tests/test-fpending.sh: New file.
65645
65646 2007-10-09  Bruno Haible  <bruno@clisp.org>
65647
65648         * MODULES.html.sh (func_module): Don't create a hyperlink for
65649         function names like 'printf_frexp'.
65650         (Misc): Add crc, memxor.
65651         (Characteristics of floating types): New section.
65652         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65653         isnanf-nolibm, signbit, trunc, truncf, truncl.
65654         (Enhancements for ISO C 99 functions): New subsection Input/output.
65655         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65656         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65657         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65658         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65659         (Enhancements for POSIX:2001 functions): Add chdir-long.
65660         (File system functions): Add areadlink, chdir-safer, read-file.
65661         Remove cycle-check.
65662         (File system as inode set): New section.
65663         (Date and time): Add gethrxtime.
65664         (Multithreading): Add openmp.
65665         (Internationalization functions): Add localename.
65666         (Unicode string functions): Add unistr/u*-mbsnlen.
65667         (Support for maintaining and releasing projects): Add git-version-gen.
65668         (Lone files): Remove directories.
65669
65670 2007-10-08  Ben Pfaff  <blp@gnu.org>
65671
65672         * lib/xmalloca.h: Fix typo in comment.
65673
65674 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65675
65676         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65677         when avoiding problems with integer overflow.  Use a portable test
65678         instead.
65679
65680 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65681
65682         * modules/dummy (License): Change to LGPLv2+.
65683         * modules/float (License): Likewise
65684         * modules/realloc (License): Likewise
65685         * modules/stdlib (License): Likewise
65686
65687 2007-10-07  Bruno Haible  <bruno@clisp.org>
65688
65689         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65690         * floor.c (TWO_MANT_DIG): Likewise.
65691         * ceil.c (TWO_MANT_DIG): Likewise.
65692         Reported by Ben Pfaff.
65693
65694 2007-10-07  Bruno Haible  <bruno@clisp.org>
65695
65696         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65697         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65698         * lib/frexp.c (FUNC): Likewise.
65699         * lib/printf-frexp.h (printf_frexp): Likewise.
65700         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65701         * lib/printf-frexp.c (FUNC): Likewise.
65702         Suggested by Jim Meyering.
65703
65704 2007-10-07  Jim Meyering  <meyering@redhat.com>
65705
65706         Make xnanosleep's integer overflow test more robust.
65707         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65708         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65709
65710 2007-10-07  Bruno Haible  <bruno@clisp.org>
65711
65712         * NEWS: Mention the license change.
65713
65714         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65715         abbreviations in the modules files.
65716
65717         Change copyright notice from GPLv2+ to GPLv3+.
65718         * README: Change copyright notice.
65719         * MODULES.html.sh: Likewise.
65720         * build-aux/bootstrap.conf: Likewise.
65721         * build-aux/config.libpath: Likewise.
65722         * build-aux/csharpcomp.sh.in: Likewise.
65723         * build-aux/csharpexec.sh.in: Likewise.
65724         * build-aux/install-reloc: Likewise.
65725         * build-aux/javacomp.sh.in: Likewise.
65726         * build-aux/javaexec.sh.in: Likewise.
65727         * build-aux/ldd.sh.in: Likewise.
65728         * build-aux/reloc-ldflags: Likewise.
65729         * build-aux/relocatable.sh.in: Likewise.
65730         * build-aux/x-to-1.in: Likewise.
65731         * check-module: Likewise.
65732         * config/srclistvars.sh: Likewise.
65733         * gnulib-tool: Likewise.
65734         * lib/acl-internal.h: Likewise.
65735         * lib/acl.c: Likewise.
65736         * lib/acl.h: Likewise.
65737         * lib/acl_entries.c: Likewise.
65738         * lib/areadlink-with-size.c: Likewise.
65739         * lib/areadlink.c: Likewise.
65740         * lib/areadlink.h: Likewise.
65741         * lib/argmatch.c: Likewise.
65742         * lib/argmatch.h: Likewise.
65743         * lib/argp-ba.c: Likewise.
65744         * lib/argp-eexst.c: Likewise.
65745         * lib/argp-fmtstream.c: Likewise.
65746         * lib/argp-fmtstream.h: Likewise.
65747         * lib/argp-fs-xinl.c: Likewise.
65748         * lib/argp-help.c: Likewise.
65749         * lib/argp-namefrob.h: Likewise.
65750         * lib/argp-parse.c: Likewise.
65751         * lib/argp-pin.c: Likewise.
65752         * lib/argp-pv.c: Likewise.
65753         * lib/argp-pvh.c: Likewise.
65754         * lib/argp-xinl.c: Likewise.
65755         * lib/argp.h: Likewise.
65756         * lib/at-func.c: Likewise.
65757         * lib/atanl.c: Likewise.
65758         * lib/backupfile.c: Likewise.
65759         * lib/backupfile.h: Likewise.
65760         * lib/basename.c: Likewise.
65761         * lib/binary-io.h: Likewise.
65762         * lib/byteswap.in.h: Likewise.
65763         * lib/c-stack.c: Likewise.
65764         * lib/c-stack.h: Likewise.
65765         * lib/c-strcasestr.c: Likewise.
65766         * lib/c-strcasestr.h: Likewise.
65767         * lib/c-strstr.c: Likewise.
65768         * lib/c-strstr.h: Likewise.
65769         * lib/c-strtod.c: Likewise.
65770         * lib/calloc.c: Likewise.
65771         * lib/canon-host.c: Likewise.
65772         * lib/canon-host.h: Likewise.
65773         * lib/canonicalize-lgpl.c: Likewise.
65774         * lib/canonicalize.c: Likewise.
65775         * lib/canonicalize.h: Likewise.
65776         * lib/ceil.c: Likewise.
65777         * lib/ceilf.c: Likewise.
65778         * lib/ceill.c: Likewise.
65779         * lib/chdir-long.c: Likewise.
65780         * lib/chdir-long.h: Likewise.
65781         * lib/chdir-safer.c: Likewise.
65782         * lib/chdir-safer.h: Likewise.
65783         * lib/chown.c: Likewise.
65784         * lib/classpath.c: Likewise.
65785         * lib/classpath.h: Likewise.
65786         * lib/clean-temp.c: Likewise.
65787         * lib/clean-temp.h: Likewise.
65788         * lib/cloexec.c: Likewise.
65789         * lib/close-stream.c: Likewise.
65790         * lib/closein.c: Likewise.
65791         * lib/closein.h: Likewise.
65792         * lib/closeout.c: Likewise.
65793         * lib/closeout.h: Likewise.
65794         * lib/concat-filename.c: Likewise.
65795         * lib/copy-file.c: Likewise.
65796         * lib/copy-file.h: Likewise.
65797         * lib/count-one-bits.h: Likewise.
65798         * lib/crc.c: Likewise.
65799         * lib/crc.h: Likewise.
65800         * lib/creat-safer.c: Likewise.
65801         * lib/csharpcomp.c: Likewise.
65802         * lib/csharpcomp.h: Likewise.
65803         * lib/csharpexec.c: Likewise.
65804         * lib/csharpexec.h: Likewise.
65805         * lib/cycle-check.c: Likewise.
65806         * lib/cycle-check.h: Likewise.
65807         * lib/diacrit.c: Likewise.
65808         * lib/diacrit.h: Likewise.
65809         * lib/diffseq.h: Likewise.
65810         * lib/dirchownmod.c: Likewise.
65811         * lib/dirent.in.h: Likewise.
65812         * lib/dirfd.c: Likewise.
65813         * lib/dirfd.h: Likewise.
65814         * lib/dirname.c: Likewise.
65815         * lib/dirname.h: Likewise.
65816         * lib/dummy.c: Likewise.
65817         * lib/dup-safer.c: Likewise.
65818         * lib/dup2.c: Likewise.
65819         * lib/eealloc.h: Likewise.
65820         * lib/error.c: Likewise.
65821         * lib/error.h: Likewise.
65822         * lib/euidaccess.c: Likewise.
65823         * lib/exclude.c: Likewise.
65824         * lib/exclude.h: Likewise.
65825         * lib/execute.c: Likewise.
65826         * lib/execute.h: Likewise.
65827         * lib/exitfail.c: Likewise.
65828         * lib/exitfail.h: Likewise.
65829         * lib/expl.c: Likewise.
65830         * lib/fatal-signal.c: Likewise.
65831         * lib/fatal-signal.h: Likewise.
65832         * lib/fbufmode.c: Likewise.
65833         * lib/fbufmode.h: Likewise.
65834         * lib/fchdir.c: Likewise.
65835         * lib/fchmodat.c: Likewise.
65836         * lib/fchownat.c: Likewise.
65837         * lib/fcntl--.h: Likewise.
65838         * lib/fcntl-safer.h: Likewise.
65839         * lib/fcntl.in.h: Likewise.
65840         * lib/fd-safer.c: Likewise.
65841         * lib/fflush.c: Likewise.
65842         * lib/file-has-acl.c: Likewise.
65843         * lib/file-set.c: Likewise.
65844         * lib/file-type.c: Likewise.
65845         * lib/file-type.h: Likewise.
65846         * lib/fileblocks.c: Likewise.
65847         * lib/filemode.c: Likewise.
65848         * lib/filemode.h: Likewise.
65849         * lib/filename.h: Likewise.
65850         * lib/filenamecat.c: Likewise.
65851         * lib/filenamecat.h: Likewise.
65852         * lib/findprog.c: Likewise.
65853         * lib/findprog.h: Likewise.
65854         * lib/float.in.h: Likewise.
65855         * lib/floor.c: Likewise.
65856         * lib/floorf.c: Likewise.
65857         * lib/floorl.c: Likewise.
65858         * lib/fopen-safer.c: Likewise.
65859         * lib/fopen.c: Likewise.
65860         * lib/fpending.c: Likewise.
65861         * lib/fpending.h: Likewise.
65862         * lib/fprintf.c: Likewise.
65863         * lib/fprintftime.h: Likewise.
65864         * lib/fpucw.h: Likewise.
65865         * lib/fpurge.c: Likewise.
65866         * lib/fpurge.h: Likewise.
65867         * lib/freadable.c: Likewise.
65868         * lib/freadable.h: Likewise.
65869         * lib/freadahead.c: Likewise.
65870         * lib/freadahead.h: Likewise.
65871         * lib/freading.c: Likewise.
65872         * lib/freading.h: Likewise.
65873         * lib/free.c: Likewise.
65874         * lib/freopen.c: Likewise.
65875         * lib/frexp.c: Likewise.
65876         * lib/frexpl.c: Likewise.
65877         * lib/fseek.c: Likewise.
65878         * lib/fseterr.c: Likewise.
65879         * lib/fseterr.h: Likewise.
65880         * lib/fstatat.c: Likewise.
65881         * lib/fstrcmp.c: Likewise.
65882         * lib/fstrcmp.h: Likewise.
65883         * lib/fsusage.c: Likewise.
65884         * lib/fsusage.h: Likewise.
65885         * lib/ftell.c: Likewise.
65886         * lib/ftello.c: Likewise.
65887         * lib/fts-cycle.c: Likewise.
65888         * lib/fts.c: Likewise.
65889         * lib/fts_.h: Likewise.
65890         * lib/full-read.c: Likewise.
65891         * lib/full-read.h: Likewise.
65892         * lib/full-write.c: Likewise.
65893         * lib/full-write.h: Likewise.
65894         * lib/fwritable.c: Likewise.
65895         * lib/fwritable.h: Likewise.
65896         * lib/fwriteerror.c: Likewise.
65897         * lib/fwriteerror.h: Likewise.
65898         * lib/fwriting.c: Likewise.
65899         * lib/fwriting.h: Likewise.
65900         * lib/gcd.c: Likewise.
65901         * lib/gcd.h: Likewise.
65902         * lib/getcwd.c: Likewise.
65903         * lib/getdate.h: Likewise.
65904         * lib/getdate.y: Likewise.
65905         * lib/getdomainname.c: Likewise.
65906         * lib/getdomainname.h: Likewise.
65907         * lib/getgroups.c: Likewise.
65908         * lib/gethostname.c: Likewise.
65909         * lib/gethrxtime.c: Likewise.
65910         * lib/gethrxtime.h: Likewise.
65911         * lib/getloadavg.c: Likewise.
65912         * lib/getndelim2.c: Likewise.
65913         * lib/getndelim2.h: Likewise.
65914         * lib/getnline.c: Likewise.
65915         * lib/getnline.h: Likewise.
65916         * lib/getopt.c: Likewise.
65917         * lib/getopt.in.h: Likewise.
65918         * lib/getopt1.c: Likewise.
65919         * lib/getopt_int.h: Likewise.
65920         * lib/getpagesize.h: Likewise.
65921         * lib/getsubopt.c: Likewise.
65922         * lib/gettime.c: Likewise.
65923         * lib/getugroups.c: Likewise.
65924         * lib/getugroups.h: Likewise.
65925         * lib/getusershell.c: Likewise.
65926         * lib/gl_anyavltree_list1.h: Likewise.
65927         * lib/gl_anyavltree_list2.h: Likewise.
65928         * lib/gl_anyhash_list1.h: Likewise.
65929         * lib/gl_anyhash_list2.h: Likewise.
65930         * lib/gl_anylinked_list1.h: Likewise.
65931         * lib/gl_anylinked_list2.h: Likewise.
65932         * lib/gl_anyrbtree_list1.h: Likewise.
65933         * lib/gl_anyrbtree_list2.h: Likewise.
65934         * lib/gl_anytree_list1.h: Likewise.
65935         * lib/gl_anytree_list2.h: Likewise.
65936         * lib/gl_anytree_oset.h: Likewise.
65937         * lib/gl_anytreehash_list1.h: Likewise.
65938         * lib/gl_anytreehash_list2.h: Likewise.
65939         * lib/gl_array_list.c: Likewise.
65940         * lib/gl_array_list.h: Likewise.
65941         * lib/gl_array_oset.c: Likewise.
65942         * lib/gl_array_oset.h: Likewise.
65943         * lib/gl_avltree_list.c: Likewise.
65944         * lib/gl_avltree_list.h: Likewise.
65945         * lib/gl_avltree_oset.c: Likewise.
65946         * lib/gl_avltree_oset.h: Likewise.
65947         * lib/gl_avltreehash_list.c: Likewise.
65948         * lib/gl_avltreehash_list.h: Likewise.
65949         * lib/gl_carray_list.c: Likewise.
65950         * lib/gl_carray_list.h: Likewise.
65951         * lib/gl_linked_list.c: Likewise.
65952         * lib/gl_linked_list.h: Likewise.
65953         * lib/gl_linkedhash_list.c: Likewise.
65954         * lib/gl_linkedhash_list.h: Likewise.
65955         * lib/gl_list.c: Likewise.
65956         * lib/gl_list.h: Likewise.
65957         * lib/gl_oset.c: Likewise.
65958         * lib/gl_oset.h: Likewise.
65959         * lib/gl_rbtree_list.c: Likewise.
65960         * lib/gl_rbtree_list.h: Likewise.
65961         * lib/gl_rbtree_oset.c: Likewise.
65962         * lib/gl_rbtree_oset.h: Likewise.
65963         * lib/gl_rbtreehash_list.c: Likewise.
65964         * lib/gl_rbtreehash_list.h: Likewise.
65965         * lib/gl_sublist.c: Likewise.
65966         * lib/gl_sublist.h: Likewise.
65967         * lib/group-member.c: Likewise.
65968         * lib/group-member.h: Likewise.
65969         * lib/hard-locale.c: Likewise.
65970         * lib/hard-locale.h: Likewise.
65971         * lib/hash-pjw.c: Likewise.
65972         * lib/hash-pjw.h: Likewise.
65973         * lib/hash-triple.c: Likewise.
65974         * lib/hash.c: Likewise.
65975         * lib/hash.h: Likewise.
65976         * lib/human.c: Likewise.
65977         * lib/human.h: Likewise.
65978         * lib/i-ring.c: Likewise.
65979         * lib/i-ring.h: Likewise.
65980         * lib/idcache.c: Likewise.
65981         * lib/imaxabs.c: Likewise.
65982         * lib/imaxdiv.c: Likewise.
65983         * lib/inet_pton.c: Likewise.
65984         * lib/inet_pton.h: Likewise.
65985         * lib/intprops.h: Likewise.
65986         * lib/inttostr.c: Likewise.
65987         * lib/inttostr.h: Likewise.
65988         * lib/inttypes.in.h: Likewise.
65989         * lib/isapipe.c: Likewise.
65990         * lib/isdir.c: Likewise.
65991         * lib/isnan.c: Likewise.
65992         * lib/isnan.h: Likewise.
65993         * lib/isnanf.c: Likewise.
65994         * lib/isnanf.h: Likewise.
65995         * lib/isnanl-nolibm.h: Likewise.
65996         * lib/isnanl.c: Likewise.
65997         * lib/isnanl.h: Likewise.
65998         * lib/javacomp.c: Likewise.
65999         * lib/javacomp.h: Likewise.
66000         * lib/javaexec.c: Likewise.
66001         * lib/javaexec.h: Likewise.
66002         * lib/javaversion.c: Likewise.
66003         * lib/javaversion.h: Likewise.
66004         * lib/javaversion.java: Likewise.
66005         * lib/lbrkprop.h: Likewise.
66006         * lib/lchmod.h: Likewise.
66007         * lib/lchown.c: Likewise.
66008         * lib/ldexpl.c: Likewise.
66009         * lib/linebreak.c: Likewise.
66010         * lib/linebreak.h: Likewise.
66011         * lib/linebuffer.c: Likewise.
66012         * lib/linebuffer.h: Likewise.
66013         * lib/locale.in.h: Likewise.
66014         * lib/logl.c: Likewise.
66015         * lib/long-options.c: Likewise.
66016         * lib/long-options.h: Likewise.
66017         * lib/lstat.c: Likewise.
66018         * lib/lstat.h: Likewise.
66019         * lib/math.in.h: Likewise.
66020         * lib/mbchar.c: Likewise.
66021         * lib/mbchar.h: Likewise.
66022         * lib/mbfile.h: Likewise.
66023         * lib/mbiter.h: Likewise.
66024         * lib/mbscasecmp.c: Likewise.
66025         * lib/mbscasestr.c: Likewise.
66026         * lib/mbschr.c: Likewise.
66027         * lib/mbscspn.c: Likewise.
66028         * lib/mbslen.c: Likewise.
66029         * lib/mbsncasecmp.c: Likewise.
66030         * lib/mbsnlen.c: Likewise.
66031         * lib/mbspbrk.c: Likewise.
66032         * lib/mbspcasecmp.c: Likewise.
66033         * lib/mbsrchr.c: Likewise.
66034         * lib/mbssep.c: Likewise.
66035         * lib/mbsspn.c: Likewise.
66036         * lib/mbsstr.c: Likewise.
66037         * lib/mbstok_r.c: Likewise.
66038         * lib/mbswidth.c: Likewise.
66039         * lib/mbswidth.h: Likewise.
66040         * lib/mbuiter.h: Likewise.
66041         * lib/memcasecmp.c: Likewise.
66042         * lib/memcasecmp.h: Likewise.
66043         * lib/memchr.c: Likewise.
66044         * lib/memcmp.c: Likewise.
66045         * lib/memcoll.c: Likewise.
66046         * lib/memcoll.h: Likewise.
66047         * lib/memcpy.c: Likewise.
66048         * lib/memrchr.c: Likewise.
66049         * lib/mkancesdirs.c: Likewise.
66050         * lib/mkdir-p.c: Likewise.
66051         * lib/mkdir-p.h: Likewise.
66052         * lib/mkdir.c: Likewise.
66053         * lib/mkdirat.c: Likewise.
66054         * lib/mkdtemp.c: Likewise.
66055         * lib/mkstemp-safer.c: Likewise.
66056         * lib/mkstemp.c: Likewise.
66057         * lib/modechange.c: Likewise.
66058         * lib/modechange.h: Likewise.
66059         * lib/mountlist.c: Likewise.
66060         * lib/mountlist.h: Likewise.
66061         * lib/mpsort.c: Likewise.
66062         * lib/nanosleep.c: Likewise.
66063         * lib/obstack.c: Likewise.
66064         * lib/obstack.h: Likewise.
66065         * lib/open-safer.c: Likewise.
66066         * lib/open.c: Likewise.
66067         * lib/openat-die.c: Likewise.
66068         * lib/openat-priv.h: Likewise.
66069         * lib/openat-proc.c: Likewise.
66070         * lib/openat.c: Likewise.
66071         * lib/openat.h: Likewise.
66072         * lib/pagealign_alloc.c: Likewise.
66073         * lib/pagealign_alloc.h: Likewise.
66074         * lib/physmem.c: Likewise.
66075         * lib/physmem.h: Likewise.
66076         * lib/pipe-safer.c: Likewise.
66077         * lib/pipe.c: Likewise.
66078         * lib/pipe.h: Likewise.
66079         * lib/posixtm.c: Likewise.
66080         * lib/posixtm.h: Likewise.
66081         * lib/posixver.c: Likewise.
66082         * lib/printf-frexp.c: Likewise.
66083         * lib/printf-frexp.h: Likewise.
66084         * lib/printf-frexpl.c: Likewise.
66085         * lib/printf-frexpl.h: Likewise.
66086         * lib/printf.c: Likewise.
66087         * lib/progname.c: Likewise.
66088         * lib/progname.h: Likewise.
66089         * lib/progreloc.c: Likewise.
66090         * lib/putenv.c: Likewise.
66091         * lib/quote.c: Likewise.
66092         * lib/quote.h: Likewise.
66093         * lib/quotearg.c: Likewise.
66094         * lib/quotearg.h: Likewise.
66095         * lib/raise.c: Likewise.
66096         * lib/readline.c: Likewise.
66097         * lib/readline.h: Likewise.
66098         * lib/readlink.c: Likewise.
66099         * lib/readtokens.c: Likewise.
66100         * lib/readtokens.h: Likewise.
66101         * lib/readtokens0.c: Likewise.
66102         * lib/readtokens0.h: Likewise.
66103         * lib/readutmp.c: Likewise.
66104         * lib/readutmp.h: Likewise.
66105         * lib/realloc.c: Likewise.
66106         * lib/relocwrapper.c: Likewise.
66107         * lib/rename-dest-slash.c: Likewise.
66108         * lib/rename.c: Likewise.
66109         * lib/rmdir.c: Likewise.
66110         * lib/rpmatch.c: Likewise.
66111         * lib/safe-read.c: Likewise.
66112         * lib/safe-read.h: Likewise.
66113         * lib/safe-write.c: Likewise.
66114         * lib/safe-write.h: Likewise.
66115         * lib/same-inode.h: Likewise.
66116         * lib/same.c: Likewise.
66117         * lib/same.h: Likewise.
66118         * lib/save-cwd.c: Likewise.
66119         * lib/save-cwd.h: Likewise.
66120         * lib/savedir.c: Likewise.
66121         * lib/savedir.h: Likewise.
66122         * lib/savewd.c: Likewise.
66123         * lib/savewd.h: Likewise.
66124         * lib/search.in.h: Likewise.
66125         * lib/setenv.c: Likewise.
66126         * lib/setenv.h: Likewise.
66127         * lib/settime.c: Likewise.
66128         * lib/sh-quote.c: Likewise.
66129         * lib/sh-quote.h: Likewise.
66130         * lib/sig2str.c: Likewise.
66131         * lib/sig2str.h: Likewise.
66132         * lib/signal.in.h: Likewise.
66133         * lib/signbitd.c: Likewise.
66134         * lib/signbitf.c: Likewise.
66135         * lib/signbitl.c: Likewise.
66136         * lib/sigprocmask.c: Likewise.
66137         * lib/sincosl.c: Likewise.
66138         * lib/sleep.c: Likewise.
66139         * lib/sprintf.c: Likewise.
66140         * lib/sqrtl.c: Likewise.
66141         * lib/stat-time.h: Likewise.
66142         * lib/stdio--.h: Likewise.
66143         * lib/stdio-safer.h: Likewise.
66144         * lib/stdlib--.h: Likewise.
66145         * lib/stdlib-safer.h: Likewise.
66146         * lib/stdlib.in.h: Likewise.
66147         * lib/stpcpy.c: Likewise.
66148         * lib/stpncpy.c: Likewise.
66149         * lib/strchrnul.c: Likewise.
66150         * lib/strcspn.c: Likewise.
66151         * lib/strerror.c: Likewise.
66152         * lib/strftime.c: Likewise.
66153         * lib/strftime.h: Likewise.
66154         * lib/striconveh.c: Likewise.
66155         * lib/striconveh.h: Likewise.
66156         * lib/striconveha.c: Likewise.
66157         * lib/striconveha.h: Likewise.
66158         * lib/stripslash.c: Likewise.
66159         * lib/strnlen1.c: Likewise.
66160         * lib/strnlen1.h: Likewise.
66161         * lib/strtod.c: Likewise.
66162         * lib/strtoimax.c: Likewise.
66163         * lib/strtok_r.c: Likewise.
66164         * lib/strtol.c: Likewise.
66165         * lib/strtoll.c: Likewise.
66166         * lib/strtoul.c: Likewise.
66167         * lib/strtoull.c: Likewise.
66168         * lib/sysexits.in.h: Likewise.
66169         * lib/tempname.c: Likewise.
66170         * lib/tempname.h: Likewise.
66171         * lib/timespec.h: Likewise.
66172         * lib/tls.c: Likewise.
66173         * lib/tls.h: Likewise.
66174         * lib/tmpdir.c: Likewise.
66175         * lib/tmpdir.h: Likewise.
66176         * lib/tmpfile-safer.c: Likewise.
66177         * lib/tmpfile.c: Likewise.
66178         * lib/trigl.c: Likewise.
66179         * lib/trigl.h: Likewise.
66180         * lib/trim.c: Likewise.
66181         * lib/trim.h: Likewise.
66182         * lib/trunc.c: Likewise.
66183         * lib/truncf.c: Likewise.
66184         * lib/truncl.c: Likewise.
66185         * lib/tsearch.c: Likewise.
66186         * lib/unicodeio.c: Likewise.
66187         * lib/unicodeio.h: Likewise.
66188         * lib/unistd--.h: Likewise.
66189         * lib/unistd-safer.h: Likewise.
66190         * lib/unistdio/ulc-fprintf.c: Likewise.
66191         * lib/unistdio/ulc-vfprintf.c: Likewise.
66192         * lib/unlinkdir.c: Likewise.
66193         * lib/unlinkdir.h: Likewise.
66194         * lib/unlocked-io.h: Likewise.
66195         * lib/unsetenv.c: Likewise.
66196         * lib/userspec.c: Likewise.
66197         * lib/utime.c: Likewise.
66198         * lib/utimecmp.c: Likewise.
66199         * lib/utimecmp.h: Likewise.
66200         * lib/utimens.c: Likewise.
66201         * lib/verify.h: Likewise.
66202         * lib/verror.c: Likewise.
66203         * lib/verror.h: Likewise.
66204         * lib/version-etc-fsf.c: Likewise.
66205         * lib/version-etc.c: Likewise.
66206         * lib/version-etc.h: Likewise.
66207         * lib/vfprintf.c: Likewise.
66208         * lib/vprintf.c: Likewise.
66209         * lib/vsprintf.c: Likewise.
66210         * lib/w32spawn.h: Likewise.
66211         * lib/wait-process.c: Likewise.
66212         * lib/wait-process.h: Likewise.
66213         * lib/wcwidth.c: Likewise.
66214         * lib/write-any-file.c: Likewise.
66215         * lib/xalloc-die.c: Likewise.
66216         * lib/xalloc.h: Likewise.
66217         * lib/xasprintf.c: Likewise.
66218         * lib/xgetcwd.c: Likewise.
66219         * lib/xgetcwd.h: Likewise.
66220         * lib/xgetdomainname.c: Likewise.
66221         * lib/xgetdomainname.h: Likewise.
66222         * lib/xgethostname.c: Likewise.
66223         * lib/xmalloc.c: Likewise.
66224         * lib/xmalloca.c: Likewise.
66225         * lib/xmalloca.h: Likewise.
66226         * lib/xmemcoll.c: Likewise.
66227         * lib/xnanosleep.c: Likewise.
66228         * lib/xreadlink.c: Likewise.
66229         * lib/xreadlink.h: Likewise.
66230         * lib/xsetenv.c: Likewise.
66231         * lib/xsetenv.h: Likewise.
66232         * lib/xstriconv.c: Likewise.
66233         * lib/xstriconv.h: Likewise.
66234         * lib/xstrndup.c: Likewise.
66235         * lib/xstrndup.h: Likewise.
66236         * lib/xstrtod.c: Likewise.
66237         * lib/xstrtod.h: Likewise.
66238         * lib/xstrtol-error.c: Likewise.
66239         * lib/xstrtol.c: Likewise.
66240         * lib/xstrtol.h: Likewise.
66241         * lib/xtime.h: Likewise.
66242         * lib/xvasprintf.c: Likewise.
66243         * lib/xvasprintf.h: Likewise.
66244         * lib/yesno.c: Likewise.
66245         * lib/yesno.h: Likewise.
66246         * posix-modules: Likewise.
66247         * tests/test-alloca-opt.c: Likewise.
66248         * tests/test-arcfour.c: Likewise.
66249         * tests/test-arctwo.c: Likewise.
66250         * tests/test-argmatch.c: Likewise.
66251         * tests/test-argp-2.sh: Likewise.
66252         * tests/test-argp.c: Likewise.
66253         * tests/test-arpa_inet.c: Likewise.
66254         * tests/test-array_list.c: Likewise.
66255         * tests/test-array_oset.c: Likewise.
66256         * tests/test-atexit.c: Likewise.
66257         * tests/test-avltree_list.c: Likewise.
66258         * tests/test-avltree_oset.c: Likewise.
66259         * tests/test-avltreehash_list.c: Likewise.
66260         * tests/test-base64.c: Likewise.
66261         * tests/test-binary-io.c: Likewise.
66262         * tests/test-byteswap.c: Likewise.
66263         * tests/test-c-ctype.c: Likewise.
66264         * tests/test-c-strcasecmp.c: Likewise.
66265         * tests/test-c-strcasestr.c: Likewise.
66266         * tests/test-c-strncasecmp.c: Likewise.
66267         * tests/test-c-strstr.c: Likewise.
66268         * tests/test-canonicalize-lgpl.c: Likewise.
66269         * tests/test-canonicalize.c: Likewise.
66270         * tests/test-carray_list.c: Likewise.
66271         * tests/test-ceilf.c: Likewise.
66272         * tests/test-ceill.c: Likewise.
66273         * tests/test-count-one-bits.c: Likewise.
66274         * tests/test-crc.c: Likewise.
66275         * tests/test-dirname.c: Likewise.
66276         * tests/test-fbufmode.c: Likewise.
66277         * tests/test-fcntl.c: Likewise.
66278         * tests/test-fflush.c: Likewise.
66279         * tests/test-floorf.c: Likewise.
66280         * tests/test-floorl.c: Likewise.
66281         * tests/test-fopen.c: Likewise.
66282         * tests/test-fprintf-posix.c: Likewise.
66283         * tests/test-fprintf-posix.h: Likewise.
66284         * tests/test-fpurge.c: Likewise.
66285         * tests/test-freadable.c: Likewise.
66286         * tests/test-freadahead.c: Likewise.
66287         * tests/test-freading.c: Likewise.
66288         * tests/test-freopen.c: Likewise.
66289         * tests/test-frexp.c: Likewise.
66290         * tests/test-frexpl.c: Likewise.
66291         * tests/test-fseek.c: Likewise.
66292         * tests/test-fseeko.c: Likewise.
66293         * tests/test-fseterr.c: Likewise.
66294         * tests/test-fstrcmp.c: Likewise.
66295         * tests/test-ftell.c: Likewise.
66296         * tests/test-ftello.c: Likewise.
66297         * tests/test-fwritable.c: Likewise.
66298         * tests/test-fwriting.c: Likewise.
66299         * tests/test-getaddrinfo.c: Likewise.
66300         * tests/test-getpass.c: Likewise.
66301         * tests/test-gettimeofday.c: Likewise.
66302         * tests/test-hmac-md5.c: Likewise.
66303         * tests/test-hmac-sha1.c: Likewise.
66304         * tests/test-iconv.c: Likewise.
66305         * tests/test-iconvme.c: Likewise.
66306         * tests/test-inttypes.c: Likewise.
66307         * tests/test-isnan.c: Likewise.
66308         * tests/test-isnanf.c: Likewise.
66309         * tests/test-isnanl-nolibm.c: Likewise.
66310         * tests/test-isnanl.c: Likewise.
66311         * tests/test-isnanl.h: Likewise.
66312         * tests/test-ldexpl.c: Likewise.
66313         * tests/test-linked_list.c: Likewise.
66314         * tests/test-linkedhash_list.c: Likewise.
66315         * tests/test-locale.c: Likewise.
66316         * tests/test-localename.c: Likewise.
66317         * tests/test-lock.c: Likewise.
66318         * tests/test-lseek.c: Likewise.
66319         * tests/test-malloca.c: Likewise.
66320         * tests/test-math.c: Likewise.
66321         * tests/test-mbscasecmp.c: Likewise.
66322         * tests/test-mbscasestr1.c: Likewise.
66323         * tests/test-mbscasestr2.c: Likewise.
66324         * tests/test-mbscasestr3.c: Likewise.
66325         * tests/test-mbscasestr4.c: Likewise.
66326         * tests/test-mbschr.c: Likewise.
66327         * tests/test-mbscspn.c: Likewise.
66328         * tests/test-mbsncasecmp.c: Likewise.
66329         * tests/test-mbspbrk.c: Likewise.
66330         * tests/test-mbspcasecmp.c: Likewise.
66331         * tests/test-mbsrchr.c: Likewise.
66332         * tests/test-mbsspn.c: Likewise.
66333         * tests/test-mbsstr1.c: Likewise.
66334         * tests/test-mbsstr2.c: Likewise.
66335         * tests/test-mbsstr3.c: Likewise.
66336         * tests/test-md5.c: Likewise.
66337         * tests/test-memmem.c: Likewise.
66338         * tests/test-netinet_in.c: Likewise.
66339         * tests/test-open.c: Likewise.
66340         * tests/test-printf-frexp.c: Likewise.
66341         * tests/test-printf-frexpl.c: Likewise.
66342         * tests/test-printf-posix.c: Likewise.
66343         * tests/test-printf-posix.h: Likewise.
66344         * tests/test-rbtree_list.c: Likewise.
66345         * tests/test-rbtree_oset.c: Likewise.
66346         * tests/test-rbtreehash_list.c: Likewise.
66347         * tests/test-read-file.c: Likewise.
66348         * tests/test-rijndael.c: Likewise.
66349         * tests/test-search.c: Likewise.
66350         * tests/test-signbit.c: Likewise.
66351         * tests/test-sleep.c: Likewise.
66352         * tests/test-snprintf-posix.c: Likewise.
66353         * tests/test-snprintf-posix.h: Likewise.
66354         * tests/test-snprintf.c: Likewise.
66355         * tests/test-sprintf-posix.c: Likewise.
66356         * tests/test-sprintf-posix.h: Likewise.
66357         * tests/test-stat-time.c: Likewise.
66358         * tests/test-stdbool.c: Likewise.
66359         * tests/test-stdint.c: Likewise.
66360         * tests/test-stdio.c: Likewise.
66361         * tests/test-stdlib.c: Likewise.
66362         * tests/test-stpncpy.c: Likewise.
66363         * tests/test-strcasestr.c: Likewise.
66364         * tests/test-striconv.c: Likewise.
66365         * tests/test-striconveh.c: Likewise.
66366         * tests/test-striconveha.c: Likewise.
66367         * tests/test-string.c: Likewise.
66368         * tests/test-sys_select.c: Likewise.
66369         * tests/test-sys_socket.c: Likewise.
66370         * tests/test-sys_stat.c: Likewise.
66371         * tests/test-sys_time.c: Likewise.
66372         * tests/test-sysexits.c: Likewise.
66373         * tests/test-time.c: Likewise.
66374         * tests/test-tls.c: Likewise.
66375         * tests/test-trunc.c: Likewise.
66376         * tests/test-truncf.c: Likewise.
66377         * tests/test-truncl.c: Likewise.
66378         * tests/test-unistd.c: Likewise.
66379         * tests/test-vasnprintf-posix.c: Likewise.
66380         * tests/test-vasnprintf-posix2.c: Likewise.
66381         * tests/test-vasnprintf.c: Likewise.
66382         * tests/test-vasprintf-posix.c: Likewise.
66383         * tests/test-vasprintf.c: Likewise.
66384         * tests/test-verify.c: Likewise.
66385         * tests/test-vfprintf-posix.c: Likewise.
66386         * tests/test-vprintf-posix.c: Likewise.
66387         * tests/test-vsnprintf-posix.c: Likewise.
66388         * tests/test-vsnprintf.c: Likewise.
66389         * tests/test-vsprintf-posix.c: Likewise.
66390         * tests/test-wchar.c: Likewise.
66391         * tests/test-wctype.c: Likewise.
66392         * tests/test-wcwidth.c: Likewise.
66393         * tests/test-xstrtol.c: Likewise.
66394         * tests/test-xvasprintf.c: Likewise.
66395         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
66396         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
66397         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66398         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66399         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66400         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
66401         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66402         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66403         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66404         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
66405         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66406         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66407         * tests/uniname/test-uninames.c: Likewise.
66408         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
66409         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
66410         * tests/unistdio/test-u16-printf1.h: Likewise.
66411         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
66412         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
66413         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
66414         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
66415         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
66416         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
66417         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
66418         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
66419         * tests/unistdio/test-u32-printf1.h: Likewise.
66420         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
66421         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
66422         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
66423         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
66424         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
66425         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
66426         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
66427         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
66428         * tests/unistdio/test-u8-printf1.h: Likewise.
66429         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
66430         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
66431         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
66432         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
66433         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
66434         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
66435         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
66436         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
66437         * tests/unistdio/test-ulc-printf1.h: Likewise.
66438         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
66439         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
66440         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
66441         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
66442         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
66443         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
66444         * tests/uniwidth/test-u16-strwidth.c: Likewise.
66445         * tests/uniwidth/test-u16-width.c: Likewise.
66446         * tests/uniwidth/test-u32-strwidth.c: Likewise.
66447         * tests/uniwidth/test-u32-width.c: Likewise.
66448         * tests/uniwidth/test-u8-strwidth.c: Likewise.
66449         * tests/uniwidth/test-u8-width.c: Likewise.
66450         * tests/uniwidth/test-uc_width.c: Likewise.
66451         * config/srclist-update: Likewise.
66452         (fixlicense): Update to GPLv3+.
66453
66454         Change copyright notice from LGPLv2.1+ to LGPLv3+.
66455         * tests/test-tsearch.c: Change copyright notice.
66456
66457         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66458         * lib/c-strcaseeq.h: Change copyright notice.
66459         * lib/streq.h: Likewise.
66460         * lib/uniconv.h: Likewise.
66461         * lib/uniconv/u-conv-from-enc.h: Likewise.
66462         * lib/uniconv/u-conv-to-enc.h: Likewise.
66463         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66464         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66465         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66466         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66467         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66468         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66469         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66470         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66471         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66472         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66473         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66474         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66475         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66476         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66477         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66478         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66479         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66480         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66481         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66482         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66483         * lib/uniname.h: Likewise.
66484         * lib/uniname/uniname.c: Likewise.
66485         * lib/unistdio.h: Likewise.
66486         * lib/unistdio/u-asnprintf.h: Likewise.
66487         * lib/unistdio/u-asprintf.h: Likewise.
66488         * lib/unistdio/u-printf-args.c: Likewise.
66489         * lib/unistdio/u-printf-args.h: Likewise.
66490         * lib/unistdio/u-printf-parse.h: Likewise.
66491         * lib/unistdio/u-snprintf.h: Likewise.
66492         * lib/unistdio/u-sprintf.h: Likewise.
66493         * lib/unistdio/u-vasprintf.h: Likewise.
66494         * lib/unistdio/u-vsnprintf.h: Likewise.
66495         * lib/unistdio/u-vsprintf.h: Likewise.
66496         * lib/unistdio/u16-asnprintf.c: Likewise.
66497         * lib/unistdio/u16-asprintf.c: Likewise.
66498         * lib/unistdio/u16-printf-parse.c: Likewise.
66499         * lib/unistdio/u16-snprintf.c: Likewise.
66500         * lib/unistdio/u16-sprintf.c: Likewise.
66501         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66502         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66503         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66504         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66505         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66506         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66507         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66508         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66509         * lib/unistdio/u16-vasnprintf.c: Likewise.
66510         * lib/unistdio/u16-vasprintf.c: Likewise.
66511         * lib/unistdio/u16-vsnprintf.c: Likewise.
66512         * lib/unistdio/u16-vsprintf.c: Likewise.
66513         * lib/unistdio/u32-asnprintf.c: Likewise.
66514         * lib/unistdio/u32-asprintf.c: Likewise.
66515         * lib/unistdio/u32-printf-parse.c: Likewise.
66516         * lib/unistdio/u32-snprintf.c: Likewise.
66517         * lib/unistdio/u32-sprintf.c: Likewise.
66518         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66519         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66520         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66521         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66522         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66523         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66524         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66525         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66526         * lib/unistdio/u32-vasnprintf.c: Likewise.
66527         * lib/unistdio/u32-vasprintf.c: Likewise.
66528         * lib/unistdio/u32-vsnprintf.c: Likewise.
66529         * lib/unistdio/u32-vsprintf.c: Likewise.
66530         * lib/unistdio/u8-asnprintf.c: Likewise.
66531         * lib/unistdio/u8-asprintf.c: Likewise.
66532         * lib/unistdio/u8-printf-parse.c: Likewise.
66533         * lib/unistdio/u8-snprintf.c: Likewise.
66534         * lib/unistdio/u8-sprintf.c: Likewise.
66535         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66536         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66537         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66538         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66539         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66540         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66541         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66542         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66543         * lib/unistdio/u8-vasnprintf.c: Likewise.
66544         * lib/unistdio/u8-vasprintf.c: Likewise.
66545         * lib/unistdio/u8-vsnprintf.c: Likewise.
66546         * lib/unistdio/u8-vsprintf.c: Likewise.
66547         * lib/unistdio/ulc-asnprintf.c: Likewise.
66548         * lib/unistdio/ulc-asprintf.c: Likewise.
66549         * lib/unistdio/ulc-printf-parse.c: Likewise.
66550         * lib/unistdio/ulc-snprintf.c: Likewise.
66551         * lib/unistdio/ulc-sprintf.c: Likewise.
66552         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66553         * lib/unistdio/ulc-vasprintf.c: Likewise.
66554         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66555         * lib/unistdio/ulc-vsprintf.c: Likewise.
66556         * lib/unistr.h: Likewise.
66557         * lib/unistr/u-cpy-alloc.h: Likewise.
66558         * lib/unistr/u-cpy.h: Likewise.
66559         * lib/unistr/u-endswith.h: Likewise.
66560         * lib/unistr/u-move.h: Likewise.
66561         * lib/unistr/u-set.h: Likewise.
66562         * lib/unistr/u-startswith.h: Likewise.
66563         * lib/unistr/u-stpcpy.h: Likewise.
66564         * lib/unistr/u-stpncpy.h: Likewise.
66565         * lib/unistr/u-strcat.h: Likewise.
66566         * lib/unistr/u-strcpy.h: Likewise.
66567         * lib/unistr/u-strcspn.h: Likewise.
66568         * lib/unistr/u-strdup.h: Likewise.
66569         * lib/unistr/u-strlen.h: Likewise.
66570         * lib/unistr/u-strncat.h: Likewise.
66571         * lib/unistr/u-strncpy.h: Likewise.
66572         * lib/unistr/u-strnlen.h: Likewise.
66573         * lib/unistr/u-strpbrk.h: Likewise.
66574         * lib/unistr/u-strspn.h: Likewise.
66575         * lib/unistr/u-strstr.h: Likewise.
66576         * lib/unistr/u-strtok.h: Likewise.
66577         * lib/unistr/u16-check.c: Likewise.
66578         * lib/unistr/u16-chr.c: Likewise.
66579         * lib/unistr/u16-cmp.c: Likewise.
66580         * lib/unistr/u16-cpy-alloc.c: Likewise.
66581         * lib/unistr/u16-cpy.c: Likewise.
66582         * lib/unistr/u16-endswith.c: Likewise.
66583         * lib/unistr/u16-mblen.c: Likewise.
66584         * lib/unistr/u16-mbsnlen.c: Likewise.
66585         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66586         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66587         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66588         * lib/unistr/u16-mbtouc.c: Likewise.
66589         * lib/unistr/u16-mbtoucr.c: Likewise.
66590         * lib/unistr/u16-move.c: Likewise.
66591         * lib/unistr/u16-next.c: Likewise.
66592         * lib/unistr/u16-prev.c: Likewise.
66593         * lib/unistr/u16-set.c: Likewise.
66594         * lib/unistr/u16-startswith.c: Likewise.
66595         * lib/unistr/u16-stpcpy.c: Likewise.
66596         * lib/unistr/u16-stpncpy.c: Likewise.
66597         * lib/unistr/u16-strcat.c: Likewise.
66598         * lib/unistr/u16-strchr.c: Likewise.
66599         * lib/unistr/u16-strcmp.c: Likewise.
66600         * lib/unistr/u16-strcpy.c: Likewise.
66601         * lib/unistr/u16-strcspn.c: Likewise.
66602         * lib/unistr/u16-strdup.c: Likewise.
66603         * lib/unistr/u16-strlen.c: Likewise.
66604         * lib/unistr/u16-strmblen.c: Likewise.
66605         * lib/unistr/u16-strmbtouc.c: Likewise.
66606         * lib/unistr/u16-strncat.c: Likewise.
66607         * lib/unistr/u16-strncmp.c: Likewise.
66608         * lib/unistr/u16-strncpy.c: Likewise.
66609         * lib/unistr/u16-strnlen.c: Likewise.
66610         * lib/unistr/u16-strpbrk.c: Likewise.
66611         * lib/unistr/u16-strrchr.c: Likewise.
66612         * lib/unistr/u16-strspn.c: Likewise.
66613         * lib/unistr/u16-strstr.c: Likewise.
66614         * lib/unistr/u16-strtok.c: Likewise.
66615         * lib/unistr/u16-to-u32.c: Likewise.
66616         * lib/unistr/u16-to-u8.c: Likewise.
66617         * lib/unistr/u16-uctomb-aux.c: Likewise.
66618         * lib/unistr/u16-uctomb.c: Likewise.
66619         * lib/unistr/u32-check.c: Likewise.
66620         * lib/unistr/u32-chr.c: Likewise.
66621         * lib/unistr/u32-cmp.c: Likewise.
66622         * lib/unistr/u32-cpy-alloc.c: Likewise.
66623         * lib/unistr/u32-cpy.c: Likewise.
66624         * lib/unistr/u32-endswith.c: Likewise.
66625         * lib/unistr/u32-mblen.c: Likewise.
66626         * lib/unistr/u32-mbsnlen.c: Likewise.
66627         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66628         * lib/unistr/u32-mbtouc.c: Likewise.
66629         * lib/unistr/u32-mbtoucr.c: Likewise.
66630         * lib/unistr/u32-move.c: Likewise.
66631         * lib/unistr/u32-next.c: Likewise.
66632         * lib/unistr/u32-prev.c: Likewise.
66633         * lib/unistr/u32-set.c: Likewise.
66634         * lib/unistr/u32-startswith.c: Likewise.
66635         * lib/unistr/u32-stpcpy.c: Likewise.
66636         * lib/unistr/u32-stpncpy.c: Likewise.
66637         * lib/unistr/u32-strcat.c: Likewise.
66638         * lib/unistr/u32-strchr.c: Likewise.
66639         * lib/unistr/u32-strcmp.c: Likewise.
66640         * lib/unistr/u32-strcpy.c: Likewise.
66641         * lib/unistr/u32-strcspn.c: Likewise.
66642         * lib/unistr/u32-strdup.c: Likewise.
66643         * lib/unistr/u32-strlen.c: Likewise.
66644         * lib/unistr/u32-strmblen.c: Likewise.
66645         * lib/unistr/u32-strmbtouc.c: Likewise.
66646         * lib/unistr/u32-strncat.c: Likewise.
66647         * lib/unistr/u32-strncmp.c: Likewise.
66648         * lib/unistr/u32-strncpy.c: Likewise.
66649         * lib/unistr/u32-strnlen.c: Likewise.
66650         * lib/unistr/u32-strpbrk.c: Likewise.
66651         * lib/unistr/u32-strrchr.c: Likewise.
66652         * lib/unistr/u32-strspn.c: Likewise.
66653         * lib/unistr/u32-strstr.c: Likewise.
66654         * lib/unistr/u32-strtok.c: Likewise.
66655         * lib/unistr/u32-to-u16.c: Likewise.
66656         * lib/unistr/u32-to-u8.c: Likewise.
66657         * lib/unistr/u32-uctomb.c: Likewise.
66658         * lib/unistr/u8-check.c: Likewise.
66659         * lib/unistr/u8-chr.c: Likewise.
66660         * lib/unistr/u8-cmp.c: Likewise.
66661         * lib/unistr/u8-cpy-alloc.c: Likewise.
66662         * lib/unistr/u8-cpy.c: Likewise.
66663         * lib/unistr/u8-endswith.c: Likewise.
66664         * lib/unistr/u8-mblen.c: Likewise.
66665         * lib/unistr/u8-mbsnlen.c: Likewise.
66666         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66667         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66668         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66669         * lib/unistr/u8-mbtouc.c: Likewise.
66670         * lib/unistr/u8-mbtoucr.c: Likewise.
66671         * lib/unistr/u8-move.c: Likewise.
66672         * lib/unistr/u8-next.c: Likewise.
66673         * lib/unistr/u8-prev.c: Likewise.
66674         * lib/unistr/u8-set.c: Likewise.
66675         * lib/unistr/u8-startswith.c: Likewise.
66676         * lib/unistr/u8-stpcpy.c: Likewise.
66677         * lib/unistr/u8-stpncpy.c: Likewise.
66678         * lib/unistr/u8-strcat.c: Likewise.
66679         * lib/unistr/u8-strchr.c: Likewise.
66680         * lib/unistr/u8-strcmp.c: Likewise.
66681         * lib/unistr/u8-strcpy.c: Likewise.
66682         * lib/unistr/u8-strcspn.c: Likewise.
66683         * lib/unistr/u8-strdup.c: Likewise.
66684         * lib/unistr/u8-strlen.c: Likewise.
66685         * lib/unistr/u8-strmblen.c: Likewise.
66686         * lib/unistr/u8-strmbtouc.c: Likewise.
66687         * lib/unistr/u8-strncat.c: Likewise.
66688         * lib/unistr/u8-strncmp.c: Likewise.
66689         * lib/unistr/u8-strncpy.c: Likewise.
66690         * lib/unistr/u8-strnlen.c: Likewise.
66691         * lib/unistr/u8-strpbrk.c: Likewise.
66692         * lib/unistr/u8-strrchr.c: Likewise.
66693         * lib/unistr/u8-strspn.c: Likewise.
66694         * lib/unistr/u8-strstr.c: Likewise.
66695         * lib/unistr/u8-strtok.c: Likewise.
66696         * lib/unistr/u8-to-u16.c: Likewise.
66697         * lib/unistr/u8-to-u32.c: Likewise.
66698         * lib/unistr/u8-uctomb-aux.c: Likewise.
66699         * lib/unistr/u8-uctomb.c: Likewise.
66700         * lib/unitypes.h: Likewise.
66701         * lib/uniwidth.h: Likewise.
66702         * lib/uniwidth/cjk.h: Likewise.
66703         * lib/uniwidth/u16-strwidth.c: Likewise.
66704         * lib/uniwidth/u16-width.c: Likewise.
66705         * lib/uniwidth/u32-strwidth.c: Likewise.
66706         * lib/uniwidth/u32-width.c: Likewise.
66707         * lib/uniwidth/u8-strwidth.c: Likewise.
66708         * lib/uniwidth/u8-width.c: Likewise.
66709         * lib/uniwidth/width.c: Likewise.
66710
66711 2007-10-07  Bruno Haible  <bruno@clisp.org>
66712
66713         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66714         The file is still under LGPL (see modules/inttypes).
66715
66716 2007-10-06  Bruno Haible  <bruno@clisp.org>
66717
66718         * modules/trunc (Dependencies): Add 'extensions'.
66719         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66720         Reported by Ben Pfaff <blp@gnu.org>.
66721
66722 2007-10-06  Bruno Haible  <bruno@clisp.org>
66723
66724         * modules/freopen-tests: New file.
66725         * tests/test-freopen.c: New file.
66726
66727         * modules/fopen-tests: New file.
66728         * tests/test-fopen.c: New file.
66729
66730         * modules/fopen: New file.
66731         * lib/fopen.c: New file.
66732         * m4/fopen.m4: New file.
66733         * modules/freopen: New file.
66734         * lib/freopen.c: New file.
66735         * m4/freopen.m4: New file.
66736         * lib/stdio.in.h (fopen, freopen): New declarations.
66737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66738         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66739         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66740         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66741         * doc/functions/fopen.texi: Mention the 'fopen' module.
66742         * doc/functions/freopen.texi: Mention the 'freopen' module.
66743
66744 2007-10-06  Bruno Haible  <bruno@clisp.org>
66745
66746         * modules/open-tests: New file.
66747         * tests/test-open.c: New file.
66748
66749         * modules/open: New file.
66750         * lib/open.c: New file.
66751         * m4/open.m4: New file.
66752         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66753         lib/open.c does.
66754         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66755         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66756         macros.
66757         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66758         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66759         REPLACE_OPEN.
66760         * doc/functions/open.texi: Mention the 'open' module.
66761
66762 2007-10-04  Bruno Haible  <bruno@clisp.org>
66763
66764         * modules/ceill-tests: New file.
66765         * tests/test-ceill.c: New file.
66766
66767         * modules/ceill: New file.
66768         * lib/ceill.c: Replace entire file.
66769         * m4/ceill.m4: New file.
66770         * lib/math.in.h (ceill): Replace declaration.
66771         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66772         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66773         * doc/functions/ceill.texi: Mention the 'ceill' module.
66774         * modules/mathl (Files): Remove lib/ceill.c.
66775         (Depends-on): Add ceill.
66776
66777 2007-10-04  Bruno Haible  <bruno@clisp.org>
66778
66779         * modules/ceilf-tests: New file.
66780         * tests/test-ceilf.c: New file.
66781
66782         * modules/ceilf: New file.
66783         * lib/ceil.c: New file.
66784         * lib/ceilf.c: New file.
66785         * m4/ceilf.m4: New file.
66786         * lib/math.in.h (ceilf): New declaration.
66787         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66788         HAVE_DECL_CEILF.
66789         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66790         HAVE_DECL_CEILF.
66791         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66792
66793 2007-10-04  Bruno Haible  <bruno@clisp.org>
66794
66795         * modules/floorl-tests: New file.
66796         * tests/test-floorl.c: New file.
66797
66798         * modules/floorl: New file.
66799         * lib/floorl.c: Replace entire file.
66800         * m4/floorl.m4: New file.
66801         * lib/math.in.h (floorl): Replace declaration.
66802         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66803         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66804         * doc/functions/floorl.texi: Mention the 'floorl' module.
66805         * modules/mathl (Files): Remove lib/floorl.c.
66806         (Depends-on): Add floorl.
66807
66808 2007-10-04  Bruno Haible  <bruno@clisp.org>
66809
66810         * modules/floorf-tests: New file.
66811         * tests/test-floorf.c: New file.
66812
66813         * modules/floorf: New file.
66814         * lib/floor.c: New file.
66815         * lib/floorf.c: New file.
66816         * m4/floorf.m4: New file.
66817         * lib/math.in.h (floorf): New declaration.
66818         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66819         HAVE_DECL_FLOORF.
66820         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66821         HAVE_DECL_FLOORF.
66822         * doc/functions/floorf.texi: Mention the 'floorf' module.
66823
66824 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66825             Bruno Haible  <bruno@clisp.org>
66826
66827         Advertise for the Git server instead of the CVS server.
66828         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66829         repository instead of the CVS one.
66830         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66831         about all VCS systems generically.
66832         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66833
66834 2007-10-04  Bruno Haible  <bruno@clisp.org>
66835
66836         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66837         means.
66838         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66839
66840 2007-10-04  Bruno Haible  <bruno@clisp.org>
66841
66842         * modules/truncl-tests: New file.
66843         * tests/test-truncl.c: New file.
66844
66845         * modules/truncl: New file.
66846         * lib/truncl.c: New file.
66847         * m4/truncl.m4: New file.
66848         * lib/math.in.h (truncl): New declaration.
66849         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66850         HAVE_DECL_TRUNCL.
66851         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66852         HAVE_DECL_TRUNCL.
66853         * doc/functions/truncl.texi: Mention the 'truncl' module.
66854
66855 2007-10-04  Bruno Haible  <bruno@clisp.org>
66856
66857         * modules/truncf-tests: New file.
66858         * tests/test-truncf.c: New file.
66859
66860         * modules/truncf: New file.
66861         * lib/trunc.c: Make paramerizable through USE_* macros.
66862         * lib/truncf.c: New file.
66863         * m4/truncf.m4: New file.
66864         * lib/math.in.h (truncf): New declaration.
66865         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66866         HAVE_DECL_TRUNCF.
66867         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66868         HAVE_DECL_TRUNCF.
66869         * doc/functions/truncf.texi: Mention the 'truncf' module.
66870
66871 2007-10-03  Bruno Haible  <bruno@clisp.org>
66872
66873         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66874         augmentation also for tests modules.
66875         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66876         * modules/atexit-tests (Makefile.am): Likewise.
66877         * modules/binary-io-tests (Makefile.am): Likewise.
66878         * modules/c-strcase-tests (Makefile.am): Likewise.
66879         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66880         * modules/canonicalize-tests (Makefile.am): Likewise.
66881         * modules/closein-tests (Makefile.am): Likewise.
66882         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66883         * modules/freadahead-tests (Makefile.am): Likewise.
66884         * modules/fseek-tests (Makefile.am): Likewise.
66885         * modules/fseeko-tests (Makefile.am): Likewise.
66886         * modules/ftell-tests (Makefile.am): Likewise.
66887         * modules/ftello-tests (Makefile.am): Likewise.
66888         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66889         * modules/isnanl-tests (Makefile.am): Likewise.
66890         * modules/lseek-tests (Makefile.am): Likewise.
66891         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66892         * modules/mbscasestr-tests (Makefile.am): Likewise.
66893         * modules/mbschr-tests (Makefile.am): Likewise.
66894         * modules/mbscspn-tests (Makefile.am): Likewise.
66895         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66896         * modules/mbspbrk-tests (Makefile.am): Likewise.
66897         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66898         * modules/mbsrchr-tests (Makefile.am): Likewise.
66899         * modules/mbsspn-tests (Makefile.am): Likewise.
66900         * modules/mbsstr-tests (Makefile.am): Likewise.
66901         * modules/printf-posix-tests (Makefile.am): Likewise.
66902         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66903         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66904         * modules/tsearch-tests (Makefile.am): Likewise.
66905         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66906         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66907         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66908         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66909         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66910         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66911         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66912         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66913         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66914         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66915         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66916         * modules/xstrtol-tests (Makefile.am): Likewise.
66917         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66918         * modules/yesno-tests (Makefile.am): Likewise.
66919
66920 2007-10-03  Bruno Haible  <bruno@clisp.org>
66921
66922         * modules/trunc-tests: New file.
66923         * tests/test-trunc.c: New file.
66924
66925         * modules/trunc: New file.
66926         * lib/trunc.c: New file.
66927         * m4/trunc.m4: New file.
66928         * lib/math.in.h (trunc): New declaration.
66929         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66930         HAVE_DECL_TRUNC.
66931         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66932         HAVE_DECL_TRUNC.
66933         * doc/functions/trunc.texi: Mention the 'trunc' module.
66934
66935 2007-10-03  Bruno Haible  <bruno@clisp.org>
66936
66937         * tests/test-fpending.c: New file, mostly copied
66938         from coreutils/lib/t-fpending.c.
66939         * modules/fpending-tests: New file.
66940
66941 2007-10-03  Bruno Haible  <bruno@clisp.org>
66942
66943         Port the stdio extensions to QNX (untested).
66944         * lib/fseterr.c (fseterr): Add support for QNX.
66945         * lib/fbufmode.c (fbufmode): Likewise.
66946         * lib/freadable.c (freadable): Likewise.
66947         * lib/fwritable.c (fwritable): Likewise.
66948         * lib/freading.c (freading): Likewise.
66949         * lib/fwriting.c (fwriting): Likewise.
66950         * lib/freadahead.c (freadahed): Likewise.
66951         * lib/fpurge.c (fpurge): Likewise.
66952         * lib/fseeko.c (rpl_fseeko): Likewise.
66953
66954 2007-10-03  Bruno Haible  <bruno@clisp.org>
66955             Jim Meyering  <jim@meyering.net>
66956             Eric Blake  <ebb9@byu.net>
66957
66958         * doc/relocatable.texi: Use @command instead of @program.
66959
66960 2007-10-02  Jim Meyering  <jim@meyering.net>
66961
66962         Perform one more "_.h" -> ".in.h" substitution.
66963         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66964         instead of unistd_.h here, too.
66965
66966 2007-10-01  Bruno Haible  <bruno@clisp.org>
66967
66968         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66969         Needed for the alloca-opt module.
66970
66971 2007-09-30  Bruno Haible  <bruno@clisp.org>
66972
66973         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66974         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66975         alloca_.h.
66976         * lib/argz.in.h: Renamed from lib/argz_.h.
66977         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66978         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66979         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66980         byteswap_.h.
66981         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66982         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66983         dirent_.h.
66984         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66985         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66986         fcntl_.h.
66987         * lib/float.in.h: Renamed from lib/float_.h.
66988         * modules/float (Files, Makefile.am): Use float.in.h instead of
66989         float_.h.
66990         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66991         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66992         fnmatch_.h.
66993         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66994         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66995         getopt_.h.
66996         * lib/glob.in.h: Renamed from lib/glob_.h.
66997         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66998         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66999         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
67000         iconv_.h.
67001         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
67002         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
67003         inttypes_.h.
67004         * lib/locale.in.h: Renamed from lib/locale_.h.
67005         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
67006         locale_.h.
67007         * lib/math.in.h: Renamed from lib/math_.h.
67008         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
67009         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
67010         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
67011         of netinet_in_.h. Add dependency.
67012         * lib/poll.in.h: Renamed from lib/poll_.h.
67013         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
67014         * lib/search.in.h: Renamed from lib/search_.h.
67015         * modules/search (Files, Makefile.am): Use search.in.h instead of
67016         search_.h.
67017         * lib/signal.in.h: Renamed from lib/signal_.h.
67018         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
67019         _signal.h.
67020         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
67021         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
67022         stdbool_.h.
67023         * lib/stdint.in.h: Renamed from lib/stdint_.h.
67024         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
67025         stdint_.h.
67026         * lib/stdio.in.h: Renamed from lib/stdio_.h.
67027         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
67028         stdio_.h.
67029         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
67030         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
67031         stdlib_.h.
67032         * lib/string.in.h: Renamed from lib/string_.h.
67033         * modules/string (Files, Makefile.am): Use string.in.h instead of
67034         string_.h.
67035         * doc/gnulib-tool.texi (Initial import): Update.
67036         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
67037         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
67038         of sys_select_.h. Add dependency.
67039         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
67040         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
67041         of sys_socket_.h.
67042         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
67043         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
67044         sys_stat_.h.
67045         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
67046         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
67047         sys_time_.h.
67048         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
67049         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
67050         sysexits_.h.
67051         * lib/time.in.h: Renamed from lib/time_.h.
67052         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
67053         * lib/unistd.in.h: Renamed from lib/unistd_.h.
67054         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
67055         unistd_.h.
67056         * lib/wchar.in.h: Renamed from lib/wchar_.h.
67057         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
67058         wchar_.h.
67059         * lib/wctype.in.h: Renamed from lib/wctype_.h.
67060         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
67061         wctype_.h.
67062         * build-aux/bootstrap (slurp): Update.
67063         * lib/.cppi-disable: Update.
67064
67065 2007-09-30  Bruno Haible  <bruno@clisp.org>
67066
67067         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
67068         Needed on BeOS.
67069
67070 2007-09-30  Bruno Haible  <bruno@clisp.org>
67071
67072         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
67073
67074 2007-09-29  Bruno Haible  <bruno@clisp.org>
67075
67076         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
67077
67078 2007-09-29  Bruno Haible  <bruno@clisp.org>
67079
67080         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
67081         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
67082         * build-aux/install-reloc: Compile also areadlink.c.
67083         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
67084
67085 2007-09-29  Bruno Haible  <bruno@clisp.org>
67086
67087         * gnulib-tool (func_emit_initmacro_done): Indentation.
67088
67089 2007-09-29  Bruno Haible  <bruno@clisp.org>
67090
67091         * README: Add CVS checkout update instructions.
67092         Info from Bob Proulx <bob@proulx.com>.
67093
67094 2007-09-28  Eric Blake  <ebb9@byu.net>
67095
67096         Provide move-if-change.
67097         * build-aux/move-if-change: New file, based on best practice
67098         rather than any canonical upstream location.
67099
67100 2007-09-28  Jim Meyering  <jim@meyering.net>
67101
67102         Fix canonicalize loop-detection corner case.
67103         Do not attempt to stat the symlink values stored via seen_triple.
67104         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
67105         on linux-2.6.18, (but not 2.6.22).
67106         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
67107         triple_compare.  The former compares dev,ino,filename, while the latter
67108         would actually stat dirname(filename) when dev and ino were equal.
67109         * lib/hash-triple.c: Install <string.h>.
67110         (STREQ): Define.
67111         (triple_compare_ino_str): New function.
67112         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
67113
67114 2007-09-28  Eric Blake  <ebb9@byu.net>
67115
67116         Enforce that AC_REPLACE_FUNCS files exist.
67117         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
67118         override check for typos.
67119
67120         Fix test-closein on Solaris 10.
67121         * tests/test-closein.c (main): Don't assume stdin can be inherited
67122         closed on all systems.
67123         * tests/test-closein.sh: Likewise.
67124         Reported by Piotr Tarnowski.
67125
67126 2007-09-28  Jim Meyering  <jim@meyering.net>
67127
67128         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
67129
67130 2007-09-27  Jim Meyering  <jim@meyering.net>
67131
67132         canonicalize: Avoid a false-positive cycle failure.
67133         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
67134         Sort.  Remove cycle-check.
67135         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
67136         not cycle-check.h.
67137         (seen_triple): New function.
67138         (canonicalize_filename_mode): Use it instead of cycle-check.
67139         * tests/test-canonicalize.c: Add a test for this bug.
67140         * tests/test-canonicalize.sh: Set up and run the test.
67141
67142         New module, file-set, from coreutils.
67143         * modules/file-set: Define it.
67144         * lib/file-set.c, lib/file-set.h: Implement.
67145
67146         New module, hash-triple, from coreutils.
67147         * modules/hash-triple: Define it.
67148         * lib/hash-triple.c, lib/hash-triple.h: Implement.
67149
67150 2007-09-25  Eric Blake  <ebb9@byu.net>
67151
67152         Fix strerror on Interix.
67153         * lib/string_.h (strerror): Declare replacement.
67154         * doc/functions/strerror.texi (strerror): Document the Interix
67155         shortcoming.
67156         * modules/string (Makefile.am): Support new hooks.
67157         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
67158         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
67159         gl_FUNC_STRERROR_SEPARATE.
67160         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
67161         * lib/strerror.c (rpl_strerror): Provide replacement.
67162         * modules/strerror (Depends-on): Add string.
67163         (configure.ac): Detect use of module.
67164         * tests/test-strerror.c: New file.
67165         * modules/strerror-tests: New test module.
67166         * modules/argp (Depends-on): Add strerror.
67167         * modules/error (Depends-on): Likewise.
67168         Reported by Martin Koeppe.
67169
67170 2007-09-24  Bruno Haible  <bruno@clisp.org>
67171
67172         * README: Update git instructions.
67173
67174 2007-09-24  Eric Blake  <ebb9@byu.net>
67175
67176         Revert fpending breakage from 2007-09-08.
67177         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
67178         __fpending.c.
67179
67180 2007-09-24  Jim Meyering  <jim@meyering.net>
67181
67182         filenamecat.c: Add a test.
67183         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
67184         showing how the function works when DIR is the empty string.
67185
67186 2007-09-21  Simon Josefsson  <simon@josefsson.org>
67187
67188         * tests/test-canonicalize.sh: Turn on executable bit.
67189
67190 2007-09-19  Eric Blake  <ebb9@byu.net>
67191
67192         * README: Update CVS instructions.
67193
67194 2007-09-18  Bruno Haible  <bruno@clisp.org>
67195
67196         * modules/areadlink: New file.
67197         * lib/areadlink.h (areadlink): New declaration.
67198         * lib/areadlink.c: New file, based on lib/xreadlink.c.
67199
67200 2007-09-17  Jim Meyering  <jim@meyering.net>
67201
67202         * lib/savewd.c (ESTALE) [!defined]: Define.
67203         Reported to be required on Interix by Martin Koeppe.
67204
67205 2007-09-17  Bruno Haible  <bruno@clisp.org>
67206
67207         * gnulib-tool (func_version): Use $version.
67208
67209 2007-09-16  Bruno Haible  <bruno@clisp.org>
67210
67211         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
67212         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
67213         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
67214         Reported by Greg Schafer <gschafer@zip.com.au>.
67215
67216 2007-09-15  Bruno Haible  <bruno@clisp.org>
67217
67218         * gnulib-tool (sed): Try a little harder to make bash understand the
67219         alias.
67220         Reported by Bruce Korb <bruce.korb@gmail.com>.
67221
67222 2007-09-13  Eric Blake  <ebb9@byu.net>
67223
67224         * ChangeLog: Remove conflict markers.
67225
67226 2007-09-13  Simon Josefsson  <simon@josefsson.org>
67227
67228         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
67229         Reported by Bruno Haible <bruno@clisp.org>.
67230
67231 2007-09-12  Bruno Haible  <bruno@clisp.org>
67232
67233         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
67234         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
67235         is not defined.
67236
67237 2007-09-12  Eric Blake  <ebb9@byu.net>
67238
67239         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
67240         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
67241         Autoconf definition.
67242         * modules/euidaccess (Depends-on): Add extensions, for
67243         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
67244         * modules/fnmatch (Depends-on): Likewise.
67245         * modules/getaddrinfo (Depends-on): Likewise.
67246         * modules/getdelim (Depends-on): Likewise.
67247         * modules/getline (Depends-on): Likewise.
67248         * modules/getsubopt (Depends-on): Likewise.
67249         * modules/gettext (Depends-on): Likewise.
67250         * modules/group-member (Depends-on): Likewise.
67251         * modules/mbchar (Depends-on): Likewise.
67252         * modules/memmem (Depends-on): Likewise.
67253         * modules/mempcpy (Depends-on): Likewise.
67254         * modules/memrchr (Depends-on): Likewise.
67255         * modules/pagealign_alloc (Depends-on): Likewise.
67256         * modules/readutmp (Depends-on): Likewise.
67257         * modules/stpcpy (Depends-on): Likewise.
67258         * modules/stpncpy (Depends-on): Likewise.
67259         * modules/strchrnul (Depends-on): Likewise.
67260         * modules/strndup (Depends-on): Likewise.
67261         * modules/strsep (Depends-on): Likewise.
67262         * modules/strverscmp (Depends-on): Likewise.
67263         * modules/vasprintf (Depends-on): Likewise.
67264         * modules/wcwidth (Depends-on): Likewise.
67265         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
67266         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
67267         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
67268         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
67269         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
67270         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67271         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
67272         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67273         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
67274         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
67275         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
67276         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67277         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67278         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
67279         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
67280         * m4/readutmp.m4 (gl_READUTMP): Likewise.
67281         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67282         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67283         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67284         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67285         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67286         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67287         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67288         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
67289         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
67290         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67291         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
67292         so that lock.m4 can be used in gettext without extensions module.
67293
67294 2007-09-11  Bruno Haible  <bruno@clisp.org>
67295
67296         * m4/isc-posix.m4: Remove file.
67297         Suggested by Eric Blake.
67298
67299 2007-09-11  Eric Blake  <ebb9@byu.net>
67300
67301         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
67302
67303 2007-09-10  Bruno Haible  <bruno@clisp.org>
67304
67305         * posix-modules: Fix typo in error message.
67306         Reported by Matt <mkraai@beckman.com>.
67307
67308 2007-09-09  Bruno Haible  <bruno@clisp.org>
67309
67310         * doc/functions/getdelim.texi: Update list of platforms lacking the
67311         function.
67312         * doc/functions/getline.texi: Likewise.
67313
67314 2007-09-09  Jim Meyering  <jim@meyering.net>
67315
67316         * lib/hash.c (hash_initialize): Detect calloc failure.
67317         Reported by Bruno Haible.
67318
67319 2007-09-09  Bruno Haible  <bruno@clisp.org>
67320
67321         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
67322         malloc or realloc fails.
67323
67324 2007-09-09  Bruno Haible  <bruno@clisp.org>
67325
67326         * modules/getcwd (Depends-on): Add malloc-posix.
67327         * modules/glob (Depends-on): Likewise.
67328         * modules/putenv (Depends-on): Likewise.
67329         * modules/strdup (Depends-on): Likewise.
67330         * modules/getdelim (Depends-on): Add realloc-posix.
67331         * modules/read-file (Depends-on): Likewise.
67332
67333 2007-09-09  Bruno Haible  <bruno@clisp.org>
67334
67335         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
67336         (gl_FUNC_MALLOC_POSIX): Require it.
67337         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
67338         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
67339         * modules/realloc (Files): Add m4/malloc.m4.
67340         * modules/calloc (Files): Likewise.
67341
67342 2007-09-09  Bruno Haible  <bruno@clisp.org>
67343
67344         * modules/malloc-posix: New file.
67345         * modules/malloc (Depends-on): Add malloc-posix.
67346         * lib/malloc.c: Include errno.h.
67347         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
67348         and a POSIX-compatible malloc into a single function. Set ENOMEM
67349         when returning NULL.
67350         * m4/malloc.m4: New file.
67351         * doc/functions/malloc.texi: Mention the malloc-posix module.
67352         * lib/stdlib_.h (malloc): New declaration.
67353         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67354         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
67355         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
67356         and HAVE_MALLOC_POSIX.
67357
67358 2007-09-09  Bruno Haible  <bruno@clisp.org>
67359
67360         * modules/realloc-posix: New file.
67361         * modules/realloc (Depends-on): Add realloc-posix.
67362         * lib/realloc.c: Include errno.h.
67363         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
67364         and a POSIX-compatible realloc into a single function. Set ENOMEM
67365         when returning NULL.
67366         * m4/realloc.m4: New file.
67367         * doc/functions/realloc.texi: Mention the realloc-posix module.
67368         * lib/stdlib_.h (realloc): New declaration.
67369         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67370         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
67371         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
67372         and HAVE_REALLOC_POSIX.
67373
67374 2007-09-09  Bruno Haible  <bruno@clisp.org>
67375
67376         * modules/calloc-posix: New file.
67377         * modules/calloc (Depends-on): Add calloc-posix.
67378         * lib/calloc.c: Include errno.h.
67379         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
67380         and a POSIX-compatible calloc into a single function. Set ENOMEM
67381         when returning NULL.
67382         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
67383         * doc/functions/calloc.texi: Mention the calloc-posix module.
67384         * lib/stdlib_.h (calloc): New declaration.
67385         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67386         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
67387         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
67388         and HAVE_CALLOC_POSIX.
67389
67390 2007-09-09  Bruno Haible  <bruno@clisp.org>
67391
67392         Allow for modules to show an arbitrary notice.
67393         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
67394         * gnulib-tool: New option --extract-notice.
67395         (func_usage): Document it.
67396         (sed_extract_prog): Update.
67397         (func_get_notice): New function.
67398         (func_modules_notice): New function.
67399         (func_import, func_create_testdir): Invoke it.
67400         Suggested by Jim Meyering.
67401
67402 2007-09-09  Bruno Haible  <bruno@clisp.org>
67403
67404         * gnulib-tool: New options --verbose, --quiet.
67405         (func_usage): Document them.
67406         (verbose): New variable.
67407         (func_execute_command): New function.
67408         (func_import): Don't show the module list and the file list if
67409         $verbose < 0.
67410         (func_create_testdir): Likewise. Use func_execute_command.
67411         (func_create_megatestdir): Use func_execute_command.
67412
67413 2007-09-08  Bruno Haible  <bruno@clisp.org>
67414
67415         * gnulib-tool (func_import): Prefer rsync over wget when available,
67416         for fetching the PO files.
67417
67418 2007-09-08  Bruno Haible  <bruno@clisp.org>
67419
67420         * posix-modules: New file. Portions copied from gnulib-tool.
67421         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
67422
67423 2007-09-08  Jim Meyering  <jim@meyering.net>
67424
67425         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
67426         * lib/fpending.h: Rename from __fpending.h.
67427         * lib/fpending.c: Rename from __fpending.c.
67428         Include "fpending.h", not "__fpending.h".
67429         * lib/__fpending.h, lib/__fpending.c: Remove files.
67430         * modules/fpending (Files): Reflect new file names.
67431         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
67432
67433 2007-09-08  Bruno Haible  <bruno@clisp.org>
67434
67435         * m4/inttypes-h.m4: Remove stub file.
67436
67437 2007-09-07  Simon Josefsson  <simon@josefsson.org>
67438
67439         * doc/headers/stdint.texi: Discuss #include_next issue.
67440
67441 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67442
67443         * build-aux/bootstrap: Remove obsolete comment about wget --help.
67444
67445 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67446
67447         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
67448         in variable name.
67449
67450 2007-09-03  Jim Meyering  <jim@meyering.net>
67451
67452         New module: git-version-gen.
67453         * modules/git-version-gen: New file.
67454
67455         Import changes from coreutils for bootstrap script.
67456
67457         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67458
67459         bootstrap: uses rsync to download the .po files
67460         * build-aux/bootstrap (po_download_command_format): New global.
67461         (download_po_files): Use rsync.
67462         (update_po_files): Don't remove .po files after download,
67463         so future rsync runs can take advantage of the copies.
67464
67465         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67466
67467         Solve the unnecessary-.po-file-regeneration problem once and for all.
67468         * build-aux/bootstrap (download_po_files): New function, renamed from
67469         get_translations.  Now, downloads, but doesn't update LINGUAS.
67470         (update_po_files): New function.
67471
67472         bootstrap: Ignore more.
67473         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67474         uniwidth to e.g., lib/.gitignore.
67475         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67476
67477         * build-aux/bootstrap: New setting: vc_ignore.
67478         (insert_sorted_if_absent): Create $file if absent.
67479         Adapt to new, possibly empty, list: $vc_ignore.
67480
67481         bootstrap: generate more ignorable names
67482         * build-aux/bootstrap (slurp): When generating ignorable names,
67483         also map .sin to .sed, .gperf to .c, and .y to .c.
67484
67485 2007-09-03  Jim Meyering  <jim@meyering.net>
67486
67487         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67488         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67489
67490 2007-09-02  Bruno Haible  <bruno@clisp.org>
67491
67492         Fix mis-recognition of 'mcs' on QNX 6.
67493         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67494         output contains the string "Mono".
67495         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67496         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67497
67498 2007-09-01  Bruno Haible  <bruno@clisp.org>
67499
67500         Fix collision between uniwidth/* and linebreak modules.
67501         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67502         u32_width): Remove declarations.
67503         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67504         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67505         streq3, streq2, streq1, streq0): Remove functions.
67506         (STREQ): Remove macro.
67507         (is_cjk_encoding): Remove function.
67508         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67509         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67510         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67511         * NEWS: Document the change.
67512
67513 2007-09-01  Bruno Haible  <bruno@clisp.org>
67514
67515         * lib/streq.h: Add double-inclusion guard.
67516
67517 2007-09-01  Karl Berry  <karl@gnu.org>
67518
67519         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67520
67521 2007-08-28  Jim Meyering  <jim@meyering.net>
67522
67523         Rename mreadlink_with_size to areadlink_with_size.
67524         * NEWS: Document the change.
67525         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67526         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67527         * lib/mreadlink.h: Rename this to...
67528         * lib/areadlink.h: ...this.
67529         * modules/mreadlink-with-size: Rename this to...
67530         * modules/areadlink-with-size: ...this.
67531         * lib/canonicalize.c: Reflect the renaming.
67532         * modules/canonicalize: Likewise.
67533
67534 2007-08-26  Bruno Haible  <bruno@clisp.org>
67535
67536         * gnulib-tool (func_import): When deciding which files to remove,
67537         consider also dangling symbolic links.
67538         Reported by Eric Blake.
67539
67540 2007-08-26  Bruno Haible  <bruno@clisp.org>
67541
67542         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67543
67544 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67545
67546         * lib/readline.c: Don't include getline.h, the prototype is now
67547         found in stdio.h.
67548
67549 2007-08-23  Jim Meyering  <jim@meyering.net>
67550
67551         Getdelim touchup.
67552         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67553         around the funlockfile call, since funlockfile never sets errno.
67554         Don't set errno upon failed realloc.
67555
67556 2007-08-22  Eric Blake  <ebb9@byu.net>
67557
67558         Getline touchups.
67559         * lib/getdelim.c (getdelim): Revert regression that required *n to
67560         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67561         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67562         getdelim, rather than whether implementation is missing.
67563         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67564         * lib/stdio_.h (getline): Also declare if replacement is
67565         required.
67566         * doc/functions/getdelim.texi: New file.
67567         * doc/functions/getline.texi: Likewise.
67568         * doc/gnulib.texi (Function Substitutes): Add new files.
67569         Reported by Bruno Haible.
67570
67571 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67572
67573         * users.txt: Add Guile.
67574
67575 2007-08-22  Eric Blake  <ebb9@byu.net>
67576
67577         * tests/test-getdelim.c (main): Use remove, not unlink.
67578         * tests/test-getline.c (main): Likewise.
67579
67580         Move getline and getdelim into stdio.h, per POSIX 200x.
67581         * modules/getline (Files): Remove getline.h.
67582         (Depends-on): Add stdio.
67583         (configure.ac): Add module indicator.
67584         * modules/getdelim (Files): Remove getdelim.h.
67585         (Depends-on): Add stdio.
67586         (configure.ac): Add module indicator.
67587         * modules/stdio (Makefile.am): Work with new indicators.
67588         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67589         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67590         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67591         * lib/getdelim.h: Delete.
67592         * lib/getline.h: Delete.
67593         * lib/stdio_.h (getdelim, getline): Declare.
67594         * modules/getdelim-tests: New module.
67595         * modules/getline-tests: Likewise.
67596         * tests/test-getdelim.c: New file.
67597         * tests/test-getline.c: Likewise.
67598         * NEWS: Document the change.
67599         * lib/getline.c: Update choice of header.
67600         * lib/csharpcomp.c: Likewise.
67601         * lib/getpass.c: Likewise.
67602         * lib/javacomp.c: Likewise.
67603         * lib/javaversion.c: Likewise.
67604         * lib/yesno.c: Likewise.
67605         * lib/getdelim.c: Likewise.
67606         (getdelim): Set errno on failure, and avoid memory leak.
67607
67608 2007-08-19  Bruno Haible  <bruno@clisp.org>
67609
67610         * modules/closein (Depends-on): Add freadahead.
67611         * lib/closein.c: Include freadahead.h.
67612         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67613         is zero.
67614
67615 2007-08-19  Bruno Haible  <bruno@clisp.org>
67616
67617         * modules/freadahead-tests: New file.
67618         * tests/test-freadahead.sh: New file.
67619         * tests/test-freadahead.c: New file.
67620
67621         * modules/freadahead: New file.
67622         * lib/freadahead.h: New file.
67623         * lib/freadahead.c: New file.
67624         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67625         fbufmode, fpurge, freadable, fwritable.
67626
67627 2007-08-19  Eric Blake  <ebb9@byu.net>
67628
67629         Test yesno in combination with closein.
67630         * lib/yesno.c (yesno): Document use of stdin.
67631         * modules/yesno-tests (Files): New module.
67632         * tests/test-yesno.c (main): New file.
67633         * tests/test-yesno.sh: Likewise.
67634
67635 2007-08-19  Bruno Haible  <bruno@clisp.org>
67636
67637         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67638         * lib/fseeko.c (rpl_fseeko): Likewise.
67639         * lib/fseterr.c (fseterr): Likewise.
67640
67641 2007-08-19  Bruno Haible  <bruno@clisp.org>
67642
67643         * tests/test-lseek.c (main): Disable a test for BeOS.
67644         * doc/functions/lseek.texi: Document the BeOS bug.
67645
67646 2007-08-19  Bruno Haible  <bruno@clisp.org>
67647             Eric Blake  <ebb9@byu.net>
67648
67649         * lib/lseek.c: Include <sys/stat.h>.
67650         (rpl_lseek): Add workaround code also for Unix platforms.
67651         Needed for BeOS.
67652         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67653         * doc/functions/lseek.texi: Document BeOS definiency.
67654
67655 2007-08-18  Bruno Haible  <bruno@clisp.org>
67656
67657         * modules/fstrcmp-tests: New file.
67658         * tests/test-fstrcmp.c: New file.
67659
67660 2007-08-18  Bruno Haible  <bruno@clisp.org>
67661
67662         * modules/fstrcmp: New file, from GNU gettext with modifications.
67663         * lib/fstrcmp.h: New file, from GNU gettext.
67664         * lib/fstrcmp.c: New file, from GNU gettext.
67665         * MODULES.html.sh (String handling): Add fstrcmp.
67666
67667 2007-08-18  Bruno Haible  <bruno@clisp.org>
67668
67669         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67670         'bool'.
67671         (diag, compareseq): Remove const from the ctxt argument.
67672         (USE_HEURISTIC): Undefine at the end.
67673
67674 2007-08-18  Jim Meyering  <jim@meyering.net>
67675
67676         New file: lib/idcache.h
67677         * NEWS: Mention the addition.
67678         * modules/idcache (Files): Add lib/idcache.h
67679         * lib/idcache.c: Include "idcache.h".
67680         Don't include <sys/types.h>.
67681         Add a FIXME comment.
67682         Move file-scoped "static" declarations to the top.
67683         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67684
67685 2007-08-17  Bruno Haible  <bruno@clisp.org>
67686         and Paul Eggert  <eggert@cs.ucla.edu>
67687
67688         * MODULES.html.sh: Add diffseq.
67689         * modules/diffseq: New file.
67690         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67691         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67692
67693 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67694
67695         Import changes from coreutils for bootstrap script.
67696
67697         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67698
67699         * build-aux/bootstrap (slurp): Work even in environments where
67700         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67701         current code does not slurp files whose names start with ".", and
67702         this looks like it might be a troublesome area.
67703
67704         2007-07-11  Jim Meyering  <jim@meyering.net>
67705
67706         If there's a GPL vN copyright comment, require that N == 3.
67707
67708         2007-07-08  Jim Meyering  <jim@meyering.net>
67709
67710         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67711         * build-aux/bootstrap (mam_template): Move definition out of loop.
67712
67713         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67714
67715         * build-aux/bootstrap (symlink_to_dir): Rename function from
67716         symlink_to_gnulib.  Add a directory parameter.  Update all
67717         callers.
67718         (cp_mark_as_generated): Also check for -- and link to -- files in
67719         gl/.
67720
67721         2007-07-08  Jim Meyering  <jim@meyering.net>
67722
67723         Adapt to deeper hierarchy in gnulib.
67724         * build-aux/bootstrap (symlink_to_dir): If the destination
67725         directory doesn't exist, create it. This is required at least for
67726         "lib/uniwidth/cjk.h".
67727
67728         2007-05-15  Jim Meyering  <jim@meyering.net>
67729
67730         * build-aux/bootstrap: Now that generated Makefile.am files
67731         are no longer under version control, they must be created at
67732         bootstrap time.
67733
67734 2007-08-14  Ben Pfaff  <blp@gnu.org>
67735
67736         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67737
67738 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67739
67740         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67741         given the changes below.
67742         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67743         even on hosts that have padding bits beyond the supported 64.
67744
67745 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67746
67747         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67748         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67749         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67750         depends on it.
67751         (xstrtol_error): Remove.
67752         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67753         but with a different signature.
67754         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67755         * lib/xstrtol-error.c: Include exitfail.h.
67756         (xstrtol_fatal): New function, with a different signature from the
67757         old xstrtol_error, so that the caller need not worry about passing
67758         in an exit status, or about storage management of the option argument.
67759         (xstrtol_error): Now a static function.  Redo signature to
67760         implement xstrtol_fatal.  Output the correct number of hyphens in
67761         front of the option so that the caller need not worry about
67762         storage management.
67763         (N_): New macro.
67764         (_): Remove; not used now.
67765         * modules/xstrtol: Depend on getopt.
67766         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67767         of old STRTOL_FATAL_ERROR macro.
67768         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67769         of test program.
67770         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67771         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67772
67773 2007-08-08  Eric Blake  <ebb9@byu.net>
67774
67775         * lib/xstrtol-error.c: Add missing include.
67776
67777         Move xstrtol messages into gnulib domain, when --pobase is used.
67778         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67779         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67780         * modules/xstrtol (Files): Distribute new file.
67781         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67782         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67783         * tests/test-xstrtol.c: ...into new file.
67784         * tests/test-xstrtoul.c: Also test xstrtoul.
67785         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67786         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67787         * tests/test-xstrtol.sh: Drive the tests.
67788         * tests/test-xstrtoimax.sh: Likewise.
67789         * tests/test-xstrtoumax.sh: Likewise.
67790         * modules/xstrtol-tests: New module.
67791         * modules/xstrtoimax-tests: Likewise.
67792         * modules/xstrtoumax-tests: Likewise.
67793
67794 2007-08-08  Jim Meyering  <jim@meyering.net>
67795
67796         New function: mfile_name_concat.
67797         * lib/filenamecat.c (mfile_name_concat): New function, just like
67798         file_name_concat, but return NULL upon failure rather than exiting
67799         with a diagnostic.
67800         * lib/filenamecat.h: Declare it.
67801
67802 2007-08-07  Bruno Haible  <bruno@clisp.org>
67803
67804         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67805         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67806         warning from gcc.
67807         Reported by Eric Blake.
67808
67809 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67810
67811         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67812         * modules/crypto/arcfour (License): Likewise.
67813         * modules/crypto/des-tests (License): Likewise.
67814         * modules/crypto/gc-arctwo-tests (License): Likewise.
67815         * modules/crypto/gc-des-tests (License): Likewise.
67816         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67817         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67818         * modules/crypto/gc-md2-tests (License): Likewise.
67819         * modules/crypto/gc-md4-tests (License): Likewise.
67820         * modules/crypto/gc-md5-tests (License): Likewise.
67821         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67822         * modules/crypto/gc-rijndael-tests (License): Likewise.
67823         * modules/crypto/gc-sha1-tests (License): Likewise.
67824         * modules/crypto/gc-tests (License): Likewise.
67825         * modules/crypto/hmac-md5 (License): Likewise.
67826         * modules/crypto/hmac-sha1 (License): Likewise.
67827         * modules/crypto/md2-tests (License): Likewise.
67828         * modules/crypto/md4-tests (License): Likewise.
67829         * modules/crypto/md5 (License): Likewise.
67830         * modules/crypto/rijndael (License): Likewise.
67831         * modules/crypto/sha1 (License): Likewise.
67832         * modules/memxor (License): Likewise.
67833
67834 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67835         and Bruno Haible  <bruno@clisp.org>
67836
67837         * NEWS: Describe interface changes to human, xstrtol.
67838         * lib/human.h: Include <xstrtol.h>.
67839         (human_options): Return enum strtol_error, not int.  Remove
67840         bool arg; take int * instead.
67841         * lib/human.c: Don't include "gettext.h".
67842         (_): Remove; no longer used.
67843         Don't include <xstrtol.h>, since human.h does it.
67844         (human_options): Adjust to abovementioned interface changes.
67845         Do not report error to stderr; that's now the caller's
67846         responsibility.
67847         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67848         interface change.
67849         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67850         Str, Argument_type_string.  All uses changed.  Put " argument"
67851         in diagnostics to make them clearer.  Change wording of suffix
67852         message for clarity.
67853         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67854         Argument_type_string.
67855         (STRTOL_FATAL_WARN): Remove; no longer used.
67856         * modules/human (Depends-on): Remove gettext-h.
67857
67858 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67859
67860         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67861
67862 2007-07-31  Bruno Haible  <bruno@clisp.org>
67863
67864         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67865         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67866         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67867
67868 2007-07-31  Bruno Haible  <bruno@clisp.org>
67869
67870         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67871         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67872
67873 2007-07-30  Bruno Haible  <bruno@clisp.org>
67874
67875         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67876         * modules/c-ctype (License): Likewise.
67877         * modules/c-strcase (License): Likewise.
67878         * modules/check-version (License): Likewise.
67879         * modules/iconv (License): Likewise.
67880         * modules/iconv_open (License): Likewise.
67881         * modules/read-file (License): Likewise.
67882         * modules/striconv (License): Likewise.
67883         * modules/strverscmp (License): Likewise.
67884         * modules/vasprintf (License): Likewise.
67885         * modules/crypto/des (License): Likewise.
67886         * modules/crypto/gc (License): Likewise.
67887         * modules/crypto/gc-arcfour (License): Likewise.
67888         * modules/crypto/gc-arctwo (License): Likewise.
67889         * modules/crypto/gc-des (License): Likewise.
67890         * modules/crypto/gc-hmac-md5 (License): Likewise.
67891         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67892         * modules/crypto/gc-md2 (License): Likewise.
67893         * modules/crypto/gc-md4 (License): Likewise.
67894         * modules/crypto/gc-md5 (License): Likewise.
67895         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67896         * modules/crypto/gc-random (License): Likewise.
67897         * modules/crypto/gc-rijndael (License): Likewise.
67898         * modules/crypto/gc-sha1 (License): Likewise.
67899         * modules/crypto/md2 (License): Likewise.
67900         * modules/crypto/md4 (License): Likewise.
67901
67902 2007-07-30  Jim Meyering  <jim@meyering.net>
67903
67904         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67905         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67906         it has valid stat data.  This bug would cause du not to count the
67907         sizes of inaccessible directories.
67908         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67909         in <http://bugzilla.redhat.com/250077>.
67910
67911 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67912             Bruno Haible  <bruno@clisp.org>
67913
67914         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67915         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67916         #include_next, gives a diagnostic about it, but reports no error in
67917         the exit code.
67918         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67919
67920 2007-07-24  Ben Pfaff  <blp@gnu.org>
67921
67922         Improve name: "count-one-bits" is better than "popcount".
67923         * MODULES.html.sh: Update name.
67924         * lib/popcount.h: Renamed lib/count-one-bits.h.
67925         (popcount): Renamed count_one_bits.
67926         (popcountl): Renamed count_one_bits_l.
67927         (popcountll): Renamed count_one_bits_ll.
67928         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67929         * modules/popcount: Renamed module/count-one-bits.
67930         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67931         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67932
67933 2007-07-23  Ben Pfaff  <blp@gnu.org>
67934
67935         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67936         better code generation, and add U to large constants to avoid
67937         warnings, in non-GCC case.
67938         Suggested by Bruno Haible.
67939
67940 2007-07-23  Ben Pfaff  <blp@gnu.org>
67941
67942         * lib/popcount.h: Use verify_true instead of if...abort.
67943         * modules/popcount: Depend on verify module.
67944         Suggested by Jim Meyering.
67945
67946 2007-07-23  Bruno Haible  <bruno@clisp.org>
67947
67948         * gnulib-tool (func_import): Create a .cvsignore file also when the
67949         directory is not yet in CVS but the toplevel directory is. When
67950         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67951         Reported by Karl Berry.
67952
67953 2007-07-22  Ben Pfaff  <blp@gnu.org>
67954
67955         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67956         case.
67957         Suggested by Eric Blake.
67958
67959 2007-07-22  Ben Pfaff  <blp@gnu.org>
67960
67961         New module: popcount.
67962         * MODULES.html.sh: Add popcount.
67963         * modules/popcount: New file.
67964         * modules/popcount-tests: New file.
67965         * tests/test-popcount.c: New file.
67966         * lib/popcount.h: New file.
67967         * m4/popcount.m4: New file.
67968
67969 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67970
67971         * build-aux/announce-gen: Update to GPLv3.
67972
67973         * build-aux/config.guess: Update from config.
67974
67975 2007-07-21  Bruno Haible  <bruno@clisp.org>
67976
67977         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67978         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67979
67980 2007-07-20  Jim Meyering  <jim@meyering.net>
67981
67982         * check-module: Diagnose a self-dependency.
67983
67984 2007-07-19  Bruno Haible  <bruno@clisp.org>
67985
67986         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67987         empty.
67988         Reported by Eric Blake.
67989
67990 2007-07-18  Bruno Haible  <bruno@clisp.org>
67991
67992         * gnulib-tool: New options --po-base, --po-domain.
67993         (func_usage): Document them.
67994         (pobase, po_domain): New variables.
67995         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67996         DEFAULT_TEXT_DOMAIN.
67997         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67998         (func_import): Consider pobase and po_domain. Create a po/ directory.
67999         (func_create_testdir): Set pobase and po_domain to empty.
68000         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
68001         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
68002
68003 2007-07-18  Bruno Haible  <bruno@clisp.org>
68004
68005         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68006         EXTRA_DIST augmentation for files in build-aux/.
68007
68008 2007-07-16  Bruno Haible  <bruno@clisp.org>
68009
68010         * modules/lseek (License): Use the synonymous term "LGPLv2+".
68011         * modules/getdelim (License): Likewise.
68012
68013 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68014
68015         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
68016         * modules/d-type (License): Likewise.
68017         * modules/extensions (License): Likewise.
68018         * modules/fnmatch (License): Likewise.
68019         * modules/fseeko (License): Likewise.
68020         * modules/getaddrinfo (License): Likewise.
68021         * modules/getline (License): Likewise.
68022         * modules/getlogin_r (License): Likewise.
68023         * modules/getpass (License): Likewise.
68024         * modules/gettimeofday (License): Likewise.
68025         * modules/glob (License): Likewise.
68026         * modules/inet_ntop (License): Likewise.
68027         * modules/malloc (License): Likewise.
68028         * modules/malloca (License): Likewise.
68029         * modules/memmem (License): Likewise.
68030         * modules/mempcpy (License): Likewise.
68031         * modules/memset (License): Likewise.
68032         * modules/minmax (License): Likewise.
68033         * modules/mktime (License): Likewise.
68034         * modules/netinet_in (License): Likewise.
68035         * modules/pathmax (License): Likewise.
68036         * modules/poll (License): Likewise.
68037         * modules/regex (License): Likewise.
68038         * modules/snprintf (License): Likewise.
68039         * modules/stdbool (License): Likewise.
68040         * modules/stdint (License): Likewise.
68041         * modules/stdio (License): Likewise.
68042         * modules/strcase (License): Likewise.
68043         * modules/strcasestr (License): Likewise.
68044         * modules/strdup (License): Likewise.
68045         * modules/string (License): Likewise.
68046         * modules/strndup (License): Likewise.
68047         * modules/strnlen (License): Likewise.
68048         * modules/strpbrk (License): Likewise.
68049         * modules/strptime (License): Likewise.
68050         * modules/strsep (License): Likewise.
68051         * modules/sys_select (License): Likewise.
68052         * modules/sys_socket (License): Likewise.
68053         * modules/sys_stat (License): Likewise.
68054         * modules/sys_time (License): Likewise.
68055         * modules/time (License): Likewise.
68056         * modules/time_r (License): Likewise.
68057         * modules/timegm (License): Likewise.
68058         * modules/unistd (License): Likewise.
68059         * modules/vsnprintf (License): Likewise.
68060         * modules/wctype (License): Likewise.
68061
68062 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68063
68064         * modules/argz (License): LGPLv2+.
68065
68066 2007-07-15  Karl Berry  <karl@gnu.org>
68067
68068         * doc/gnulib.texi: revise node structure per new fdl.texi.
68069
68070 2007-07-14  Bruno Haible  <bruno@clisp.org>
68071
68072         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
68073         the output file.
68074         * lib/uniname/uninames.h: Regenerated.
68075
68076 2007-07-14  Karl Berry  <karl@gnu.org>
68077
68078         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
68079         omitting sectioning and index commands.
68080
68081 2007-07-13  Bruno Haible  <bruno@clisp.org>
68082
68083         New gnulib-tool option --more-symlinks.
68084         * gnulib-tool (func_usage): Document --more-symlinks.
68085         (do_copyrights): New variable.
68086         Recognize option --more-symlinks.
68087         (func_import): Don't add a copyright notice transform to
68088         sed_transform_lib_file if do_copyrights is empty.
68089
68090 2007-07-13  Bruno Haible  <bruno@clisp.org>
68091
68092         * lib/vasnprintf.c (decimal_point_char): Define also if
68093         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
68094         && !NEED_PRINTF_DIRECTIVE_A.
68095         Reported by Clemens Koller <clemens.koller@anagramm.de> via
68096         Gary V. Vaughan <gary@gnu.org>.
68097
68098 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
68099
68100         * lib/inttypes_.h: Undo previous change, since it was fixed
68101         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
68102
68103 2007-07-13  Bruno Haible  <bruno@clisp.org>
68104
68105         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
68106         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
68107
68108 2007-07-13  Jim Meyering  <jim@meyering.net>
68109
68110         df: Don't fail for Tru64's "file-on-file mount".
68111         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
68112         so we fall through and use statfs instead.  Details here:
68113         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
68114         Reported by Albert Chin.
68115
68116 2007-07-13  Bruno Haible  <bruno@clisp.org>
68117
68118         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
68119         * modules/configmake (License): Likewise.
68120         * modules/gettext (License): Likewise.
68121         * modules/gettext-h (License): Likewise.
68122         * modules/include_next (License): Likewise.
68123         * modules/link-warning (License): Likewise.
68124         * modules/localcharset (License): Likewise.
68125         * modules/localename (License): Likewise.
68126         * modules/lock (License): Likewise.
68127         * modules/relocatable-lib-lgpl (License): Likewise.
68128         * modules/size_max (License): Likewise.
68129         * modules/vasnprintf (License): Likewise.
68130         * modules/wchar (License): Likewise.
68131         * modules/xsize (License): Likewise.
68132
68133 2007-07-13  Bruno Haible  <bruno@clisp.org>
68134
68135         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
68136         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
68137
68138 2007-07-12  Bruno Haible  <bruno@clisp.org>
68139
68140         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
68141         in the modules files.
68142
68143 2007-07-11  Karl Berry  <karl@gnu.org>
68144
68145         * MODULES.html.sh (func_module): use
68146          sed -e '\|^'"${includefile}"'$|d'
68147          instead of /.../d, to avoid errors on $includefile's containing /.
68148
68149 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68150
68151         * gnulib-tool (func_import): Avoid duplication of --avoid
68152         statements
68153         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
68154         names to `_' in variable names.
68155
68156 2007-07-10  Eric Blake  <ebb9@byu.net>
68157
68158         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
68159         * NEWS: Document this change.
68160
68161 2007-07-08  Bruno Haible  <bruno@clisp.org>
68162
68163         Update to Unicode 5.0.
68164         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
68165         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
68166         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
68167         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
68168         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
68169         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
68170         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
68171         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
68172         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
68173         U+10A3F, U+1D242..U+1D244.
68174         (nonspacing_table_ind): Update.
68175         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
68176         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
68177
68178 2007-07-08  Bruno Haible  <bruno@clisp.org>
68179
68180         Update to Unicode 5.0.
68181         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
68182         code transform. Extend the name index field of unicode_name_to_code and
68183         unicode_code_to_name from 16 to 24 bits.
68184         * lib/uniname/uniname.c (unicode_character_name,
68185         unicode_name_character): Add the range 0x12xxx to the code transform.
68186         * lib/uniname/uninames.h: Regenerated.
68187         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
68188
68189 2007-07-07  Bruno Haible  <bruno@clisp.org>
68190
68191         * modules/wcwidth-tests: New file.
68192         * tests/test-wcwidth.c: New file.
68193
68194         Work around MacOS X wcwidth() bug.
68195         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
68196         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
68197         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
68198         original wcwidth in non-UTF-8 locales.
68199         * modules/wcwidth (Depends-on): Add localcharset, streq,
68200         uniwidth/width.
68201         * doc/functions/wcwidth.texi: Update.
68202
68203 2007-07-07  Bruno Haible  <bruno@clisp.org>
68204
68205         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
68206         (wcwidth): New declaration.
68207         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
68208         macros.
68209         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
68210         here. Prepare for creating <wchar.h> unconditionally.
68211         * modules/wchar (Depends-on): Add link-warning.
68212         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
68213         REPLACE_WCWIDTH, and GL_LINK_WARNING.
68214         * lib/wcwidth.h: Remove file.
68215         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
68216         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
68217         * modules/wcwidth (Files): Remove lib/wcwidth.h.
68218         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
68219         (Include): Replace wcwidth.h with <wchar.h>.
68220         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
68221         * lib/mbchar.h: Don't include wcwidth.h.
68222         * lib/mbswidth.c: Likewise.
68223         * NEWS: Mention the change.
68224
68225 2007-07-07  Bruno Haible  <bruno@clisp.org>
68226
68227         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
68228         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
68229         definition with an external declaration.
68230         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
68231         defined as a function. Remove AC_C_INLINE requirement.
68232         * modules/wcwidth (Files): Add lib/wcwidth.c.
68233         (Makefile.am): Remove redundant statement.
68234
68235 2007-07-07  Bruno Haible  <bruno@clisp.org>
68236
68237         * MODULES.html.sh (Unicode string functions): Add the new modules.
68238
68239         * tests/uniwidth/test-u32-strwidth.c: New file.
68240         * modules/uniwidth/u32-strwidth-tests: New file.
68241
68242         * lib/uniwidth/u32-strwidth.c: New file.
68243         * modules/uniwidth/u32-strwidth: New file.
68244
68245         * tests/uniwidth/test-u16-strwidth.c: New file.
68246         * modules/uniwidth/u16-strwidth-tests: New file.
68247
68248         * lib/uniwidth/u16-strwidth.c: New file.
68249         * modules/uniwidth/u16-strwidth: New file.
68250
68251         * tests/uniwidth/test-u8-strwidth.c: New file.
68252         * modules/uniwidth/u8-strwidth-tests: New file.
68253
68254         * lib/uniwidth/u8-strwidth.c: New file.
68255         * modules/uniwidth/u8-strwidth: New file.
68256
68257         * tests/uniwidth/test-u32-width.c: New file.
68258         * modules/uniwidth/u32-width-tests: New file.
68259
68260         * lib/uniwidth/u32-width.c: New file.
68261         * modules/uniwidth/u32-width: New file.
68262
68263         * tests/uniwidth/test-u16-width.c: New file.
68264         * modules/uniwidth/u16-width-tests: New file.
68265
68266         * lib/uniwidth/u16-width.c: New file.
68267         * modules/uniwidth/u16-width: New file.
68268
68269         * tests/uniwidth/test-u8-width.c: New file.
68270         * modules/uniwidth/u8-width-tests: New file.
68271
68272         * lib/uniwidth/u8-width.c: New file.
68273         * modules/uniwidth/u8-width: New file.
68274
68275         * tests/uniwidth/test-uc_width.c: New file.
68276         * modules/uniwidth/width-tests: New file.
68277
68278         * lib/uniwidth/width.c: New file, from GNU libiconv.
68279         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
68280         * modules/uniwidth/width: New file.
68281
68282         * lib/uniwidth.h: New file, from GNU libiconv.
68283         * modules/uniwidth/base: New file.
68284
68285 2007-07-07  Bruno Haible  <bruno@clisp.org>
68286
68287         * lib/uniname.h: New file, from GNU gettext.
68288         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
68289         * lib/uniname/uninames.h: New file, from GNU gettext.
68290         * lib/uniname/uniname.c: New file, from GNU gettext.
68291         * tests/uniname/test-uninames.sh: New file.
68292         * tests/uniname/test-uninames.c: New file, from GNU gettext.
68293         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
68294         * modules/uniname/base: New file.
68295         * modules/uniname/uniname: New file.
68296         * modules/uniname/uniname-tests: New file.
68297         * MODULES.html.sh (Unicode string functions): Add the new modules.
68298
68299 2007-07-06  Bruno Haible  <bruno@clisp.org>
68300
68301         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
68302
68303 2007-07-06  Bruno Haible  <bruno@clisp.org>
68304
68305         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
68306         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
68307         includes <cygwin/sys_time.h> which includes <sys/select.h> which
68308         include <sys/time.h>.
68309         Reported by Eric Blake.
68310
68311 2007-07-06  Eric Blake  <ebb9@byu.net>
68312
68313         Fix testing canonicalize on cygwin.
68314         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68315         Revert patch from 2007-06-19.
68316         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
68317         canonicalize module is also in use.
68318         * tests/test-canonicalize.c: New file.
68319         * tests/test-canonicalize.sh: Likewise.
68320         * modules/canonicalize-tests: Likewise.
68321
68322 2007-07-06  Jim Meyering  <jim@meyering.net>
68323
68324         * lib/getugroups.c (getugroups): Detect getgrent failure.
68325         Adjust comment to reflect reality: this function may return -1.
68326
68327 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
68328
68329         * build-aux/bootstrap (TP_URL,get_translations): Update to use
68330         the new TP address.
68331         (usage): Fix typo
68332         (gnulib_mk): New variable.
68333
68334 2007-07-05  Jim Meyering  <jim@meyering.net>
68335
68336         Don't let endgrent clobber errno, no matter how improbable.
68337         * lib/getugroups.c (getugroups): Save and restore errno around
68338         endgrent call.
68339
68340         Close the group DB even when failing with 2^31 or more members.
68341         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
68342
68343 2007-07-04  Jim Meyering  <jim@meyering.net>
68344
68345         * lib/getugroups.h: New file.
68346         * lib/getugroups.c: Include "getugroups.h".
68347         Remove uses of "register" keyword.
68348         Move local variable, "cp", down into scope where used.
68349         Give "username" parameter the "const" attribute.
68350         * modules/getugroups (Files): Add lib/getugroups.h
68351
68352 2007-07-04  Karl Berry  <karl@gnu.org>
68353
68354         * MODULES.html.sh (func_all_modules): Complete rename of
68355         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
68356
68357 2007-07-02  Bruno Haible  <bruno@clisp.org>
68358
68359         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
68360         mode, when inttypes.h comes from gnulib.
68361         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68362
68363 2007-07-02  Simon Josefsson  <simon@josefsson.org>
68364
68365         * NEWS: Mention lgpl module name change.
68366
68367         * modules/lgpl-2.1: Renamed from lgpl.
68368
68369         * NEWS: Mention gpl module name change.
68370
68371         * modules/gpl-3.0: New file, based on gpl-2.0.
68372
68373         * modules/gpl-2.0: Renamed from gpl.
68374
68375         * modules/gpl: Fix filename, doc/gpl.texi is now found at
68376         doc/gpl-2.0.texi.
68377
68378 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68379
68380         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
68381         #define __STDC_LIMIT_MACROS temporarily while including
68382         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
68383         Problem reported by Joel E. Denny in
68384         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
68385
68386 2007-07-01  Bruno Haible  <bruno@clisp.org>
68387
68388         * lib/unistdio.h: New file.
68389         * lib/unistdio/u-asnprintf.h: New file.
68390         * lib/unistdio/u-asprintf.h: New file.
68391         * lib/unistdio/u-printf-args.c: New file.
68392         * lib/unistdio/u-printf-args.h: New file.
68393         * lib/unistdio/u-printf-parse.h: New file.
68394         * lib/unistdio/u-snprintf.h: New file.
68395         * lib/unistdio/u-sprintf.h: New file.
68396         * lib/unistdio/u-vasprintf.h: New file.
68397         * lib/unistdio/u-vsnprintf.h: New file.
68398         * lib/unistdio/u-vsprintf.h: New file.
68399         * lib/unistdio/ulc-asnprintf.c: New file.
68400         * lib/unistdio/ulc-asprintf.c: New file.
68401         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
68402         * lib/unistdio/ulc-printf-parse.c: New file.
68403         * lib/unistdio/ulc-snprintf.c: New file.
68404         * lib/unistdio/ulc-sprintf.c: New file.
68405         * lib/unistdio/ulc-vasnprintf.c: New file.
68406         * lib/unistdio/ulc-vasprintf.c: New file.
68407         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
68408         * lib/unistdio/ulc-vsnprintf.c: New file.
68409         * lib/unistdio/ulc-vsprintf.c: New file.
68410         * lib/unistdio/u8-asnprintf.c: New file.
68411         * lib/unistdio/u8-asprintf.c: New file.
68412         * lib/unistdio/u8-printf-parse.c: New file.
68413         * lib/unistdio/u8-snprintf.c: New file.
68414         * lib/unistdio/u8-sprintf.c: New file.
68415         * lib/unistdio/u8-vasnprintf.c: New file.
68416         * lib/unistdio/u8-vasprintf.c: New file.
68417         * lib/unistdio/u8-vsnprintf.c: New file.
68418         * lib/unistdio/u8-vsprintf.c: New file.
68419         * lib/unistdio/u8-u8-asnprintf.c: New file.
68420         * lib/unistdio/u8-u8-asprintf.c: New file.
68421         * lib/unistdio/u8-u8-snprintf.c: New file.
68422         * lib/unistdio/u8-u8-sprintf.c: New file.
68423         * lib/unistdio/u8-u8-vasnprintf.c: New file.
68424         * lib/unistdio/u8-u8-vasprintf.c: New file.
68425         * lib/unistdio/u8-u8-vsnprintf.c: New file.
68426         * lib/unistdio/u8-u8-vsprintf.c: New file.
68427         * lib/unistdio/u16-asnprintf.c: New file.
68428         * lib/unistdio/u16-asprintf.c: New file.
68429         * lib/unistdio/u16-printf-parse.c: New file.
68430         * lib/unistdio/u16-snprintf.c: New file.
68431         * lib/unistdio/u16-sprintf.c: New file.
68432         * lib/unistdio/u16-vasnprintf.c: New file.
68433         * lib/unistdio/u16-vasprintf.c: New file.
68434         * lib/unistdio/u16-vsnprintf.c: New file.
68435         * lib/unistdio/u16-vsprintf.c: New file.
68436         * lib/unistdio/u16-u16-asnprintf.c: New file.
68437         * lib/unistdio/u16-u16-asprintf.c: New file.
68438         * lib/unistdio/u16-u16-snprintf.c: New file.
68439         * lib/unistdio/u16-u16-sprintf.c: New file.
68440         * lib/unistdio/u16-u16-vasnprintf.c: New file.
68441         * lib/unistdio/u16-u16-vasprintf.c: New file.
68442         * lib/unistdio/u16-u16-vsnprintf.c: New file.
68443         * lib/unistdio/u16-u16-vsprintf.c: New file.
68444         * lib/unistdio/u32-asnprintf.c: New file.
68445         * lib/unistdio/u32-asprintf.c: New file.
68446         * lib/unistdio/u32-printf-parse.c: New file.
68447         * lib/unistdio/u32-snprintf.c: New file.
68448         * lib/unistdio/u32-sprintf.c: New file.
68449         * lib/unistdio/u32-vasnprintf.c: New file.
68450         * lib/unistdio/u32-vasprintf.c: New file.
68451         * lib/unistdio/u32-vsnprintf.c: New file.
68452         * lib/unistdio/u32-vsprintf.c: New file.
68453         * lib/unistdio/u32-u32-asnprintf.c: New file.
68454         * lib/unistdio/u32-u32-asprintf.c: New file.
68455         * lib/unistdio/u32-u32-snprintf.c: New file.
68456         * lib/unistdio/u32-u32-sprintf.c: New file.
68457         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68458         * lib/unistdio/u32-u32-vasprintf.c: New file.
68459         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68460         * lib/unistdio/u32-u32-vsprintf.c: New file.
68461         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68462         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68463         * tests/unistdio/test-ulc-printf1.h: New file.
68464         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68465         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68466         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68467         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68468         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68469         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68470         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68471         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68472         * tests/unistdio/test-u8-asnprintf1.c: New file.
68473         * tests/unistdio/test-u8-asnprintf1.h: New file.
68474         * tests/unistdio/test-u8-printf1.h: New file.
68475         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68476         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68477         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68478         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68479         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68480         * tests/unistdio/test-u8-vasprintf1.c: New file.
68481         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68482         * tests/unistdio/test-u8-vsprintf1.c: New file.
68483         * tests/unistdio/test-u16-asnprintf1.c: New file.
68484         * tests/unistdio/test-u16-asnprintf1.h: New file.
68485         * tests/unistdio/test-u16-printf1.h: New file.
68486         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68487         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68488         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68489         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68490         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68491         * tests/unistdio/test-u16-vasprintf1.c: New file.
68492         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68493         * tests/unistdio/test-u16-vsprintf1.c: New file.
68494         * tests/unistdio/test-u32-asnprintf1.c: New file.
68495         * tests/unistdio/test-u32-asnprintf1.h: New file.
68496         * tests/unistdio/test-u32-printf1.h: New file.
68497         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68498         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68499         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68500         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68501         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68502         * tests/unistdio/test-u32-vasprintf1.c: New file.
68503         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68504         * tests/unistdio/test-u32-vsprintf1.c: New file.
68505         * modules/unistdio/base: New file.
68506         * modules/unistdio/u-printf-args: New file.
68507         * modules/unistdio/ulc-asnprintf: New file.
68508         * modules/unistdio/ulc-asprintf: New file.
68509         * modules/unistdio/ulc-fprintf: New file.
68510         * modules/unistdio/ulc-printf-parse: New file.
68511         * modules/unistdio/ulc-snprintf: New file.
68512         * modules/unistdio/ulc-sprintf: New file.
68513         * modules/unistdio/ulc-vasnprintf: New file.
68514         * modules/unistdio/ulc-vasprintf: New file.
68515         * modules/unistdio/ulc-vfprintf: New file.
68516         * modules/unistdio/ulc-vsnprintf: New file.
68517         * modules/unistdio/ulc-vsprintf: New file.
68518         * modules/unistdio/u8-asnprintf: New file.
68519         * modules/unistdio/u8-asprintf: New file.
68520         * modules/unistdio/u8-printf-parse: New file.
68521         * modules/unistdio/u8-snprintf: New file.
68522         * modules/unistdio/u8-sprintf: New file.
68523         * modules/unistdio/u8-vasnprintf: New file.
68524         * modules/unistdio/u8-vasprintf: New file.
68525         * modules/unistdio/u8-vsnprintf: New file.
68526         * modules/unistdio/u8-vsprintf: New file.
68527         * modules/unistdio/u8-u8-asnprintf: New file.
68528         * modules/unistdio/u8-u8-asprintf: New file.
68529         * modules/unistdio/u8-u8-snprintf: New file.
68530         * modules/unistdio/u8-u8-sprintf: New file.
68531         * modules/unistdio/u8-u8-vasnprintf: New file.
68532         * modules/unistdio/u8-u8-vasprintf: New file.
68533         * modules/unistdio/u8-u8-vsnprintf: New file.
68534         * modules/unistdio/u8-u8-vsprintf: New file.
68535         * modules/unistdio/u16-asnprintf: New file.
68536         * modules/unistdio/u16-asprintf: New file.
68537         * modules/unistdio/u16-printf-parse: New file.
68538         * modules/unistdio/u16-snprintf: New file.
68539         * modules/unistdio/u16-sprintf: New file.
68540         * modules/unistdio/u16-vasnprintf: New file.
68541         * modules/unistdio/u16-vasprintf: New file.
68542         * modules/unistdio/u16-vsnprintf: New file.
68543         * modules/unistdio/u16-vsprintf: New file.
68544         * modules/unistdio/u16-u16-asnprintf: New file.
68545         * modules/unistdio/u16-u16-asprintf: New file.
68546         * modules/unistdio/u16-u16-snprintf: New file.
68547         * modules/unistdio/u16-u16-sprintf: New file.
68548         * modules/unistdio/u16-u16-vasnprintf: New file.
68549         * modules/unistdio/u16-u16-vasprintf: New file.
68550         * modules/unistdio/u16-u16-vsnprintf: New file.
68551         * modules/unistdio/u16-u16-vsprintf: New file.
68552         * modules/unistdio/u32-asnprintf: New file.
68553         * modules/unistdio/u32-asprintf: New file.
68554         * modules/unistdio/u32-printf-parse: New file.
68555         * modules/unistdio/u32-snprintf: New file.
68556         * modules/unistdio/u32-sprintf: New file.
68557         * modules/unistdio/u32-vasnprintf: New file.
68558         * modules/unistdio/u32-vasprintf: New file.
68559         * modules/unistdio/u32-vsnprintf: New file.
68560         * modules/unistdio/u32-vsprintf: New file.
68561         * modules/unistdio/u32-u32-asnprintf: New file.
68562         * modules/unistdio/u32-u32-asprintf: New file.
68563         * modules/unistdio/u32-u32-snprintf: New file.
68564         * modules/unistdio/u32-u32-sprintf: New file.
68565         * modules/unistdio/u32-u32-vasnprintf: New file.
68566         * modules/unistdio/u32-u32-vasprintf: New file.
68567         * modules/unistdio/u32-u32-vsnprintf: New file.
68568         * modules/unistdio/u32-u32-vsprintf: New file.
68569         * modules/unistdio/ulc-asnprintf-tests: New file.
68570         * modules/unistdio/ulc-vasnprintf-tests: New file.
68571         * modules/unistdio/ulc-vasprintf-tests: New file.
68572         * modules/unistdio/ulc-vsnprintf-tests: New file.
68573         * modules/unistdio/ulc-vsprintf-tests: New file.
68574         * modules/unistdio/u8-asnprintf-tests: New file.
68575         * modules/unistdio/u8-vasnprintf-tests: New file.
68576         * modules/unistdio/u8-vasprintf-tests: New file.
68577         * modules/unistdio/u8-vsnprintf-tests: New file.
68578         * modules/unistdio/u8-vsprintf-tests: New file.
68579         * modules/unistdio/u16-asnprintf-tests: New file.
68580         * modules/unistdio/u16-vasnprintf-tests: New file.
68581         * modules/unistdio/u16-vasprintf-tests: New file.
68582         * modules/unistdio/u16-vsnprintf-tests: New file.
68583         * modules/unistdio/u16-vsprintf-tests: New file.
68584         * modules/unistdio/u32-asnprintf-tests: New file.
68585         * modules/unistdio/u32-vasnprintf-tests: New file.
68586         * modules/unistdio/u32-vasprintf-tests: New file.
68587         * modules/unistdio/u32-vsnprintf-tests: New file.
68588         * modules/unistdio/u32-vsprintf-tests: New file.
68589         * MODULES.html.sh (Unicode string functions): Add the new modules.
68590
68591 2007-07-01  Bruno Haible  <bruno@clisp.org>
68592
68593         * lib/sprintf.c (sprintf): Limit the available length estimation,
68594         to avoid address wraparound.
68595         * lib/vsprintf.c (vsprintf): Likewise.
68596         * modules/sprintf-posix (Dependencies): Add stdint.
68597         * modules/vsprintf-posix (Dependencies): Likewise.
68598
68599 2007-07-01  Bruno Haible  <bruno@clisp.org>
68600
68601         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68602         Windows PATH as well. Conservative double-quoting. Comments.
68603
68604 2007-07-01  Bruno Haible  <bruno@clisp.org>
68605             Eric Blake  <ebb9@byu.net>
68606             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68607
68608         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68609         empty components in $PATH, denoting '.'.
68610
68611 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68612
68613         * gnulib-tool: Fix indentation.
68614         (func_create_megatestdir): Likewise.
68615         Report by Bruno Haible.
68616
68617 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68618
68619         Sync from Automake.
68620         * build-aux/gnupload: Fix shell portability issues with for loops.
68621         Report by Karl Berry.
68622
68623 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68624
68625         * build-aux/maint.mk (POURL): Use translationproject.org.
68626
68627 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68628             Bruno Haible  <bruno@clisp.org>
68629
68630         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68631         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68632         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68633         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68634         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68635
68636 2007-06-27  Bruno Haible  <bruno@clisp.org>
68637
68638         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68639         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68640
68641 2007-06-26  Karl Berry  <karl@gnu.org>
68642
68643         * MODULES.html.sh: remove xreadlink-with-size.
68644
68645 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68646
68647         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68648         method that I hope also handles the double-include problem noted
68649         by Bruno Haible in
68650         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68651
68652 2007-06-23  Bruno Haible  <bruno@clisp.org>
68653
68654         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68655         Don't let the 'mostlyclean' target fail if the last subdirectory could
68656         not be removed.
68657         Reported by Karl Berry.
68658
68659 2007-06-23  Bruno Haible  <bruno@clisp.org>
68660
68661         * gnulib-tool (echo): Add a speedier workaround for ksh.
68662         * tests/test-echo.sh: Likewise.
68663
68664 2007-06-23  Bruno Haible  <bruno@clisp.org>
68665
68666         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68667         * tests/test-echo.sh: Likewise.
68668
68669 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68670
68671         * gnulib-tool (IFS): Initialize early, so we don't set it to
68672         empty later.
68673         (self_abspathname): Rewrite algorithm to set it, reindent.
68674         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68675         (func_create_megatestdir): Merge some sed scripts.
68676
68677 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68678
68679         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68680         exposed by Sun Studio 11 cc on Solaris 8.
68681
68682 2007-06-22  Bruno Haible  <bruno@clisp.org>
68683
68684         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68685         backslashes.
68686         * tests/test-echo.sh: New file.
68687
68688 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68689
68690         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68691         simplify `sed_replace_build_aux' scripts, they are portable but
68692         echoing them with `echo' is not.
68693         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68694
68695 2007-06-21  Karl Berry  <karl@gnu.org>
68696
68697         * config/srclist.txt: guess we can't handle the licenses via
68698         srclist at the moment.
68699
68700 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68701
68702         * MODULES.html.sh: Add include_next.
68703         * modules/include_next: New file.
68704
68705 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68706
68707         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68708         INCLUDE_NEXT.
68709         (gl_CHECK_NEXT_HEADERS): New macro.
68710         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68711         the obsolescent gl_ABSOLUTE_HEADER.
68712         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68713         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68714         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68715         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68716         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68717         * m4/math_h.m4 (gl_MATH_H): Likewise.
68718         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68719         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68720         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68721         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68722         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68723         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68724         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68725         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68726         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68727         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68728         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68729         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68730         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68731         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68732         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68733         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68734         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68735         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68736         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68737         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68738         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68739         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68740         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68741         * lib/float_.h: Likewise.
68742         * lib/inttypes_.h: Likewise.
68743         * lib/math_.h: Likewise.
68744         * lib/search_.h: Likewise.
68745         * lib/signal_.h: Likewise.
68746         * lib/stdint_.h: Likewise.
68747         * lib/stdio_.h: Likewise.
68748         * lib/stdlib_.h: Likewise.
68749         * lib/string_.h: Likewise.
68750         * lib/sys_stat_.h: Likewise.
68751         * lib/sys_time_.h: Likewise.
68752         * lib/time_.h: Likewise.
68753         * lib/unistd_.h: Likewise.
68754         * lib/wchar_.h: Likewise.
68755         * lib/wctype_.h: Likewise.
68756         * lib/dirent_.h: Likewise.
68757         * lib/iconv_.h: Likewise.
68758         * lib/locale_.h: Likewise.
68759         * lib/netinet_in_.h: Likewise.
68760         * lib/sys_select_.h: Likewise.
68761         * lib/sys_socket_.h: Likewise.
68762         * lib/sysexits_.h: Likewise.
68763         * modules/fcntl (Depends-on): Depend on include_next, not
68764         absolute_header.
68765         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68766         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68767         * modules/fchdir: Likewise.
68768         * modules/float: Likewise.
68769         * modules/iconv_open: Likewise.
68770         * modules/inttypes: Likewise.
68771         * modules/locale: Likewise.
68772         * modules/math: Likewise.
68773         * modules/netinet_in: Likewise.
68774         * modules/search: Likewise.
68775         * modules/signal: Likewise.
68776         * modules/stdint: Likewise.
68777         * modules/stdio: Likewise.
68778         * modules/stdlib: Likewise.
68779         * modules/string: Likewise.
68780         * modules/sys_select: Likewise.
68781         * modules/sys_socket: Likewise.
68782         * modules/sys_stat: Likewise.
68783         * modules/sys_time: Likewise.
68784         * modules/sysexits: Likewise.
68785         * modules/time: Likewise.
68786         * modules/unistd: Likewise.
68787         * modules/wchar: Likewise.
68788         * modules/wctype: Likewise.
68789         * modules/sys_stat: Change maintainer to "all".
68790         * modules/unistd: Likewise.
68791
68792 2007-06-20  Karl Berry  <karl@gnu.org>
68793
68794         * config/srclist.txt: track www changes in license files.
68795
68796 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68797
68798         * build-aux/bootstrap: Remove stray dot.
68799         Make sure build_aux settings are honored when linking
68800         gnulib_extra_files.
68801
68802 2007-06-19  Eric Blake  <ebb9@byu.net>
68803
68804         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68805         Allow compilation on cygwin.
68806
68807 2007-06-19  Jim Meyering  <jim@meyering.net>
68808
68809         xreadlink-with-size: Remove module.  No longer used.
68810         Ex-callers now use xreadlink or mreadlink-with-size.
68811         * modules/xreadlink-with-size: Remove module.
68812         * lib/xreadlink-with-size.c: Remove file.
68813         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68814         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68815         just before the function definition *is* accurate.
68816
68817         Eliminate one way canonicalize_filename_mode could exit.
68818         * lib/canonicalize.c (canonicalize_filename_mode):
68819         Use mreadlink_with_size, not xreadlink_with_size.
68820
68821 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68822
68823         Detect porting problems to FreeBSD/arm, which has time_t wider than
68824         long int.  Original problem reported for GNU diff by Xin Li in
68825         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68826         * modules/getdate (Depends-on): Add intprops, verify.
68827         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68828         is an integer type no wider than long int.
68829
68830 2007-06-18  Jim Meyering  <jim@meyering.net>
68831
68832         New module: mreadlink-with-size.
68833         * MODULES.html.sh: Add mreadlink-with-size.
68834         * modules/mreadlink-with-size: New module
68835         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68836         not xreadlink-with-size.
68837         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68838
68839 2007-06-16  Bruno Haible  <bruno@clisp.org>
68840
68841         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68842         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68843         Reported by Gary V. Vaughan <gary@gnu.org>.
68844
68845 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68846
68847         Revamp lchown so that it lives in unistd.h where it belongs.
68848         * lib/lchown.h: Remove.
68849         * lib/dirchownmod.c: Don't include lib/lchown.h.
68850         * lib/fchownat.c: Likewise.
68851         * lib/openat.c: Likewise.
68852         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68853         does not follow symlinks.
68854         (EOPNOTSUPP): Define if not defined.
68855         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68856         is defined to 0.
68857         (lchown): New decl.
68858         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68859         Do not check for lchown decl.
68860         Set REPLACE_LCHOWN.
68861         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68862         REPLACE_LCHOWN.
68863         * modules/chown: Make it clear it follows symlinks.
68864         * modules/lchown: Make it clear it doesn't follow symlinks.
68865         (Files): Remove lib/lchown.h
68866         (Depends-on): Add unistd.
68867         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68868         (Include): Include <unistd.h>, not "lchown.h".
68869         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68870         REPLACE_LCHOWN.
68871
68872 2007-06-15  Jim Meyering  <jim@meyering.net>
68873
68874         Change license (GPL to LGPL) of fsusage and dependents.
68875         * modules/fsusage (License): Change to LGPL.
68876         * modules/full-read (License): Likewise.
68877         * modules/full-write (License): Likewise.
68878         * modules/safe-read (License): Likewise.
68879         * modules/safe-write (License): Likewise.
68880
68881 2007-06-14  Ben Pfaff  <blp@gnu.org>
68882
68883         Missing part of allocsa -> malloca transition.
68884         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68885         gl_MALLOCA.
68886
68887 2007-06-12  Bruno Haible  <bruno@clisp.org>
68888
68889         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68890         to ia64, x86_64, i386.
68891         Reported by Eric Blake.
68892
68893 2007-06-12  Bruno Haible  <bruno@clisp.org>
68894
68895         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68896         cross-compiling to x86_64.
68897
68898 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68899
68900         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68901         glitch reported by Ralf Wildenhues in
68902         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68903
68904         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68905         Vin Shelton.
68906
68907 2007-06-11  Bruno Haible  <bruno@clisp.org>
68908
68909         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68910         replacement string.
68911         Reported by Eric Blake.
68912
68913 2007-06-10  Bruno Haible  <bruno@clisp.org>
68914
68915         Prepare vasnprintf code for use with Unicode strings.
68916         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68917         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68918         TYPE_U32_STRING.
68919         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68920         a_u32_string variants.
68921         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68922         * lib/printf-args.c: Don't include config.h and the specification
68923         header if PRINTF_FETCHARGS is already defined.
68924         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68925         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68926         TYPE_U16_STRING, TYPE_U32_STRING.
68927         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68928         u16_directive, u16_directives, u32_directive, u32_directives): New
68929         types.
68930         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68931         New declarations.
68932         * lib/printf-parse.c: Don't include config.h and the specification
68933         header if PRINTF_PARSE is already defined. Eliminate the set of
68934         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68935         them now. Include c-ctype.h.
68936         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68937         directive and CHAR_T_ONLY_ASCII.
68938         * lib/vasnprintf.c: Don't include config.h and the specification header
68939         if VASNPRINTF is already defined.
68940         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68941         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68942         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68943         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68944         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68945         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68946         code accordingly.
68947         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68948         pad_ourselves also in this case, with the 'c' and 's' directives, and
68949         with a different notion of "width".
68950         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68951
68952 2007-06-10  Bruno Haible  <bruno@clisp.org>
68953
68954         * modules/unistr/u32-mbsnlen: New file.
68955         * lib/unistr/u32-mbsnlen.c: New file.
68956
68957         * modules/unistr/u16-mbsnlen: New file.
68958         * lib/unistr/u16-mbsnlen.c: New file.
68959
68960         * modules/unistr/u8-mbsnlen: New file.
68961         * lib/unistr/u8-mbsnlen.c: New file.
68962
68963         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68964         declarations.
68965
68966 2007-06-10  Bruno Haible  <bruno@clisp.org>
68967
68968         * lib/string_.h (mbsnlen): New declaration.
68969         * lib/mbsnlen.c: New file.
68970         * m4/mbsnlen.m4: New file.
68971         * modules/mbsnlen: New file.
68972         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68973         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68974         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68975
68976 2007-06-10  Bruno Haible  <bruno@clisp.org>
68977
68978         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68979
68980 2007-06-10  Bruno Haible  <bruno@clisp.org>
68981
68982         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68983         * lib/mbuiter.h: Likewise.
68984
68985 2007-06-10  Bruno Haible  <bruno@clisp.org>
68986
68987         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68988         declaration.
68989
68990 2007-06-10  Karl Berry  <karl@gnu.org>
68991
68992         * config/srclist.txt: remove gettext entries, Bruno prefers
68993         to update individually.
68994
68995 2007-06-10  Bruno Haible  <bruno@clisp.org>
68996
68997         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68998         'maxlen'. Ensure only length + width bytes are allocated, not
68999         length + 1 + width.
69000
69001 2007-06-09  Bruno Haible  <bruno@clisp.org>
69002
69003         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
69004         (CHAR_T): Remove macro.
69005         (VASNPRINTF): Update.
69006
69007 2007-06-09  Bruno Haible  <bruno@clisp.org>
69008
69009         * MODULES.html.sh (Unicode string functions): Add the new modules.
69010
69011         * modules/uniconv/u32-conv-to-enc: New file.
69012         * lib/uniconv/u32-conv-to-enc.c: New file.
69013         * modules/uniconv/u32-conv-to-enc-tests: New file.
69014         * tests/uniconv/test-u32-conv-to-enc.c: New file.
69015
69016         * modules/uniconv/u16-conv-to-enc: New file.
69017         * lib/uniconv/u16-conv-to-enc.c: New file.
69018         * lib/uniconv/u-conv-to-enc.h: New file.
69019         * modules/uniconv/u16-conv-to-enc-tests: New file.
69020         * tests/uniconv/test-u16-conv-to-enc.c: New file.
69021
69022         * modules/uniconv/u8-conv-to-enc: New file.
69023         * lib/uniconv/u8-conv-to-enc.c: New file.
69024         * modules/uniconv/u8-conv-to-enc-tests: New file.
69025         * tests/uniconv/test-u8-conv-to-enc.c: New file.
69026
69027         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
69028         u32_conv_to_encoding): New declarations.
69029
69030 2007-06-09  Bruno Haible  <bruno@clisp.org>
69031
69032         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
69033
69034 2007-06-09  Bruno Haible  <bruno@clisp.org>
69035
69036         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
69037         * modules/malloca: Renamed from modules/allocsa, updated.
69038         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
69039         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
69040         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
69041         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
69042         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
69043         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
69044         * modules/xmalloca: Renamed from modules/xallocsa, updated.
69045         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
69046         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
69047         * modules/c-strcasestr (Depends-on): Update.
69048         * lib/c-strcasestr.c: Update.
69049         * modules/c-strstr (Depends-on): Update.
69050         * lib/c-strstr.c: Update.
69051         * modules/canonicalize-lgpl (Depends-on): Update.
69052         * lib/canonicalize-lgpl.c: Update.
69053         * modules/clean-temp (Depends-on): Update.
69054         * lib/clean-temp.c: Update.
69055         * modules/csharpcomp (Depends-on): Update.
69056         * lib/csharpcomp.c: Update.
69057         * modules/csharpexec (Depends-on): Update.
69058         * lib/csharpexec.c: Update.
69059         * modules/javacomp (Depends-on): Update.
69060         * lib/javacomp.c: Update.
69061         * modules/javaexec (Depends-on): Update.
69062         * lib/javaexec.c: Update.
69063         * modules/mbscasestr (Depends-on): Update.
69064         * lib/mbscasestr.c: Update.
69065         * modules/mbsstr (Depends-on): Update.
69066         * lib/mbsstr.c: Update.
69067         * modules/setenv (Depends-on): Update.
69068         * lib/setenv.c: Update.
69069         * modules/strcasestr (Depends-on): Update.
69070         * lib/strcasestr.c: Update.
69071         * modules/striconveha (Depends-on): Update.
69072         * lib/striconveha.c: Update.
69073         * modules/relocatable-prog-wrapper (Files): Update.
69074         * lib/relocwrapper.c: Update.
69075         * build-aux/install-reloc: Update.
69076         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
69077
69078 2007-06-08  Bruno Haible  <bruno@clisp.org>
69079
69080         Port to uClibc.
69081         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
69082         * lib/fpurge.c (fpurge): Likewise.
69083         * lib/freading.c (freading): Likewise.
69084         * lib/fseeko.c (rpl_fseeko): Likewise.
69085         * lib/fseterr.c (fseterr): Likewise.
69086         * lib/fwriting.c (fwriting): Likewise.
69087         * tests/test-fflush.c (main): Avoid a failure on uClibc.
69088
69089 2007-06-08  Bruno Haible  <bruno@clisp.org>
69090
69091         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
69092         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
69093         * modules/gettext (Files): Add m4/intlmacosx.m4.
69094
69095 2007-06-07  Bruno Haible  <bruno@clisp.org>
69096
69097         * modules/localename-tests: New file.
69098         * tests/test-localename.c: New file.
69099
69100         New module 'localename'.
69101         * lib/localename.h: New file.
69102         * lib/localename.c: New file, from GNU gettext.
69103         * m4/localename.m4: New file.
69104         * modules/localename: New file.
69105
69106 2007-06-07  Bruno Haible  <bruno@clisp.org>
69107
69108         Work around the lack of <wchar.h> on some builds of uClibc.
69109         * doc/headers/wchar.texi: Update.
69110         * lib/wchar_.h: Include <wchar.h> only if it exists.
69111         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
69112         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
69113         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
69114         doesn't exist.
69115         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
69116         * modules/mbfile (Depends-on): Add wchar.
69117         * modules/mbiter (Depends-on): Likewise.
69118         * modules/mbuiter (Depends-on): Likewise.
69119         Reported by Simon Josefsson.
69120
69121 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69122
69123         Work around problem reported by Steven M. Schweda in
69124         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
69125         Tru64 5.1B with the Compaq compiler environment installed declares
69126         an 'isblank' function but does not define it in the C library.
69127         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
69128         * lib/regex_internal.h (isblank): Likewise.
69129         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
69130         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69131
69132 2007-06-05  Bruno Haible  <bruno@clisp.org>
69133
69134         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
69135         ia64.
69136         * modules/printf-safe: New file.
69137         * modules/fprintf-posix (Depends-on): Add printf-safe.
69138         * modules/printf-posix (Depends-on): Likewise.
69139         * modules/snprintf-posix (Depends-on): Likewise.
69140         * modules/sprintf-posix (Depends-on): Likewise.
69141         * modules/vasnprintf-posix (Depends-on): Likewise.
69142         * modules/vasprintf-posix (Depends-on): Likewise.
69143         * modules/vfprintf-posix (Depends-on): Likewise.
69144         * modules/vprintf-posix (Depends-on): Likewise.
69145         * modules/vsnprintf-posix (Depends-on): Likewise.
69146         * modules/vsprintf-posix (Depends-on): Likewise.
69147         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
69148         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
69149         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
69150         "no" on i386, x86_64, ia64.
69151         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
69152         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69153         on i386, x86_64, ia64.
69154         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
69155         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69156         on i386, x86_64, ia64.
69157         * tests/test-vasnprintf-posix.c: Include float.h.
69158         (LDBL80_WORDS): New macro.
69159         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69160         on i386, x86_64, ia64.
69161         * tests/test-vasprintf-posix.c: Include float.h.
69162         (LDBL80_WORDS): New macro.
69163         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69164         on i386, x86_64, ia64.
69165         * tests/test-snprintf-posix.c: Include float.h.
69166         * tests/test-sprintf-posix.c: Likewise.
69167         * tests/test-vsnprintf-posix.c: Likewise.
69168         * tests/test-vsprintf-posix.c: Likewise.
69169
69170 2007-06-05  Bruno Haible  <bruno@clisp.org>
69171
69172         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
69173         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
69174         non-IEEE numbers on i386, x86_64, ia64.
69175         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
69176         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
69177         * tests/test-isnanl.h: Include float.h.
69178         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
69179
69180 2007-06-05  Bruno Haible  <bruno@clisp.org>
69181
69182         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
69183         also the %a / %A. Handle the %a / %A code before this extra handling.
69184
69185 2007-06-05  Bruno Haible  <bruno@clisp.org>
69186
69187         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
69188         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
69189
69190 2007-06-05  Bruno Haible  <bruno@clisp.org>
69191
69192         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
69193         typo in variable name.
69194
69195 2007-06-05  Eric Blake  <ebb9@byu.net>
69196
69197         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
69198         Reported by Simon Josefsson.
69199
69200 2007-06-04  Bruno Haible  <bruno@clisp.org>
69201
69202         Avoid test failures on some PowerPC platforms.
69203         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
69204         Define differently for PowerPC.
69205         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
69206         Reported by Gary V. Vaughan <gary@gnu.org>.
69207
69208 2007-06-02  Bruno Haible  <bruno@clisp.org>
69209
69210         Fix test-stdint failure on FreeBSD/ia64.
69211         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
69212         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
69213         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
69214         * doc/headers/stdint.texi: Update.
69215
69216 2007-06-01  Bruno Haible  <bruno@clisp.org>
69217
69218         * tests/test-binary-io.c (main): Pass a third argument to open().
69219         Reported by Gary V. Vaughan <gary@gnu.org>.
69220
69221 2007-06-01  Bruno Haible  <bruno@clisp.org>
69222
69223         * doc/functions/frexpl.texi: Update for mingw.
69224
69225 2007-06-01  Bruno Haible  <bruno@clisp.org>
69226
69227         * tests/test-lseek.c (main): Disable test of errno for invalid third
69228         argument.
69229         * doc/functions/lseek.texi: Update.
69230         Reported by Gary V. Vaughan <gary@gnu.org>.
69231
69232 2007-05-28  Bruno Haible  <bruno@clisp.org>
69233
69234         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
69235
69236 2007-05-31  Eric Blake  <ebb9@byu.net>
69237
69238         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
69239         cross compiling.
69240
69241 2007-05-30  Eric Blake  <ebb9@byu.net>
69242         and Bruno Haible  <bruno@clisp.org>
69243
69244         Work around mingw test failures exposed by m4-1.4.9b.
69245         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
69246         * tests/test-unistd.c: Disable uid_t and git_t tests for the
69247         moment.
69248
69249 2007-05-30  Bruno Haible  <bruno@clisp.org>
69250
69251         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
69252         assuming that they are closed. Needed on HP-UX 11.
69253
69254 2007-05-29  Bruno Haible  <bruno@clisp.org>
69255
69256         Fix a problem with #include_next.
69257         * lib/dirent_.h: Split the double-inclusion guard.
69258         * lib/fcntl_.h: Likewise.
69259         * lib/float_.h: Likewise.
69260         * lib/iconv_.h: Likewise.
69261         * lib/inttypes_.h: Likewise.
69262         * lib/locale_.h: Likewise.
69263         * lib/math_.h: Likewise.
69264         * lib/netinet_in_.h: Likewise.
69265         * lib/search_.h: Likewise.
69266         * lib/signal_.h: Likewise.
69267         * lib/stdint_.h: Likewise.
69268         * lib/stdio_.h: Likewise.
69269         * lib/stdlib_.h: Likewise.
69270         * lib/string_.h: Likewise.
69271         * lib/sys_select_.h: Likewise.
69272         * lib/sys_socket_.h: Likewise.
69273         * lib/sys_stat_.h: Likewise.
69274         * lib/sys_time_.h: Likewise.
69275         * lib/sysexits_.h: Likewise.
69276         * lib/time_.h: Likewise.
69277         * lib/unistd_.h: Likewise.
69278         * lib/wchar_.h: Likewise.
69279         * lib/wctype_.h: Likewise.
69280
69281 2007-05-29  Bruno Haible  <bruno@clisp.org>
69282
69283         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
69284         for the moment.
69285
69286 2007-05-29  Bruno Haible  <bruno@clisp.org>
69287
69288         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
69289         invocation.
69290         Reported by Eric Blake.
69291
69292 2007-05-29  Bruno Haible  <bruno@clisp.org>
69293
69294         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
69295         compiling case.
69296
69297 2007-05-29  Eric Blake  <ebb9@byu.net>
69298             Bruno Haible  <bruno@clisp.org>
69299
69300         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
69301         cross compiles.
69302
69303 2007-05-28  Eric Blake  <ebb9@byu.net>
69304
69305         * modules/closein-tests (test_closein_LDADD): Support test on
69306         cygwin with libtool.
69307
69308 2007-05-28  Bruno Haible  <bruno@clisp.org>
69309
69310         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
69311         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
69312         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
69313         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
69314         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
69315         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
69316         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
69317         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
69318         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
69319
69320 2007-05-28  Eric Blake  <ebb9@byu.net>
69321
69322         Unconditionally include <config.h> in unit tests.
69323         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
69324         * tests/test-allocsa.c, tests/test-arcfour.c,
69325         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
69326         tests/test-array_list.c, tests/test-array_oset.c,
69327         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
69328         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
69329         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
69330         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
69331         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
69332         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
69333         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
69334         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
69335         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
69336         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
69337         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
69338         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
69339         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
69340         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
69341         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
69342         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
69343         test-md5.c, test-memmem.c, test-printf-posix.c,
69344         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
69345         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
69346         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
69347         test-strcasestr.c, test-striconv.c, test-striconveh.c,
69348         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
69349         test-vasnprintf-posix2.c, test-vasnprintf.c,
69350         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
69351         test-vfprintf-posix.c, test-vprintf-posix.c,
69352         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
69353         test-xvasprintf.c: Likewise.
69354
69355 2007-05-28  Bruno Haible  <bruno@clisp.org>
69356
69357         * gnulib-tool (func_import): Remember the --with-tests command-line
69358         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
69359         Reported by Eric Blake.
69360
69361 2007-05-28  Bruno Haible  <bruno@clisp.org>
69362
69363         * modules/ftell-tests: New file.
69364         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
69365         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
69366
69367         * lib/ftell.c: New file.
69368         * modules/ftell: New file.
69369         * m4/ftell.m4: New file.
69370         * doc/functions/ftell.texi: Update.
69371         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
69372         REPLACE_FTELL.
69373         * lib/stdio_.h (rpl_ftell): New declaration.
69374         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
69375         REPLACE_FTELL.
69376
69377 2007-05-28  Eric Blake  <ebb9@byu.net>
69378
69379         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
69380
69381 2007-05-28  Bruno Haible  <bruno@clisp.org>
69382
69383         * modules/fseek-tests: New file.
69384         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
69385         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
69386
69387         * lib/fseek.c: New file.
69388         * modules/fseek: New file.
69389         * m4/fseek.m4: New file.
69390         * doc/functions/fseek.texi: Update.
69391         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
69392         REPLACE_FSEEK.
69393         * lib/stdio_.h (rpl_fseek): New declaration.
69394         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
69395         REPLACE_FSEEK.
69396
69397 2007-05-28  Bruno Haible  <bruno@clisp.org>
69398
69399         * lib/stdio_.h (fflush): More comments.
69400
69401 2007-05-28  Bruno Haible  <bruno@clisp.org>
69402
69403         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
69404         runtime test.
69405
69406 2007-05-28  Eric Blake  <ebb9@byu.net>
69407
69408         Improve lseek module.
69409         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
69410         * lib/unistd_.h (lseek): Scale back link warning message.
69411         * tests/test-lseek.c: Beef up test.
69412         * tests/test-lseek.sh: Exercise more facets of lseek.
69413         Reported by Bruno Haible.
69414
69415 2007-05-28  Bruno Haible  <bruno@clisp.org>
69416
69417         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
69418         to define.
69419
69420 2007-05-27  Bruno Haible  <bruno@clisp.org>
69421
69422         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
69423
69424 2007-05-27  Bruno Haible  <bruno@clisp.org>
69425
69426         * modules/openmp: New file.
69427         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
69428         Noah Misch.
69429
69430 2007-05-26  Bruno Haible  <bruno@clisp.org>
69431
69432         * modules/chdir-long (Depends-on): Add fchdir.
69433         * modules/chdir-safer (Depends-on): Likewise.
69434         * modules/fts (Depends-on): Likewise.
69435         * modules/fts-lgpl (Depends-on): Likewise.
69436         * modules/openat (Depends-on): Likewise.
69437         * modules/savewd (Depends-on): Likewise.
69438
69439 2007-05-24  Eric Blake  <ebb9@byu.net>
69440
69441         Fix lseek on mingw.
69442         * modules/lseek: New module.
69443         * m4/lseek.m4: New file.
69444         * lib/lseek.c: New file.
69445         * modules/lseek-tests: New file.
69446         * tests/test-lseek.c: New file.
69447         * tests/test-lseek.sh: New file.
69448         * MODULES.html.sh: Document lseek module.
69449         * modules/fflush (Depends-on): Add lseek, fseeko.
69450         * modules/fseeko (Depends-on): Likewise.
69451         * modules/ftello (Depends-on): Likewise.
69452         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
69453         broken.
69454         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
69455         broken.
69456         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69457         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69458         * lib/ftello.c (rpl_ftello): Likewise.
69459         * tests/test-fseeko.c (main): Test this.
69460         * tests/test-fseeko.sh: Likewise.
69461         * tests/test-ftello.c (main): Likewise.
69462         * tests/test-ftello.sh: Likewise.
69463         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69464         implies replacing fseek.
69465         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69466         HAVE_FTELLO.
69467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69468         * modules/unistd (Makefile.am): Likewise.
69469         * lib/unistd_.h (lseek): Declare a replacement.
69470         * doc/functions/lseek.texi (lseek): Document this fix.
69471         * doc/functions/fseek.texi (fseek): Likewise.
69472         * doc/functions/ftell.texi (ftell): Likewise.
69473
69474 2007-05-24  Bruno Haible  <bruno@clisp.org>
69475
69476         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69477         in the printed representation of a NaN.
69478         * tests/test-vasprintf-posix.c (test_function): Likewise.
69479         * tests/test-snprintf-posix.h (test_function): Likewise.
69480         * tests/test-sprintf-posix.h (test_function): Likewise.
69481         Reported by Eric Blake.
69482
69483 2007-05-23  Eric Blake  <ebb9@byu.net>
69484
69485         Fix fseeko/ftello on cygwin 1.5.24.
69486         * doc/functions/fseeko.texi (fseeko): Document the fix.
69487         * doc/functions/ftello.texi (ftello): Document the fix.
69488         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69489         * doc/functions/stdout.text (stdout): New file.
69490         * doc/functions/stderr.text (stderr): New file.
69491         * doc/gnulib.texi (Function Substitutes): Use new files.
69492         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69493         prior to 1.7.0.
69494         * tests/test-ftello.c (main): Likewise for ftello.
69495         * tests/test-fseeko.sh: New file.
69496         * tests/test-ftello.sh: New file.
69497         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69498         with seekable stdin.
69499         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69500         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69501         (gl_REPLACE_FSEEKO): New macro.
69502         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69503         * modules/fseeko (Files): Distribute fseeko.c.
69504         * modules/ftello (Files): Distribute ftello.c.
69505         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69506         mode.
69507         * lib/ftello.c (rpl_ftello): New file.
69508         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69509         fseeko, ftello.
69510         (gl_STDIN_LARGE_OFFSET): New macro.
69511         * modules/stdio (Makefile.am): Perform the replacement.
69512         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69513
69514 2007-05-23  Bruno Haible  <bruno@clisp.org>
69515
69516         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69517         GNULIB_POSIXCHECK is defined.
69518
69519 2007-05-21  Bruno Haible  <bruno@clisp.org>
69520
69521         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69522         Check also the output for NaN arguments. When cross-compiling, guess
69523         no on IRIX.
69524         * lib/vasnprintf.c: Update comments.
69525         * tests/test-vasnprintf-posix.c (strisnan): New function.
69526         (test_function): Use it.
69527         * tests/test-vasprintf-posix.c (strisnan): New function.
69528         (test_function): Use it.
69529         * tests/test-snprintf-posix.h (strisnan): New function.
69530         (test_function): Use it.
69531         * tests/test-sprintf-posix.h (strisnan): New function.
69532         (test_function): Use it.
69533         Reported by Eric Blake.
69534
69535 2007-05-20  Bruno Haible  <bruno@clisp.org>
69536
69537         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69538         numbers that fails on BeOS.
69539         * doc/functions/frexpl.texi: Update.
69540
69541 2007-05-20  Jim Meyering  <jim@meyering.net>
69542
69543         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69544         forced upon us by glibc-2.6.
69545
69546 2007-05-20  Bruno Haible  <bruno@clisp.org>
69547
69548         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69549         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69550         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69551         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69552         NEED_PRINTF_INFINITE.
69553         (is_infinitel): New function.
69554         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69555         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69556         gl_PREREQ_VASNPRINTF_INFINITE.
69557         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69558         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69559         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69560         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69561         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69562         gl_PREREQ_VASNPRINTF_INFINITE.
69563         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69564         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69565         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69566         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69567         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69568         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69569         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69570         * doc/functions/fprintf.texi: Update.
69571         * doc/functions/printf.texi: Update.
69572         * doc/functions/snprintf.texi: Update.
69573         * doc/functions/sprintf.texi: Update.
69574         * doc/functions/vfprintf.texi: Update.
69575         * doc/functions/vprintf.texi: Update.
69576         * doc/functions/vsnprintf.texi: Update.
69577         * doc/functions/vsprintf.texi: Update.
69578
69579 2007-05-20  Bruno Haible  <bruno@clisp.org>
69580
69581         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69582         was not found in libc.
69583         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69584
69585 2007-05-20  Bruno Haible  <bruno@clisp.org>
69586
69587         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69588         printed as "-nan" instead of "nan".
69589         * tests/test-vasprintf-posix.c (test_function): Likewise.
69590         * tests/test-snprintf-posix.h (test_function): Likewise.
69591         * tests/test-sprintf-posix.h (test_function): Likewise.
69592         Needed for HP-UX 11.
69593
69594 2007-05-20  Jim Meyering  <jim@meyering.net>
69595
69596         Fix buggy test for the fchownat-deref bug.
69597         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69598         symlink required for the run-test.  Without it, this test would
69599         always declare that fchownat doesn't work, and client code would
69600         unnecessarily use the replacement function with fixed libc.
69601         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69602         Reported by Greg Schafer.
69603
69604 2007-05-19  Bruno Haible  <bruno@clisp.org>
69605
69606         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69607         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69608         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69609         Needed for IRIX 6.5 and Solaris 2.5.1.
69610
69611 2007-05-19  Bruno Haible  <bruno@clisp.org>
69612
69613         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69614         (test_function): Skip tests involving -0.0 on platforms where
69615         -0.0 = 0.0.
69616         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69617         (test_function): Skip tests involving -0.0 on platforms where
69618         -0.0 = 0.0.
69619         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69620         (test_function): Skip tests involving -0.0 on platforms where
69621         -0.0 = 0.0.
69622         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69623         (test_function): Skip tests involving -0.0 on platforms where
69624         -0.0 = 0.0.
69625         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69626         tests.
69627         * tests/test-printf-posix.h (test_function): Likewise.
69628         * tests/test-printf-posix.output: Remove all -0.0 related results.
69629         Needed for IRIX 6.5.
69630
69631 2007-05-19  Bruno Haible  <bruno@clisp.org>
69632
69633         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69634         printed as "nan0x7fffffff" instead of "nan".
69635         * tests/test-vasprintf-posix.c (test_function): Likewise.
69636         * tests/test-snprintf-posix.h (test_function): Likewise.
69637         * tests/test-sprintf-posix.h (test_function): Likewise.
69638         * tests/test-fprintf-posix.h (NaN): Remove macro.
69639         (test_function): Remove all NaN related tests.
69640         * tests/test-printf-posix.h (NaN): Remove macro.
69641         (test_function): Remove all NaN related tests.
69642         * tests/test-printf-posix.output: Remove all NaN related results.
69643         Needed for IRIX 6.5.
69644
69645 2007-05-19  Bruno Haible  <bruno@clisp.org>
69646
69647         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69648         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69649
69650 2007-05-19  Bruno Haible  <bruno@clisp.org>
69651
69652         * lib/float_.h: New file.
69653         * m4/float_h.m4: New file.
69654         * modules/float: New file.
69655         * modules/isnanl (Dependencies): Add float.
69656         * modules/isnanl-nolibm (Dependencies): Likewise.
69657         * modules/mathl (Dependencies): Likewise.
69658         * modules/printf-frexpl (Dependencies): Likewise.
69659         * modules/signbit (Dependencies): Likewise.
69660         * modules/vasnprintf (Dependencies): Likewise.
69661         * doc/headers/float.texi: Update.
69662
69663 2007-05-19  Jim Meyering  <jim@meyering.net>
69664
69665         * lib/utimens.c (gl_futimens): Rename from futimens,
69666         now that glibc-2.6 declares futimens.
69667         * lib/utimens.h: Likewise.
69668
69669 2007-05-19  Bruno Haible  <bruno@clisp.org>
69670
69671         Avoid test failures on mingw.
69672         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69673         * tests/test-printf-posix.sh: Likewise.
69674         * tests/test-vfprintf-posix.sh: Likewise.
69675         * tests/test-vprintf-posix.sh: Likewise.
69676
69677 2007-05-19  Bruno Haible  <bruno@clisp.org>
69678
69679         Fix *printf result for NaN, Inf, -0.0 on mingw.
69680         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69681         * lib/vasnprintf.c: Include math.h and isnan.h.
69682         (is_infinite_or_zero): New function.
69683         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69684         values in the %f, %F, %e, %E, %g, %G directives.
69685         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69686         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69687         gl_PRINTF_INFINITE and test its result. Invoke
69688         gl_PREREQ_VASNPRINTF_INFINITE.
69689         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69690         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69691         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69692         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69693         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69694         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69695         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69696         * doc/functions/fprintf.texi: Update.
69697         * doc/functions/printf.texi: Update.
69698         * doc/functions/snprintf.texi: Update.
69699         * doc/functions/sprintf.texi: Update.
69700         * doc/functions/vfprintf.texi: Update.
69701         * doc/functions/vprintf.texi: Update.
69702         * doc/functions/vsnprintf.texi: Update.
69703         * doc/functions/vsprintf.texi: Update.
69704
69705 2007-05-19  Bruno Haible  <bruno@clisp.org>
69706
69707         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69708         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69709         Instead of multiplying with 10^k, set extra_zeroes to k.
69710         (scale10_round_long_double): Remove function.
69711
69712 2007-05-18  Bruno Haible  <bruno@clisp.org>
69713
69714         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69715         introduced on 2007-05-06.
69716
69717 2007-05-18  Bruno Haible  <bruno@clisp.org>
69718
69719         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69720         %g directives.
69721         * tests/test-vasprintf-posix.c (test_function): Likewise.
69722         * tests/test-snprintf-posix.h (test_function): Likewise.
69723         * tests/test-sprintf-posix.h (test_function): Likewise.
69724
69725 2007-05-18  Bruno Haible  <bruno@clisp.org>
69726
69727         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69728         (strmatch): New function.
69729         (test_function): Test the %f directive on numbers of various exponents.
69730         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69731         (strmatch): New function.
69732         (test_function): Test the %f directive on numbers of various exponents.
69733         * tests/test-snprintf-posix.h (strmatch): New function.
69734         (test_function): Test the %f directive on numbers of various exponents.
69735         * tests/test-sprintf-posix.h (strmatch): New function.
69736         (test_function): Test the %f directive on numbers of various exponents.
69737         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69738         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69739         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69740         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69741
69742 2007-05-18  Bruno Haible  <bruno@clisp.org>
69743
69744         Add support for 'long double' number output.
69745         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69746         * lib/vasnprintf.c: Include math.h and float+.h.
69747         (mp_limb_t): New type.
69748         (GMP_LIMB_BITS): New macro.
69749         (mp_twolimb_t): New type.
69750         (GMP_TWOLIMB_BITS): New macro.
69751         (mpn_t): New type.
69752         (multiply, divide, convert_to_decimal, decode_long_double,
69753         scale10_round_long_double, scale10_round_decimal_long_double,
69754         floorlog10l): New functions.
69755         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69756         for the %f, %F, %e, %E, %g, %G directives.
69757         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69758         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69759         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69760         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69761         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69762         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69763         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69764         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69765         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69766         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69767         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69768         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69769         * modules/snprintf-posix (Depends-on): Likewise.
69770         * modules/sprintf-posix (Depends-on): Likewise.
69771         * modules/vasnprintf-posix (Depends-on): Likewise.
69772         * modules/vasprintf-posix (Depends-on): Likewise.
69773         * modules/vfprintf-posix (Depends-on): Likewise.
69774         * modules/vsnprintf-posix (Depends-on): Likewise.
69775         * modules/vsprintf-posix (Depends-on): Likewise.
69776         * modules/vasnprintf (Files): Add lib/float+.h.
69777         * doc/functions/fprintf.texi: Update.
69778         * doc/functions/printf.texi: Update.
69779         * doc/functions/snprintf.texi: Update.
69780         * doc/functions/sprintf.texi: Update.
69781         * doc/functions/vfprintf.texi: Update.
69782         * doc/functions/vprintf.texi: Update.
69783         * doc/functions/vsnprintf.texi: Update.
69784         * doc/functions/vsprintf.texi: Update.
69785
69786 2007-05-18  Bruno Haible  <bruno@clisp.org>
69787
69788         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69789
69790 2007-05-18  Bruno Haible  <bruno@clisp.org>
69791
69792         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69793         for printing 64-bit integers. Needed for mingw.
69794
69795 2007-05-18  Bruno Haible  <bruno@clisp.org>
69796
69797         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69798         gl_FUNC_FREXPL_WORKS.
69799         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69800
69801 2007-05-18  Bruno Haible  <bruno@clisp.org>
69802
69803         * modules/frexpl-nolibm-tests: New file.
69804
69805         * modules/frexpl-nolibm: New file.
69806         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69807
69808 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69809
69810         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69811         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69812         GCC 4.2, which otherwise issues a lot of warnings.
69813         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69814         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69815         Likewise.
69816         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69817         * modules/iconv_open (iconv.h): Likewise.
69818         * modules/locale (locale.h): Likewise.
69819         * modules/netinet_in (netinet/in.h): Likewise.
69820         * modules/sys_select (sys_select.h): Likewise.
69821         * modules/sys_socket (sys/socket.h): Likewise.
69822         * modules/sys_stat (sys/stat.h): Likewise.
69823         * modules/sysexits (sysexits.h): Likewise.
69824         * modules/unistd (unistd.h): Likewise.
69825
69826 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69827
69828         * modules/closein-tests (Makefile.am): Distribute
69829         `test-closein.sh'.
69830
69831 2007-05-17  Bruno Haible  <bruno@clisp.org>
69832
69833         * tests/test-printf-posix.output: Renamed from
69834         tests/test-fprintf-posix.out.
69835         * modules/fprintf-posix-tests: Update.
69836         * modules/printf-posix-tests: Update.
69837         * modules/vfprintf-posix-tests: Update.
69838         * modules/vprintf-posix-tests: Update.
69839         * tests/test-fprintf-posix.sh: Update.
69840         * tests/test-printf-posix.sh: Update.
69841         * tests/test-vfprintf-posix.sh: Update.
69842         * tests/test-vprintf-posix.sh: Update.
69843         Reported by Ralf Wildenhues.
69844
69845 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69846
69847         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69848         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69849         GCC 4.2, which otherwise issues a lot of warnings.
69850         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69851         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69852         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69853         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69854         it should no longer be needed.
69855         * lib/string_.h: Likewise.
69856         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69857         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69858         * modules/inttypes (inttypes.h): Likewise.
69859         * modules/math (math.h): Likewise.
69860         * modules/search (search.h): Likewise.
69861         * modules/signal (signal.h): Likewise.
69862         * modules/stdint (stdint.h): Likewise.
69863         * modules/stdio (stdio.h): Likewise.
69864         * modules/stdlib (stdlib.h): Likewise.
69865         * modules/string (string.h): Likewise.
69866         * modules/sys_time (sys/time.h): Likewise.
69867         * modules/time (time.h): Likewise.
69868         * modules/wchar (wchar.h): Likewise.
69869         * modules/wctype (wtype.h): Likewise.
69870
69871 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69872
69873         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69874
69875 2007-05-13  Bruno Haible  <bruno@clisp.org>
69876
69877         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69878         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69879         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69880         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69881         (gl_PREREQ_STRTOK_R): Don't require it here.
69882
69883 2007-05-13  Bruno Haible  <bruno@clisp.org>
69884
69885         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69886         when used in C++ mode.
69887
69888 2007-05-12  Bruno Haible  <bruno@clisp.org>
69889
69890         * lib/linebuffer.h: Tweak doc.
69891         * lib/linebuffer.c: Likewise.
69892
69893 2007-05-12  James Youngman  <jay@gnu.org>
69894
69895         * lib/linebuffer.c (readlinebuffer_delim): New function,
69896         like readlinebuffer, but use a caller-specified delimiter.
69897         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69898         as the delimiter.
69899         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69900
69901 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69902
69903         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69904         * modules/openat (Files): Remove openat-die.c.
69905         (Depends-on): Add openat-die.
69906         * modules/openat-die: New module.
69907
69908 2007-05-06  Bruno Haible  <bruno@clisp.org>
69909
69910         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69911         Update with info about Cygwin.
69912         * doc/functions/fprintf.texi: Update.
69913         * doc/functions/printf.texi: Update.
69914         * doc/functions/snprintf.texi: Update.
69915         * doc/functions/sprintf.texi: Update.
69916         * doc/functions/vfprintf.texi: Update.
69917         * doc/functions/vprintf.texi: Update.
69918         * doc/functions/vsnprintf.texi: Update.
69919         * doc/functions/vsprintf.texi: Update.
69920         Reported by Eric Blake.
69921
69922 2007-05-06  Bruno Haible  <bruno@clisp.org>
69923
69924         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69925         padding ourselves for the floating-point directives.
69926         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69927         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69928         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69929         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69930         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69931         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69932         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69933         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69934         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69935         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69936         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69937         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69938         * tests/test-snprintf-posix.h (test_function): Also check the width
69939         and some flags in the %f directive.
69940         * tests/test-sprintf-posix.h (test_function): Likewise.
69941         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69942         * tests/test-vasprintf-posix.c (test_function): Likewise.
69943         * doc/functions/fprintf.texi: Update.
69944         * doc/functions/printf.texi: Update.
69945         * doc/functions/snprintf.texi: Update.
69946         * doc/functions/sprintf.texi: Update.
69947         * doc/functions/vfprintf.texi: Update.
69948         * doc/functions/vprintf.texi: Update.
69949         * doc/functions/vsnprintf.texi: Update.
69950         * doc/functions/vsprintf.texi: Update.
69951
69952 2007-05-06  Bruno Haible  <bruno@clisp.org>
69953
69954         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69955         pass the ' flag character to sprintf or snprintf.
69956         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69957         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69958         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69959         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69960         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69961         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69962         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69963         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69964         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69965         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69966         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69967         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69968         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69969         flag.
69970         * tests/test-sprintf-posix.h (test_function): Likewise.
69971         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69972         * tests/test-vasprintf-posix.c (test_function): Likewise.
69973         * doc/functions/fprintf.texi: Update.
69974         * doc/functions/printf.texi: Update.
69975         * doc/functions/snprintf.texi: Update.
69976         * doc/functions/sprintf.texi: Update.
69977         * doc/functions/vfprintf.texi: Update.
69978         * doc/functions/vprintf.texi: Update.
69979         * doc/functions/vsnprintf.texi: Update.
69980         * doc/functions/vsprintf.texi: Update.
69981
69982 2007-05-01  Bruno Haible  <bruno@clisp.org>
69983
69984         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69985
69986 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69987
69988         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69989         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69990
69991 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69992
69993         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69994         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69995         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69996
69997 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69998
69999         * lib/argp-help.c (struct hol_entry): New member `ord'.
70000         (HOL_ENTRY_PTRCMP): Use ord for comparison
70001         (hol_sort): Initialize ord.
70002
70003 2007-05-01  Bruno Haible  <bruno@clisp.org>
70004
70005         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
70006         Reported by Eric Blake.
70007         * doc/gnulib.texi (Function Substitutes): Update.
70008
70009 2007-05-01  Bruno Haible  <bruno@clisp.org>
70010
70011         * doc/functions.texi: Remove file, now redundant through
70012         doc/functions/*.texi.
70013
70014 2007-05-01  Bruno Haible  <bruno@clisp.org>
70015
70016         * modules/argp (Depends-on): Add sleep.
70017
70018 2007-05-01  Bruno Haible  <bruno@clisp.org>
70019
70020         * modules/sleep-tests: New file.
70021         * tests/test-sleep.c: New file.
70022
70023         * modules/sleep: New file.
70024         * lib/sleep.c: New file.
70025         * m4/sleep.m4: New file.
70026         * lib/unistd_.h (sleep): New declaration.
70027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
70028         HAVE_SLEEP.
70029         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
70030         * doc/functions/sleep.texi: Document the sleep module.
70031
70032 2007-05-01  Bruno Haible  <bruno@clisp.org>
70033
70034         * lib/sigprocmask.h: Remove file.
70035         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
70036         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
70037         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
70038         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
70039         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
70040         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
70041         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
70042         HAVE_SIGSET_T as a shell variable.
70043         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
70044         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
70045         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
70046         (Depends-on): Add signal. Remove verify.
70047         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
70048         (Include): Mention <signal.h> instead of sigprocmask.h.
70049         * NEWS: Mention the change.
70050         * lib/fatal-signal.c: Don't include sigprocmask.h.
70051
70052 2007-05-01  Bruno Haible  <bruno@clisp.org>
70053
70054         * modules/signal: New file.
70055         * lib/signal_.h: New file.
70056         * m4/signal_h.m4: New file.
70057
70058 2007-05-01  Bruno Haible  <bruno@clisp.org>
70059
70060         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
70061         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
70062         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
70063         HAVE_WCTYPE_CTMP_BUG into wctype.h.
70064
70065 2007-05-01  Bruno Haible  <bruno@clisp.org>
70066
70067         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
70068         configure time.
70069         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
70070         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
70071         * modules/sys_stat (Makefile.am): Substitute their values into
70072         sys/stat.h.
70073
70074 2007-05-01  Bruno Haible  <bruno@clisp.org>
70075
70076         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
70077         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
70078         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
70079
70080 2007-05-01  Bruno Haible  <bruno@clisp.org>
70081
70082         * doc/header/assert.texi: Undo last change: don't mention the gnulib
70083         'assert' module here.
70084
70085 2007-05-01  Bruno Haible  <bruno@clisp.org>
70086
70087         * doc/functions/*.texi: New files.
70088         * doc/functions/google-ranking.txt: New file.
70089         * doc/gnulib.texi (Function Substitutes): New chapter.
70090         (ctime, inet_ntoa): Remove sections.
70091         * doc/ctime.texi: Remove file.
70092         * doc/inet_ntoa.texi: Remove file.
70093         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
70094         dependencies.
70095         (%.info): New rule, specifying a --reference-limit.
70096
70097 2007-05-01  Bruno Haible  <bruno@clisp.org>
70098
70099         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
70100
70101 2007-05-01  Bruno Haible  <bruno@clisp.org>
70102
70103         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
70104         the portability of 'mkdir' to mingw systems.
70105
70106 2007-05-01  Bruno Haible  <bruno@clisp.org>
70107
70108         * doc/headers/google-ranking.txt: New file.
70109
70110 2007-04-30  Eric Blake  <ebb9@byu.net>
70111
70112         Prefer fseeko to fseek.
70113         * modules/getpass (Depends-on): Add fseeko.
70114         * lib/getpass.c (getpass): Use fseeko, not fseek.
70115
70116 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
70117
70118         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
70119         assumes the sorting is stable, while most qsort implementations
70120         are not.  Use argument addresses to ensure they never compare as
70121         equal.
70122
70123         * tests/test-argp-2.sh (usage-indent test): Fix output
70124         (func_compare): Restore diff options
70125         * tests/test-argp.c: Restore #include "progname.h"
70126
70127 2007-04-29  Bruno Haible  <bruno@clisp.org>
70128
70129         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
70130         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70131         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
70132         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70133         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
70134         (configure.ac): Define CHECK_SNPRINTF_POSIX.
70135         (TESTS, check_PROGRAMS): Add test-snprintf.
70136         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
70137         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
70138         (TESTS, check_PROGRAMS): Add test-vsnprintf.
70139         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
70140         assertions that fail on HP-UX, OSF/1, or IRIX.
70141         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
70142
70143 2007-04-29  Bruno Haible  <bruno@clisp.org>
70144
70145         * MODULES.html.sh (posix_functions): Remove 'contents'.
70146
70147 2007-04-29  Karl Berry  <karl@gnu.org>
70148
70149         * config/srclist.txt (gendocs_template_min): new entry.
70150
70151 2007-04-29  Bruno Haible  <bruno@clisp.org>
70152
70153         Work around fpurge bug on BSD systems.
70154         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
70155         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
70156         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
70157         fpurge to rpl_fpurge if the system already has this function.
70158         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
70159         the case where the system already has this function. Correct invariants
70160         on BSD systems.
70161         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
70162         BSD systems.
70163
70164 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
70165
70166         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
70167         proposed by Sven Verdoolaege.
70168
70169         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
70170         options.
70171         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
70172         (usage and help tests): Update
70173
70174 2007-04-29  Bruno Haible  <bruno@clisp.org>
70175
70176         * tests/test-fflush.c (main): Use a file of size 17, not 10.
70177         Print more information in case of failure. Disable a test on BeOS.
70178
70179 2007-04-29  Bruno Haible  <bruno@clisp.org>
70180
70181         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
70182         This helps debugging on systems on which no gdb is available.
70183
70184 2007-04-29  Bruno Haible  <bruno@clisp.org>
70185
70186         * lib/freading.h: Improve comments.
70187         * lib/fwriting.h: Likewise.
70188         * tests/test-freading.c (main): Don't check freading immediately after
70189         repositioning. Needed for glibc.
70190
70191 2007-04-29  Bruno Haible  <bruno@clisp.org>
70192
70193         * lib/freading.c (freading): Trivial simplification.
70194
70195 2007-04-28  Bruno Haible  <bruno@clisp.org>
70196
70197         * tests/test-fwriting.c (main): Also test the interaction between
70198         fflush and fwriting.
70199         * modules/fwriting-tests (Depends-on): Add fflush.
70200
70201         * tests/test-freading.c (main): Also test the interaction between
70202         fflush and freading.
70203         * modules/freading-tests (Depends-on): Add fflush.
70204
70205 2007-04-28  Bruno Haible  <bruno@clisp.org>
70206
70207         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
70208         fseeko and ftello.
70209         Suggested by Eric Blake.
70210
70211 2007-04-28  Jim Meyering  <jim@meyering.net>
70212
70213         Avoid false-negative in gl_STDINT_H's C99 conformance test.
70214         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
70215         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
70216
70217 2007-04-27  Eric Blake  <ebb9@byu.net>
70218
70219         * doc/headers/assert.texi (assert.h): Document assert module use.
70220
70221 2007-04-27  Bruno Haible  <bruno@clisp.org>
70222
70223         * doc/headers/*.texi: New files.
70224         * doc/gnulib.texi (Header File Substitutes): New chapter.
70225         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
70226         dependencies.
70227         (standards.info ,standards.html, standards.dvi): Update dependencies.
70228         (mostlyclean, clean): New targets.
70229
70230 2007-04-27  Bruno Haible  <bruno@clisp.org>
70231
70232         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
70233         * modules/sysexits (Files, Makefile.am): Update.
70234
70235         * lib/sys_socket_.h: Renamed from lib/socket_.h.
70236         * modules/sys_socket (Files, Makefile.am): Update.
70237
70238         * lib/sys_stat_.h: Renamed from lib/stat_.h.
70239         * modules/sys_stat (Files, Makefile.am): Update.
70240
70241 2007-04-27  Eric Blake  <ebb9@byu.net>
70242
70243         * lib/freading.h: Improve comments.
70244         * lib/fwriting.h: Likewise.
70245         * lib/fflush.c: Likewise.
70246
70247         Fix closein for mingw.
70248         * modules/closein-tests: Add tests for closein.
70249         * tests/test-closein.c: New file.
70250         * tests/test-closein.sh: Likewise.
70251         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
70252         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
70253
70254 2007-04-27  Bruno Haible  <bruno@clisp.org>
70255
70256         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
70257         version is < 6.
70258         * lib/math_.h [__DECC]: Likewise.
70259         * lib/stdio_.h [__DECC]: Likewise.
70260         * lib/stdlib_.h [__DECC]: Likewise.
70261         * lib/string_.h [__DECC]: Likewise.
70262         * lib/time_.h [__DECC]: Likewise.
70263         * lib/wchar_.h [__DECC]: Likewise.
70264         * lib/wctype_.h [__DECC]: Likewise.
70265
70266 2007-04-27  Bruno Haible  <bruno@clisp.org>
70267
70268         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
70269
70270 2007-04-27  Bruno Haible  <bruno@clisp.org>
70271
70272         * lib/fflush.c: Add comments.
70273         * modules/fpurge-tests (Depends-on): Add fflush.
70274         * modules/freadable-tests (Depends-on): Likewise.
70275         * modules/fwritable-tests (Depends-on): Likewise.
70276
70277 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
70278
70279         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
70280         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
70281         Report by Bruno Haible <bruno@clisp.org>.
70282
70283 2007-04-26  Eric Blake  <ebb9@byu.net>
70284
70285         Fix fflush on mingw.
70286         * modules/fflush (Depends-on): Add freading.
70287         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
70288         but unread data.
70289
70290 2007-04-26  Eric Blake  <ebb9@byu.net>
70291         and Bruno Haible  <bruno@clisp.org>
70292
70293         Implement freading and fwriting.
70294         * lib/freading.c: New file.
70295         * lib/freading.h: Likewise.
70296         * m4/freading.m4: Likewise.
70297         * modules/freading: Likewise.
70298         * modules/freading-tests: Likewise.
70299         * tests/test-freading.c: Likewise.
70300         * lib/fwriting.c: New file.
70301         * lib/fwriting.h: Likewise.
70302         * m4/fwriting.m4: Likewise.
70303         * modules/fwriting: Likewise.
70304         * modules/fwriting-tests: Likewise.
70305         * tests/test-fwriting.c: Likewise.
70306         * MODULES.html.sh (File stream based Input/Output): Mention them.
70307
70308 2007-04-26  Bruno Haible  <bruno@clisp.org>
70309
70310         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
70311         'long' when we assume it.
70312         Suggested by Eric Blake.
70313
70314 2007-04-26  Bruno Haible  <bruno@clisp.org>
70315
70316         Ensure fseeko, ftello are declared on glibc systems.
70317         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
70318         * modules/fseeko (configure.ac-early): Likewise.
70319         * modules/ftello (configure.ac-early): Likewise.
70320         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
70321         AC_FUNC_FSEEKO for this.
70322         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
70323         (gl_CHECK_FSEEKO): Remove macro.
70324
70325 2007-04-26  Bruno Haible  <bruno@clisp.org>
70326
70327         * tests/test-fflush.c (main): Also check the ftell result after
70328         fflush and fseek/fseeko.
70329         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
70330         file descriptor position cache in the stream.
70331         * lib/fseeko.c (rpl_fseeko): Likewise.
70332
70333 2007-04-26  Bruno Haible  <bruno@clisp.org>
70334
70335         * modules/fflush-tests (Depends-on): Add fseeko.
70336
70337 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
70338             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70339
70340         * lib/argz_.h: ensure error_t definition is obtained in same
70341         mechanism system argz.h would have.
70342         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
70343         argz facilities are known bad.  Err on the side of caution if
70344         cross-compiling.
70345
70346 2007-04-25  Eric Blake  <ebb9@byu.net>
70347
70348         * lib/fpurge.c (includes): Use stdlib.h for free.
70349         * tests/test-fflush.c (main): Also test fflush-fseeko.
70350
70351 2007-04-25  Bruno Haible  <bruno@clisp.org>
70352
70353         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
70354         * lib/fseeko.c: New file.
70355         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
70356         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
70357         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
70358         gl_FUNC_FSEEKO.
70359         (gl_FUNC_FSEEKO): Invoke it.
70360         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
70361         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
70362         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
70363
70364 2007-04-25  Bruno Haible  <bruno@clisp.org>
70365
70366         * modules/fflush (Depends-on): Add ftello.
70367
70368 2007-04-25  Bruno Haible  <bruno@clisp.org>
70369
70370         * modules/ftello-tests: New file.
70371         * tests/test-ftello.c: New file.
70372
70373         * modules/ftello: New file.
70374         * m4/ftello.m4: New file.
70375         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
70376         HAVE_FTELLO.
70377         * lib/stdio_.h (ftello): New declaration.
70378         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
70379         HAVE_FTELLO.
70380
70381 2007-04-25  Bruno Haible  <bruno@clisp.org>
70382
70383         * modules/fseeko-tests: New file.
70384         * tests/test-fseeko.c: New file.
70385
70386         * modules/fseeko: New file.
70387         * m4/fseeko.m4: New file.
70388         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
70389         HAVE_FSEEKO.
70390         * lib/stdio_.h (fseeko): New declaration.
70391         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
70392         HAVE_FSEEKO.
70393
70394 2007-04-25  Bruno Haible  <bruno@clisp.org>
70395
70396         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
70397
70398 2007-04-25  Bruno Haible  <bruno@clisp.org>
70399
70400         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
70401         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
70402         * tests/test-unistd.c: Likewise.
70403         * tests/test-fcntl.c: Likewise.
70404
70405 2007-04-23  Eric Blake  <ebb9@byu.net>
70406
70407         * lib/fflush.c: Fix missing include.
70408         Reported by Bruno Haible.
70409
70410 2007-04-23  Bruno Haible  <bruno@clisp.org>
70411
70412         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
70413         Reported by Eric Blake.
70414
70415 2007-04-23  Bruno Haible  <bruno@clisp.org>
70416
70417         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
70418
70419 2007-04-23  Bruno Haible  <bruno@clisp.org>
70420
70421         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
70422
70423 2007-04-23  Bruno Haible  <bruno@clisp.org>
70424
70425         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
70426         Needed on HP-UX 11.
70427
70428 2007-04-16  Eric Blake  <ebb9@byu.net>
70429
70430         Make fflush rely on fpurge.
70431         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
70432         open coding all variants.
70433         * modules/fflush (Depends-on): Add fpurge and unistd.
70434         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
70435         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
70436
70437         Fix --with-tests compilation on cygwin.
70438         * modules/argmatch-tests (Makefile.am): List gnulib library first
70439         in LDADD.
70440         * modules/argp-tests (Makefile.am): Likewise.
70441         * modules/array-list-tests (Makefile.am): Likewise.
70442         * modules/array-oset-tests (Makefile.am): Likewise.
70443         * modules/avltree-list-tests (Makefile.am): Likewise.
70444         * modules/avltree-oset-tests (Makefile.am): Likewise.
70445         * modules/avltreehash-list-tests (Makefile.am): Likewise.
70446         * modules/carray-list-tests (Makefile.am): Likewise.
70447         * modules/dirname-tests (Makefile.am): Likewise.
70448         * modules/frexp-tests (Makefile.am): Likewise.
70449         * modules/isnanl-tests (Makefile.am): Likewise.
70450         * modules/linked-list-tests (Makefile.am): Likewise.
70451         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70452         * modules/lock-tests (Makefile.am): Likewise.
70453         * modules/rbtree-list-tests (Makefile.am): Likewise.
70454         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70455         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70456         * modules/tls-tests (Makefile.am): Likewise.
70457         * modules/tsearch-tests (Makefile.am): Likewise.
70458         * modules/xvasprintf-tests (Makefile.am): Likewise.
70459
70460         Fix fpurge for cygwin.
70461         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70462         value.
70463         * modules/fpurge-tests (Depends-on): Clean up trash.
70464
70465 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70466
70467         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70468
70469         * m4/autobuild.m4: Re-indent.
70470
70471 2007-04-13  Bruno Haible  <bruno@clisp.org>
70472
70473         * modules/fpurge-tests: New file.
70474         * tests/test-fpurge.c: New file.
70475
70476         * modules/fpurge: New file.
70477         * lib/fpurge.h: New file.
70478         * lib/fpurge.c: New file.
70479         * m4/fpurge.m4: New file.
70480
70481 2007-04-13  Bruno Haible  <bruno@clisp.org>
70482
70483         * modules/fbufmode-tests: New file.
70484         * tests/test-fbufmode.c: New file.
70485
70486         * modules/fbufmode: New file.
70487         * lib/fbufmode.h: New file.
70488         * lib/fbufmode.c: New file.
70489         * m4/fbufmode.m4: New file.
70490
70491 2007-04-13  Bruno Haible  <bruno@clisp.org>
70492
70493         * modules/fwritable-tests: New file.
70494         * tests/test-fwritable.c: New file.
70495
70496         * modules/fwritable: New file.
70497         * lib/fwritable.h: New file.
70498         * lib/fwritable.c: New file.
70499         * m4/fwritable.m4: New file.
70500
70501 2007-04-13  Bruno Haible  <bruno@clisp.org>
70502
70503         * modules/freadable-tests: New file.
70504         * tests/test-freadable.c: New file.
70505
70506         * modules/freadable: New file.
70507         * lib/freadable.h: New file.
70508         * lib/freadable.c: New file.
70509         * m4/freadable.m4: New file.
70510
70511 2007-04-13  Bruno Haible  <bruno@clisp.org>
70512
70513         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70514         MOSTLYCLEANFILES.
70515
70516 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70517
70518         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70519         gzip bootstrap.conf to avoid dragging in i18n machinery.
70520         (gnulib_tool_option): Use it.
70521
70522 2007-04-13  Bruno Haible  <bruno@clisp.org>
70523
70524         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70525         %F directives.
70526         * tests/test-vasprintf-posix.c (test_function): Likewise.
70527         * tests/test-snprintf-posix.h (test_function): Likewise.
70528         * tests/test-sprintf-posix.h (test_function): Likewise.
70529         * tests/test-fprintf-posix.h (test_function): Likewise.
70530         * tests/test-printf-posix.h (test_function): Likewise.
70531         * tests/test-fprintf-posix.out: Likewise.
70532
70533 2007-04-13  Bruno Haible  <bruno@clisp.org>
70534
70535         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70536         * modules/tls-tests (configure.ac): Likewise.
70537         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70538
70539 2007-04-13  Bruno Haible  <bruno@clisp.org>
70540
70541         * lib/tls.c (glthread_tls_get): Fix return type.
70542         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70543
70544 2007-04-12  Eric Blake  <ebb9@byu.net>
70545
70546         * modules/gettime (Depends-on): Remove gettime.
70547         Reported by Dmitry V. Levin.
70548
70549 2007-04-12  Bruno Haible  <bruno@clisp.org>
70550
70551         * modules/fflush (Include): Mention <stdio.h>.
70552         * modules/strtoimax (Include): Mention <inttypes.h>.
70553         * modules/strtoumax (Include): Likewise.
70554
70555 2007-04-12  Eric Blake  <ebb9@byu.net>
70556
70557         * .cvsignore: New file.
70558         * .gitignore: Likewise.
70559
70560 2007-04-12  Bruno Haible  <bruno@clisp.org>
70561
70562         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70563         not before, since $(LDADD) often contains libgnu.a.
70564         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70565         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70566         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70567         Needed on Cygwin.
70568
70569 2007-04-12  Eric Blake  <ebb9@byu.net>
70570
70571         Work around glibc's failure to flush stdin on fclose.
70572         * lib/closein.c (close_stdin): Flush stdin before closing.
70573
70574         Work around glibc's failure to reset seekable stdin on exit.
70575         * modules/closein: New module.
70576         * lib/closein.c: New file.
70577         * lib/closein.h: Likewise.
70578         * m4/closein.m4: Likewise.
70579         * MODULES.html.sh (File stream based Input/Output): Document it.
70580
70581 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70582
70583         * gnulib-tool: Rename generated 'autobuild' script to
70584         'do-autobuild' in --create-megatestdir output.
70585
70586         * doc/gnulib.texi (Build robot for gnulib): Fix.
70587
70588 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70589
70590         * modules/sysexits (Depends-on): Add absolute-header.
70591
70592 2007-04-12  Eric Blake  <ebb9@byu.net>
70593
70594         No need to preserve errno on success.
70595         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70596         Reported by Bruno Haible.
70597
70598 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70599
70600         * MODULES.html.sh (Support for maintaining and releasing
70601         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70602
70603 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70604
70605         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70606
70607 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70608
70609         * modules/autobuild: New module.
70610
70611         * m4/autobuild.m4: New file.
70612
70613 2007-04-11  Bruno Haible  <bruno@clisp.org>
70614
70615         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70616         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70617         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70618         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70619         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70620         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70621         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70622         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70623         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70624         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70625         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70626         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70627         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70628         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70629         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70630         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70631         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70632         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70633         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70634         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70635         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70636         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70637         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70638         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70639         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70640         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70641         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70642         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70643         Reported by Eric Blake.
70644
70645 2007-04-11  Bruno Haible  <bruno@clisp.org>
70646
70647         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70648
70649 2007-04-10  Bruno Haible  <bruno@clisp.org>
70650
70651         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70652         for NaN and Infinity. Needed on FreeBSD 6.1.
70653         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70654         regarding results for "%010a" of Infinity and NaN.
70655         * tests/test-vasprintf-posix.c (test_function): Likewise.
70656         * tests/test-snprintf-posix.h (test_function): Likewise.
70657         * tests/test-sprintf-posix.h (test_function): Likewise.
70658         * tests/test-fprintf-posix.h (test_function): Likewise.
70659         * tests/test-printf-posix.h (test_function): Likewise.
70660         * tests/test-fprintf-posix.out: Likewise.
70661
70662 2007-04-10  Bruno Haible  <bruno@clisp.org>
70663
70664         * modules/locale-tests: New file.
70665         * tests/test-locale.c: New file.
70666
70667         * modules/locale: New file.
70668         * lib/locale_.h: New file.
70669         * m4/locale_h.m4: New file.
70670
70671 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70672             Bruno Haible  <bruno@clisp.org>
70673
70674         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70675         be determined, test for availability of the copysignf, copysign,
70676         copysignl functions.
70677         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70678         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70679         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70680
70681 2007-04-09  Eric Blake  <ebb9@byu.net>
70682
70683         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70684         * modules/stdio (Makefile.am): Support fflush.
70685         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70686         * modules/fflush: New file.
70687         * lib/fflush.c: Likewise.
70688         * m4/fflush.m4: Likewise.
70689         * modules/fflush-tests: New test.
70690         * tests/test-fflush.c: Likewise.
70691         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70692
70693 2007-04-06  Bruno Haible  <bruno@clisp.org>
70694
70695         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70696         (VASNPRINTF): Use signbit for faster determination whether to print a
70697         minus sign.
70698         * modules/vasnprintf (Files): Remove lib/float+.h.
70699         * modules/fprintf-posix (Depends-on): Add signbit.
70700         * modules/snprintf-posix (Depends-on): Likewise.
70701         * modules/sprintf-posix (Depends-on): Likewise.
70702         * modules/vasnprintf-posix (Depends-on): Likewise.
70703         * modules/vasprintf-posix (Depends-on): Likewise.
70704         * modules/vfprintf-posix (Depends-on): Likewise.
70705         * modules/vsnprintf-posix (Depends-on): Likewise.
70706         * modules/vsprintf-posix (Depends-on): Likewise.
70707
70708 2007-04-06  Bruno Haible  <bruno@clisp.org>
70709
70710         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70711         * tests/test-frexpl.c (main): Likewise.
70712         * tests/test-ldexpl.c (main): Likewise.
70713         * modules/frexp-tests (Depends-on): Add signbit.
70714         * modules/frexpl-tests (Depdends-on): Likewise.
70715         * modules/ldexpl-tests (Depdends-on): Likewise.
70716
70717 2007-04-06  Bruno Haible  <bruno@clisp.org>
70718
70719         * modules/signbit-tests: New file.
70720         * tests/test-signbit.c: New file.
70721
70722         * modules/signbit: New file.
70723         * lib/signbitf.c: New file.
70724         * lib/signbitd.c: New file.
70725         * lib/signbitl.c: New file.
70726         * m4/signbit.m4: New file.
70727         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70728         (signbit): New macro.
70729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70730         REPLACE_SIGNBIT.
70731         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70732         REPLACE_FREXPL into math.h.
70733
70734 2007-04-06  Bruno Haible  <bruno@clisp.org>
70735
70736         * modules/isnanf-nolibm-tests: New file.
70737         * tests/test-isnanf.c: New file.
70738
70739         * modules/isnanf-nolibm: New file.
70740         * lib/isnanf.h: New file.
70741         * lib/isnanf.c: New file.
70742         * lib/isnan.c: Consider the USE_FLOAT macro.
70743         * m4/isnanf.m4: New file.
70744
70745 2007-04-06  Bruno Haible  <bruno@clisp.org>
70746
70747         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70748         (Link): New section.
70749
70750         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70751
70752 2007-04-06  Bruno Haible  <bruno@clisp.org>
70753
70754         Assume the 'long double' type.
70755         * m4/longdouble.m4: Remove file.
70756         * config/srclist.txt: Don't mention longdouble.m4.
70757         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70758         * lib/float+.h: Likewise.
70759         * lib/frexp.c: Likewise.
70760         * lib/printf-args.h: Likewise.
70761         * lib/printf-args.c: Likewise.
70762         * lib/printf-frexp.c: Likewise.
70763         * lib/printf-parse.c: Likewise.
70764         * lib/vasnprintf.c: Likewise.
70765         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70766         * m4/intl.m4: Likewise.
70767         * m4/isnanl.m4: Likewise.
70768         * m4/printf.m4: Likewise.
70769         * m4/printf-frexpl.m4: Likewise.
70770         * m4/vasnprintf.m4: Likewise.
70771         * modules/allocsa (Files): Remove m4/longdouble.m4.
70772         * modules/gettext (Files): Likewise.
70773         * modules/relocatable-prog-wrapper (Files): Likewise.
70774         * modules/vasnprintf (Files): Likewise.
70775         * modules/isnanl (Files): Likewise.
70776         (Include): Simplify.
70777         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70778         (Include): Simplify.
70779         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70780         (Include): Simplify.
70781         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70782         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70783         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70784         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70785         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70786         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70787         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70788         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70789         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70790         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70791         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70792         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70793         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70794         * tests/test-isnanl.c: Likewise.
70795         * tests/test-snprintf-posix.h: Likewise.
70796         * tests/test-sprintf-posix.h: Likewise.
70797         * tests/test-vasnprintf-posix.c: Likewise.
70798         * tests/test-vasnprintf-posix2.c: Likewise.
70799         * tests/test-vasprintf-posix.c: Likewise.
70800
70801 2007-04-06  Bruno Haible  <bruno@clisp.org>
70802
70803         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70804         * lib/math_.h [__DECC]: Include the overridden include file through
70805         #include_next, outside the double-inclusion guard.
70806         * lib/stdio_.h [__DECC]: Likewise.
70807         * lib/stdlib_.h [__DECC]: Likewise.
70808         * lib/string_.h [__DECC]: Likewise.
70809         * lib/time_.h [__DECC]: Likewise.
70810         * lib/wchar_.h [__DECC]: Likewise.
70811         * lib/wctype_.h [__DECC]: Likewise.
70812         * lib/inttypes_.h [__DECC]: Likewise.
70813         Reported by Albert Chin <china@thewrittenword.com> in
70814         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70815
70816 2007-04-04  Eric Blake  <ebb9@byu.net>
70817
70818         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70819         1.5.x.
70820
70821 2007-04-04  Bruno Haible  <bruno@clisp.org>
70822
70823         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70824         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70825
70826 2007-04-04  Bruno Haible  <bruno@clisp.org>
70827
70828         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70829         results for "%010a" of Infinity and NaN.
70830         * tests/test-vasprintf-posix.c (test_function): Likewise.
70831         * tests/test-snprintf-posix.h (test_function): Likewise.
70832         * tests/test-sprintf-posix.h (test_function): Likewise.
70833         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70834         * tests/test-printf-posix.h (test_function): Likewise.
70835         * tests/test-fprintf-posix.out: Update.
70836         Needed for FreeBSD 6.1.
70837
70838 2007-04-04  Bruno Haible  <bruno@clisp.org>
70839
70840         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70841         directly used by the gnulib modules nor by gnulib-tool.
70842
70843 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70844
70845         * DEPENDENCIES: Give overall description of version dependency
70846         desirability.  Use more-typical names for apps.
70847         Add shell, coreutils, diffutils, grep, tar, gzip.
70848
70849 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70850
70851         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70852
70853 2007-04-04  Karl Berry  <karl@gnu.org>
70854
70855         * MODULES.html.sh (func_module): missing '.
70856
70857 2007-04-03  Bruno Haible  <bruno@clisp.org>
70858
70859         * modules/argmatch-tests (Makefile.am): New variable
70860         test_argmatch_LDADD.
70861         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70862         * modules/array-list-tests (Makefile.am): New variable
70863         test_array_list_LDADD.
70864         * modules/array-oset-tests (Makefile.am): New variable
70865         test_array_oset_LDADD.
70866         * modules/avltree-list-tests (Makefile.am): New variable
70867         test_avltree_list_LDADD.
70868         * modules/avltree-oset-tests (Makefile.am): New variable
70869         test_avltree_oset_LDADD.
70870         * modules/avltreehash-list-tests (Makefile.am): New variable
70871         test_avltreehash_list_LDADD.
70872         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70873         test_canonicalize_lgpl_LDADD.
70874         * modules/carray-list-tests (Makefile.am): New variable
70875         test_carray_list_LDADD.
70876         * modules/dirname-tests (Makefile.am): New variable
70877         test_dirname_LDADD.
70878         * modules/linked-list-tests (Makefile.am): New variable
70879         test_linked_list_LDADD.
70880         * modules/linkedhash-list-tests (Makefile.am): New variable
70881         test_linkedhash_list_LDADD.
70882         * modules/rbtree-list-tests (Makefile.am): New variable
70883         test_rbtree_list_LDADD.
70884         * modules/rbtree-oset-tests (Makefile.am): New variable
70885         test_rbtree_oset_LDADD.
70886         * modules/rbtreehash-list-tests (Makefile.am): New variable
70887         test_rbtreehash_list_LDADD.
70888         * modules/xvasprintf-tests (Makefile.am): New variable
70889         test_xvasprintf_LDADD.
70890         Reported by Eric Blake.
70891
70892 2007-04-03  Eric Blake  <ebb9@byu.net>
70893
70894         * DEPENDENCIES: Weaken m4 requirements.
70895
70896 2007-04-03  Bruno Haible  <bruno@clisp.org>
70897
70898         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70899         * modules/isnanl-tests (configure.ac): Likewise.
70900
70901 2007-04-03  Ben Pfaff  <blp@gnu.org>
70902
70903         * modules/iconv_open: Add $(srcdir)/ to source directory
70904         references in Makefile fragments that call gperf, to fix VPATH
70905         builds.
70906
70907 2007-04-03  Bruno Haible  <bruno@clisp.org>
70908
70909         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70910         * lib/ldexpl.c: Undo last change.
70911
70912 2007-04-03  Bruno Haible  <bruno@clisp.org>
70913
70914         * modules/printf-frexpl (Depends-on): Undo last change.
70915         (Files): Add m4/ldexpl.m4.
70916
70917 2007-04-03  Bruno Haible  <bruno@clisp.org>
70918
70919         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70920         * modules/isnanl (Link): New section.
70921
70922         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70923         * modules/frexp (Link): New section.
70924
70925         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70926         * modules/frexpl (Link): New section.
70927
70928         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70929         * modules/ldexpl (Link): New section.
70930
70931 2007-04-03  Bruno Haible  <bruno@clisp.org>
70932
70933         * modules/TEMPLATE-EXTENDED: New file.
70934         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70935
70936 2007-04-03  Bruno Haible  <bruno@clisp.org>
70937
70938         * DEPENDENCIES: New file.
70939         Suggested by Simon Josefsson.
70940
70941 2007-04-03  Bruno Haible  <bruno@clisp.org>
70942
70943         * doc/gnulib.texi: Escape @.
70944
70945 2007-04-03  James Youngman  <jay@gnu.org>
70946         and Paul Eggert  <eggert@cs.ucla.edu>
70947
70948         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70949         birthtime on all systems that have birthtime, not just those which
70950         use st_birthtimensec rather than st_birthtim.  Putting zero in
70951         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70952         that the birth time is not available for files on an NFS mount.
70953
70954 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70955
70956         * modules/memxor: Move back from crypto/, suggested by Bruno.
70957         * modules/crypto/hmac-sha1: Fix memxor dependency.
70958
70959         * modules/crypto/gc: Moved from ../.
70960
70961 2007-04-02  Eric Blake  <ebb9@byu.net>
70962
70963         * lib/ldexpl.c (includes): Avoid libm.
70964
70965         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70966
70967 2007-04-02  Bruno Haible  <bruno@clisp.org>
70968
70969         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70970         on IRIX.
70971
70972 2007-04-02  Bruno Haible  <bruno@clisp.org>
70973
70974         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70975         x86 or x86_64 platforms running MacOS X.
70976         Reported by Ryan Schmidt <@ryandesign.com>.
70977
70978 2007-04-02  Bruno Haible  <bruno@clisp.org>
70979
70980         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70981         i386.
70982
70983 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70984
70985         * modules/crypto/arcfour: Moved from ../.
70986         * modules/crypto/arcfour-tests: Moved from ../.
70987         * modules/crypto/arctwo: Moved from ../.
70988         * modules/crypto/arctwo-tests: Moved from ../.
70989         * modules/crypto/des: Moved from ../.
70990         * modules/crypto/des-tests: Moved from ../.
70991         * modules/crypto/gc-arcfour: Moved from ../.
70992         * modules/crypto/gc-arcfour-tests: Moved from ../.
70993         * modules/crypto/gc-arctwo: Moved from ../.
70994         * modules/crypto/gc-arctwo-tests: Moved from ../.
70995         * modules/crypto/gc-des: Moved from ../.
70996         * modules/crypto/gc-des-tests: Moved from ../.
70997         * modules/crypto/gc-hmac-md5: Moved from ../.
70998         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70999         * modules/crypto/gc-hmac-sha1: Moved from ../.
71000         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
71001         * modules/crypto/gc-md2: Moved from ../.
71002         * modules/crypto/gc-md2-tests: Moved from ../.
71003         * modules/crypto/gc-md4: Moved from ../.
71004         * modules/crypto/gc-md4-tests: Moved from ../.
71005         * modules/crypto/gc-md5: Moved from ../.
71006         * modules/crypto/gc-md5-tests: Moved from ../.
71007         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
71008         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
71009         * modules/crypto/gc-random: Moved from ../.
71010         * modules/crypto/gc-rijndael: Moved from ../.
71011         * modules/crypto/gc-rijndael-tests: Moved from ../.
71012         * modules/crypto/gc-sha1: Moved from ../.
71013         * modules/crypto/gc-sha1-tests: Moved from ../.
71014         * modules/crypto/gc-tests: Moved from ../.
71015         * modules/crypto/hmac-md5: Moved from ../.
71016         * modules/crypto/hmac-md5-tests: Moved from ../.
71017         * modules/crypto/hmac-sha1: Moved from ../.
71018         * modules/crypto/hmac-sha1-tests: Moved from ../.
71019         * modules/crypto/md2: Moved from ../.
71020         * modules/crypto/md2-tests: Moved from ../.
71021         * modules/crypto/md4: Moved from ../.
71022         * modules/crypto/md4-tests: Moved from ../.
71023         * modules/crypto/md5: Moved from ../.
71024         * modules/crypto/md5-tests: Moved from ../.
71025         * modules/crypto/memxor: Moved from ../.
71026         * modules/crypto/rijndael: Moved from ../.
71027         * modules/crypto/rijndael-tests: Moved from ../.
71028         * modules/crypto/sha1: Moved from ../.
71029
71030 2007-03-30  James Youngman  <jay@gnu.org>
71031
71032         * tests/test-stat-time.c (prepare_test): use chmod() rather than
71033         rename() to change the ctime of a file (because ctime is unaffected
71034         by rename on jfs2 on AIX 5.1).
71035         (main): Start by doing cleanup, in case a previous run failed leaving
71036         test files behind.
71037
71038 2007-03-31  Bruno Haible  <bruno@clisp.org>
71039
71040         Support old proprietary implementations of iconv.
71041         * modules/iconv_open: New file.
71042         * lib/iconv_.h: New file.
71043         * m4/iconv_h.m4: New file.
71044         * lib/iconv_open.c: New file.
71045         * lib/iconv_open-aix.gperf: New file.
71046         * lib/iconv_open-hpux.gperf: New file.
71047         * lib/iconv_open-irix.gperf: New file.
71048         * lib/iconv_open-osf.gperf: New file.
71049         * m4/iconv_open.m4: New file.
71050         * modules/linebreak (Depends-on): Add iconv_open.
71051         * modules/striconv (Depends-on): Likewise.
71052         * modules/striconveh (Depends-on): Likewise.
71053         * modules/unicodeio (Depends-on): Likewise.
71054         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
71055         (iconv_t)(-1).
71056         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
71057         conversion if cd is (iconv_t)(-1).
71058         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
71059         is not possible.
71060
71061 2007-03-31  Bruno Haible  <bruno@clisp.org>
71062
71063         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71064         work on Solaris either. Protect also second use of "autodetect_jp".
71065
71066 2007-03-31  Bruno Haible  <bruno@clisp.org>
71067
71068         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
71069         the function is not present.
71070
71071 2007-03-31  Bruno Haible  <bruno@clisp.org>
71072
71073         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
71074         the function is not present.
71075
71076 2007-03-31  Bruno Haible  <bruno@clisp.org>
71077
71078         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
71079         a bug in HP-UX iconv_open().
71080
71081 2007-03-31  Bruno Haible  <bruno@clisp.org>
71082
71083         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
71084         (Mathematics <math.h>): New section, add fpieee.
71085         (Input/output <stdio.h>): Add fseterr.
71086         (Mathematics <math.h>): New section, add printf-frexp.
71087         (Container data structures): Add sublist.
71088         (Core language properties): Add fpucw, inline.
71089         (Functions for greatest-width integer types <inttypes.h>): Add
71090         imaxabs, imaxdiv, inttypes.
71091         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
71092         isnanl-nolibm, ldexp.
71093         (Mathematics <math.h>): New section, add printf-frexpl.
71094         (Support for systems lacking POSIX:2001): Add fprintf-posix,
71095         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
71096         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
71097         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
71098         (Unicode string functions): Add unistr/u*-mbtoucr.
71099         (Java): Add javacomp-script, javaexec-script.
71100         (C#): Add csharpcomp-script, csharpexec-script.
71101         (Support for building libraries and executables): Add havelib,
71102         relocatable-*.
71103         (Support for maintaining and releasing projects): Renamed from
71104         'Support for maintaining and release projects'. Add announce-gen.
71105
71106 2007-03-31  Bruno Haible  <bruno@clisp.org>
71107
71108         * README: Talk primarily about git.
71109         (git and CVS): Renamed from CVS.
71110         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
71111         gnulib is available through git.
71112         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
71113
71114 2007-03-30  Bruno Haible  <bruno@clisp.org>
71115
71116         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
71117         * lib/poll_.h: Likewise.
71118         * lib/stat_.h: Likewise.
71119         * lib/sys_time_.h: Likewise.
71120         * lib/sysexit_.h: Likewise.
71121         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
71122         * lib/stdbool_.h: Likewise.
71123         * lib/byteswap_.h: Add double-inclusion guard.
71124
71125 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
71126
71127         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
71128
71129 2007-03-30  Karl Berry  <karl@gnu.org>
71130
71131         * config/srclist-update: double space after USA in the license
71132         substitution, since that's how it's usually (?) written.
71133
71134 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
71135
71136         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
71137         reported by Bruno Haible.
71138
71139 2007-03-29  Bruno Haible  <bruno@clisp.org>
71140
71141         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
71142         a bug in AIX iconv().
71143
71144 2007-03-29  Bruno Haible  <bruno@clisp.org>
71145
71146         * modules/ldexpl-tests: New file.
71147         * tests/test-ldexpl.c: New file.
71148
71149 2007-03-29  Bruno Haible  <bruno@clisp.org>
71150
71151         * lib/ldexpl.c: Include fpucw.h.
71152         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
71153         multiplication.
71154         * modules/ldexpl (Depends-on): Add fpucw.
71155
71156 2007-03-29  Bruno Haible  <bruno@clisp.org>
71157
71158         * modules/ldexpl: New file.
71159         * m4/ldexpl.m4: New file.
71160         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
71161         set.
71162         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
71163         REPLACE_LDEXPL.
71164         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
71165         REPLACE_LDEXPL.
71166         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
71167         gl_FUNC_LDEXPL_WORKS.
71168         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
71169         * modules/mathl (Files): Remove lib/ldexpl.c.
71170         (Depends-on): Add ldexpl.
71171
71172 2007-03-29  Bruno Haible  <bruno@clisp.org>
71173
71174         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
71175
71176 2007-03-29  Bruno Haible  <bruno@clisp.org>
71177
71178         * tests/test-striconveh.c (main): Don't assume that a direct conversion
71179         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
71180         and possibly also HP-UX.
71181         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71182         work on AIX, IRIX, HP-UX, OSF/1.
71183         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
71184         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
71185         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
71186         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
71187         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
71188         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
71189
71190 2007-03-29  Bruno Haible  <bruno@clisp.org>
71191
71192         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
71193
71194 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71195
71196         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
71197         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
71198
71199 2007-03-29  Eric Blake  <ebb9@byu.net>
71200
71201         * lib/acl-internal.h: Remove redundant include.
71202         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
71203         Cygwin when a file is locked.
71204
71205 2007-03-29  Bruno Haible  <bruno@clisp.org>
71206
71207         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
71208         file.
71209         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
71210
71211 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71212
71213         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
71214         try to remove a parent directory if the child couldn't be removed
71215         (except for the first rmdir, which could fail because the child
71216         doesn't exist).  Problem reported by Jeff Blaine in
71217         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
71218
71219 2007-03-28  Bruno Haible  <bruno@clisp.org>
71220
71221         * lib/striconveh.c (utf8conv_carefully): New function.
71222         (mem_cd_iconveh_internal): Invoke it.
71223
71224 2007-03-28  Bruno Haible  <bruno@clisp.org>
71225
71226         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
71227         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
71228         input.
71229         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
71230         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
71231         unistr/u8-uctomb.
71232
71233 2007-03-28  Bruno Haible  <bruno@clisp.org>
71234
71235         * modules/unistr/u8-mbtoucr: New file.
71236         * lib/unistr/u8-mbtoucr.c: New file.
71237         * modules/unistr/u16-mbtoucr: New file.
71238         * lib/unistr/u16-mbtoucr.c: New file.
71239         * modules/unistr/u16-mbtoucr: New file.
71240         * lib/unistr/u16-mbtoucr.c: New file.
71241         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
71242
71243 2007-03-27  Simon Josefsson  <simon@josefsson.org>
71244             Bruno Haible  <bruno@clisp.org>
71245
71246         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
71247         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
71248         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
71249
71250         * m4/stdio_h.m4: Add stubs for vasprintf too.
71251
71252         * modules/stdio: Support vasprintf in sed command.
71253
71254         * modules/vasprintf: Depend on stdio for prototypes.  Remove
71255         vasprintf.h.  Add stdio module indicator.
71256
71257         * lib/stdio_.h: Declare asprintf and vasprintf, based on
71258         vasprintf.h.
71259
71260         * lib/vasprintf.h: File removed.
71261
71262         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
71263         * lib/vasprintf.c: Ditto.
71264         * lib/xvasprintf.c: Ditto.
71265         * tests/test-vasprintf-posix.c: Ditto.
71266         * tests/test-vasprintf.c: Ditto.
71267
71268 2007-03-27  Bruno Haible  <bruno@clisp.org>
71269
71270         Make vasnprintf multithread-safe.
71271         * lib/vasnprintf.c (decimal_point_char): New function.
71272         (VASNPRINTF): Use it.
71273         Suggested by Simon Josefsson.
71274
71275 2007-03-27  Eric Blake  <ebb9@byu.net>
71276
71277         Support sub-second birthtime on cygwin.
71278         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
71279         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
71280         (get_stat_birthtime): Also work with st_birthtim.
71281
71282 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
71283
71284         * lib/stat-time.h (USE_BIRTHTIME): Remove.
71285         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
71286         (get_stat_birthtime_ns): Do not try to use "spare" fields.
71287         (get_stat_birthtime_ns): Simplify compile-time tests.
71288         (get_stat_birthtime): Change the API to look like
71289         get_stat_mtime etc., except return a negative tv_nsec on error.
71290         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
71291         Don't check for "spare" fields.
71292         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
71293         or for struct stat.st_birthtime, as these tests aren't used.
71294         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
71295
71296 2007-03-27  Bruno Haible  <bruno@clisp.org>
71297
71298         * lib/stat-time.h: Include <sys/stat.h>.
71299
71300 2007-03-27  James Youngman  <jay@gnu.org>
71301
71302         * lib/stat-time.h (get_stat_birthtime): New function for
71303           retrieving st_birthtime as provided by UFS2 (hence *BSD).
71304         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
71305           and its variants.
71306         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
71307         * modules/stat-time-test: New file.
71308         * tests/test-stat-time.c: New test, devised by Bruno Haible.
71309
71310 2007-03-26  Bruno Haible  <bruno@clisp.org>
71311
71312         Better support of signalling NaNs.
71313         * lib/atanl.c: Include isnanl.h.
71314         (atanl): Perform test for NaN at the beginning of the function and
71315         through a call to isnanl.
71316         * lib/cosl.c: Include isnanl.h.
71317         (cosl): Perform test for NaN at the beginning of the function and
71318         through a call to isnanl.
71319         * lib/ldexpl.c: Include isnanl.h.
71320         (ldexpl): Perform test for NaN through a call to isnanl.
71321         * lib/logl.c: Include isnanl.h.
71322         (logl): Perform test for NaN at the beginning of the function and
71323         through a call to isnanl.
71324         * lib/sinl.c: Include isnanl.h.
71325         (sinl): Perform test for NaN at the beginning of the function and
71326         through a call to isnanl.
71327         * lib/sqrtl.c: Include isnanl.h.
71328         (sqrtl): Perform test for NaN at the beginning of the function and
71329         through a call to isnanl.
71330         * lib/tanl.c: Include isnanl.h.
71331         (tanl): Perform test for NaN at the beginning of the function and
71332         through a call to isnanl.
71333         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
71334         * modules/mathl (Depends-on): Add isnanl.
71335
71336 2007-03-26  Eric Blake  <ebb9@byu.net>
71337
71338         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
71339         regression in logic sense of previous patch.
71340
71341 2007-03-26  Bruno Haible  <bruno@clisp.org>
71342
71343         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
71344         unportable shell command "if ! ...".
71345         Reported by Ralf Wildenhues.
71346
71347 2007-03-25  Bruno Haible  <bruno@clisp.org>
71348
71349         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
71350         <sysexits.h> file, and only add EX_CONFIG.
71351         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
71352         absolute file name and whether it is sufficient. Substitute also
71353         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
71354         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
71355         ABSOLUTE_SYSEXITS_H into sysexits.h.
71356
71357 2007-03-25  Bruno Haible  <bruno@clisp.org>
71358
71359         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
71360         hints is NULL.
71361
71362 2007-03-25  Bruno Haible  <bruno@clisp.org>
71363
71364         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
71365         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
71366
71367 2007-03-25  Bruno Haible  <bruno@clisp.org>
71368
71369         * lib/vasnprintf.c: Include langinfo.h.
71370         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
71371         multithread-safe.
71372         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
71373         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
71374         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
71375         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71376         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71377         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71378         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
71379         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
71380         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71381         Reported by Simon Josefsson.
71382
71383 2007-03-25  Bruno Haible  <bruno@clisp.org>
71384
71385         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
71386         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
71387         * modules/vasnprintf (Depends-on): Add stdint.
71388
71389 2007-03-25  Bruno Haible  <bruno@clisp.org>
71390
71391         * modules/fpieee: New file.
71392         * m4/fpieee.m4: New file.
71393         * modules/isnan-nolibm (Depends-on): Add fpieee.
71394         * modules/isnanl-nolibm (Depends-on): Add fpieee.
71395         * modules/isnanl (Depends-on): Add fpieee.
71396
71397 2007-03-25  Bruno Haible  <bruno@clisp.org>
71398
71399         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
71400
71401 2007-03-25  Bruno Haible  <bruno@clisp.org>
71402
71403         Avoid test failures on IRIX 6.5.
71404         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
71405         (main): Use it.
71406         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
71407         macros.
71408         (main): Use them.
71409
71410 2007-03-25  Bruno Haible  <bruno@clisp.org>
71411
71412         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
71413         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
71414         exists but doesn't work.
71415         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
71416         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
71417         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
71418         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
71419         math.h.
71420
71421 2007-03-25  Bruno Haible  <bruno@clisp.org>
71422
71423         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
71424         returns inf. Needed on IRIX 6.5.
71425
71426 2007-03-25  Bruno Haible  <bruno@clisp.org>
71427
71428         * tests/test-frexpl.c: Include isnanl-nolibm.h.
71429         (main): Use isnanl instead of x != x idiom.
71430         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
71431
71432         * tests/test-frexp.c: Include isnan.h.
71433         (main): Use isnan instead of x != x idiom.
71434         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
71435
71436 2007-03-25  Bruno Haible  <bruno@clisp.org>
71437
71438         * tests/test-frexp.c (NaN): New function/macro.
71439         (main): Use it instead of 0.0 / 0.0.
71440         * tests/test-isnan.c (NaN): New function/macro.
71441         (main): Use it instead of 0.0 / 0.0.
71442         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
71443         (test_function): Use it instead of 0.0 / 0.0.
71444         * tests/test-vasprintf-posix.c (NaN): New function/macro.
71445         (test_function): Use it instead of 0.0 / 0.0.
71446         * tests/test-snprintf-posix.h (NaN): New function/macro.
71447         (test_function): Use it instead of 0.0 / 0.0.
71448         * tests/test-sprintf-posix.h (NaN): New function/macro.
71449         (test_function): Use it instead of 0.0 / 0.0.
71450         * tests/test-fprintf-posix.h (NaN): New function/macro.
71451         (test_function): Use it instead of 0.0 / 0.0.
71452         * tests/test-printf-posix.h (NaN): New function/macro.
71453         (test_function): Use it instead of 0.0 / 0.0.
71454
71455         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71456
71457 2007-03-25  Bruno Haible  <bruno@clisp.org>
71458
71459         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71460
71461 2007-03-25  Bruno Haible  <bruno@clisp.org>
71462
71463         * lib/regexec.c (merge_state_with_log): Make static.
71464
71465 2007-03-25  Bruno Haible  <bruno@clisp.org>
71466
71467         * lib/trigl.c (kernel_rem_pio2): Make static.
71468
71469 2007-03-25  Bruno Haible  <bruno@clisp.org>
71470
71471         * lib/sincosl.c (sincosl_table): Make static.
71472
71473 2007-03-25  Bruno Haible  <bruno@clisp.org>
71474
71475         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71476         if the compiler does not support C99.
71477
71478 2007-03-25  Bruno Haible  <bruno@clisp.org>
71479
71480         * modules/time (Makefile.am): Ensure all rule action lines start with a
71481         tab.
71482
71483 2007-03-24  Bruno Haible  <bruno@clisp.org>
71484
71485         * modules/tsearch-tests: New file.
71486         * tests/test-tsearch.sh: New file.
71487         * tests/test-tsearch.c: New file, mostly copied from glibc.
71488
71489         * modules/search-tests: New file.
71490         * tests/test-search.c: New file.
71491
71492         * modules/search: New file.
71493         * lib/search_.h: New file, incorporating lib/tsearch.h.
71494         * m4/search_h.m4: New file.
71495         * lib/tsearch.h: Remove file.
71496         * lib/tsearch.c: Include search.h instead of tsearch.h.
71497         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71498         HAVE_TSEARCH.
71499         * modules/tsearch (Files): Remove lib/tsearch.h.
71500         (Depends-on): Add search.
71501         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71502         (Include): Change tsearch.h into search.h.
71503
71504 2007-03-24  Bruno Haible  <bruno@clisp.org>
71505
71506         * modules/fpucw: New file.
71507         * lib/fpucw.h: New file.
71508         * lib/frexp.c: Include fpucw.h.
71509         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71510         (FUNC): Use them.
71511         * lib/printf-frexp.c: Include fpucw.h.
71512         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71513         (FUNC): Use them.
71514         * lib/vasnprintf.c: Include fpucw.h.
71515         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71516         'long double' calculations.
71517         * tests/test-frexpl.c: Include fpucw.h.
71518         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71519         * tests/test-printf-frexpl.c: Include fpucw.h.
71520         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71521         * modules/frexpl (Depends-on): Add fpucw.
71522         * modules/printf-frexpl (Depends-on): Likewise.
71523         * modules/fprintf-posix (Depends-on): Likewise.
71524         * modules/snprintf-posix (Depends-on): Likewise.
71525         * modules/sprintf-posix (Depends-on): Likewise.
71526         * modules/vasnprintf-posix (Depends-on): Likewise.
71527         * modules/vasprintf-posix (Depends-on): Likewise.
71528         * modules/vfprintf-posix (Depends-on): Likewise.
71529         * modules/vsnprintf-posix (Depends-on): Likewise.
71530         * modules/vsprintf-posix (Depends-on): Likewise.
71531         * modules/frexpl-tests (Depends-on): Likewise.
71532         * modules/printf-frexpl-tests (Depends-on): Likewise.
71533
71534 2007-03-24  Bruno Haible  <bruno@clisp.org>
71535
71536         * lib/float+.h: New file.
71537         * lib/isnan.c: Include float+.h.
71538         (SIZE): New macro.
71539         (FUNC): Compare only SIZE bytes of the value.
71540         * lib/vasnprintf.c: Include float+.h.
71541         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71542         SIZEOF_LDBL or SIZEOF_DBL bytes.
71543         * modules/isnan-nolibm (Files): Add lib/float+.h.
71544         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71545         * modules/isnanl (Files): Add lib/float+.h.
71546         * modules/vasnprintf (Files): Add lib/float+.h.
71547
71548 2007-03-24  Bruno Haible  <bruno@clisp.org>
71549
71550         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71551         include isnanl-nolibm.h.
71552
71553 2007-03-24  Bruno Haible  <bruno@clisp.org>
71554
71555         * tests/test-read-file.c (main): Don't produce spurious output for
71556         expected situations. Make the test fail if it encountered unexpected
71557         results.
71558
71559 2007-03-24  Bruno Haible  <bruno@clisp.org>
71560
71561         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71562         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71563
71564 2007-03-24  Bruno Haible  <bruno@clisp.org>
71565
71566         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71567
71568 2007-03-24  Bruno Haible  <bruno@clisp.org>
71569
71570         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71571         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71572
71573         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71574         * modules/utf8-ucs4: Turn into a symbolic link to module
71575         unistr/u8-mbtouc.
71576
71577         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71578         utf8-ucs4-unsafe.
71579         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71580         unistr/u8-mbtouc-unsafe.
71581
71582         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71583         * modules/utf16-ucs4: Turn into a symbolic link to module
71584         unistr/u16-mbtouc.
71585
71586         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71587         utf16-ucs4-unsafe.
71588         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71589         unistr/u16-mbtouc-unsafe.
71590
71591         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71592         * modules/ucs4-utf8: Turn into a symbolic link to module
71593         unistr/u8-ubtomb.
71594
71595         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71596         * modules/ucs4-utf16: Turn into a symbolic link to module
71597         unistr/u16-ubtomb.
71598
71599 2007-03-24  Bruno Haible  <bruno@clisp.org>
71600
71601         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71602         Enable the function only if HAVE_INLINE.
71603         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71604         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71605         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71606         Enable the function only if HAVE_INLINE.
71607         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71608         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71609         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71610         Enable the function only if HAVE_INLINE.
71611         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71612         Enable the function only if HAVE_INLINE.
71613         * modules/utf8-ucs4: Update.
71614         * modules/utf8-ucs4-unsafe: Update.
71615         * modules/utf16-ucs4: Update.
71616         * modules/utf16-ucs4-unsafe: Update.
71617         * modules/ucs4-utf8: Update.
71618         * modules/ucs4-utf16: Update.
71619
71620 2007-03-24  Bruno Haible  <bruno@clisp.org>
71621
71622         * lib/utf8-ucs4.h: Remove file.
71623         * lib/utf8-ucs4-unsafe.h: Remove file.
71624         * lib/utf16-ucs4.h: Remove file.
71625         * lib/utf16-ucs4-unsafe.h: Remove file.
71626         * lib/ucs4-utf8.h: Remove file.
71627         * lib/ucs4-utf16.h: Remove file.
71628         * lib/unistr.h: Include their previous contents.
71629         * m4/utf-ucs4.m4: Remove file.
71630         * m4/ucs4-utf.m4: Remove file.
71631         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71632         (Depends-on): Add unistr/base.
71633         (configure.ac): Remove gl_UTF_UCS4.
71634         (Makefile.am): Update.
71635         (Include): Change to unistr.h.
71636         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71637         (Depends-on): Add unistr/base.
71638         (configure.ac): Remove gl_UTF_UCS4.
71639         (Makefile.am): Update.
71640         (Include): Change to unistr.h.
71641         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71642         (Depends-on): Add unistr/base.
71643         (configure.ac): Remove gl_UTF_UCS4.
71644         (Makefile.am): Update.
71645         (Include): Change to unistr.h.
71646         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71647         (Depends-on): Add unistr/base.
71648         (configure.ac): Remove gl_UTF_UCS4.
71649         (Makefile.am): Update.
71650         (Include): Change to unistr.h.
71651         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71652         (Depends-on): Add unistr/base.
71653         (configure.ac): Remove gl_UCS4_UTF.
71654         (Makefile.am): Update.
71655         (Include): Change to unistr.h.
71656         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71657         (Depends-on): Add unistr/base.
71658         (configure.ac): Remove gl_UCS4_UTF.
71659         (Makefile.am): Update.
71660         (Include): Change to unistr.h.
71661         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71662         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71663         utf8-ucs4-unsafe.h.
71664         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71665         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71666         utf16-ucs4-unsafe.h.
71667         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71668         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71669         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71670         * lib/unistr/u8-strchr.c: Likewise.
71671         * lib/unistr/u8-strrchr.c: Likewise.
71672         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71673         * lib/unistr/u16-strchr.c: Likewise.
71674         * lib/unistr/u16-strrchr.c: Likewise.
71675         * lib/striconveh.c: Update.
71676         * lib/linebreak.c: Update.
71677
71678 2007-03-24  Bruno Haible  <bruno@clisp.org>
71679
71680         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71681         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71682
71683 2007-03-22  Bruno Haible  <bruno@clisp.org>
71684
71685         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71686
71687 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71688
71689         * MODULES.html.sh (File system functions): New module write-any-file.
71690         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71691         * m4/write-any-file.m4: New files.
71692
71693 2007-03-23  Eric Blake  <ebb9@byu.net>
71694
71695         * gnulib-tool: Rearrange space-tab sequences, since some editors
71696         like to eat them.
71697
71698 2007-03-23  Eric Blake  <ebb9@byu.net>
71699
71700         * lib/version-etc.c (version_etc_va): Update license wording to
71701         be more concise.  Recommended by Richard Stallman.
71702
71703 2007-03-22  Bruno Haible  <bruno@clisp.org>
71704
71705         * lib/poll.c (MSG_PEEK): New fallback definition.
71706
71707 2007-03-22  Bruno Haible  <bruno@clisp.org>
71708
71709         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71710         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71711         (main): Update.
71712         Fixes a compilation error on BeOS.
71713
71714 2007-03-22  Bruno Haible  <bruno@clisp.org>
71715
71716         * modules/frexpl-tests: New file.
71717         * tests/test-frexpl.c: New file.
71718
71719         * modules/frexpl: New file.
71720         * m4/frexpl.m4: New file.
71721         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71722         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71723         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71724         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71725         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71726         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71727
71728 2007-03-22  Bruno Haible  <bruno@clisp.org>
71729
71730         * lib/frexpl.c: Share code with lib/frexp.c.
71731         * modules/mathl (Files): Add lib/frexp.c.
71732         (Depends-on): Add isnanl-nolibm.
71733
71734 2007-03-22  Bruno Haible  <bruno@clisp.org>
71735
71736         * modules/printf-frexp (Files): Add m4/frexp.m4.
71737         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71738         only if the found frexp function actually works.
71739
71740 2007-03-22  Bruno Haible  <bruno@clisp.org>
71741
71742         * lib/frexp.c: Remove older implementation that uses divisions.
71743
71744 2007-03-21  Bruno Haible  <bruno@clisp.org>
71745
71746         * modules/frexp-tests: New file.
71747         * tests/test-frexp.c: New file.
71748
71749         * modules/frexp: New file.
71750         * lib/frexp.c: New file.
71751         * m4/frexp.m4: New file.
71752         * lib/math_.h (frexp): New declaration.
71753         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71754         REPLACE_FREXP.
71755         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71756
71757 2007-03-21  Bruno Haible  <bruno@clisp.org>
71758
71759         * modules/isnanl-tests: New file.
71760         * tests/test-isnanl.c: New file.
71761
71762         * modules/isnanl: New file.
71763         * lib/isnanl.h: New file.
71764         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71765         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71766         gl_FUNC_ISNANL_WORKS.
71767         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71768         New macros.
71769
71770 2007-03-21  Bruno Haible  <bruno@clisp.org>
71771
71772         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71773         lib/isnanl.h.
71774         (Include): Update.
71775         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71776         * lib/vasnprintf.c: Update.
71777         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71778         tests/test-isnanl.h, remove tests/test-isnanl.c.
71779         (Makefile.am): Update.
71780         * tests/test-isnanl-nolibm.c: New file.
71781         * tests/test-isnanl.h: New file.
71782         * tests/test-isnanl.c: Remove file.
71783
71784 2007-03-21  Jim Meyering  <jim@meyering.net>
71785
71786         When trying to open ".", treat ESTALE like EACCES.
71787         * lib/savewd.c (savewd_save): Resort to forking not just upon
71788         failure with EACCES, but also when errno is ESTALE.
71789
71790 2007-03-20  Bruno Haible  <bruno@clisp.org>
71791
71792         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71793         Needed on AIX 5.1. Reported by Matthew Woehlke.
71794
71795 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71796
71797         Suggestions by Bruno Haible:
71798         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71799         our own.
71800         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71801         * modules/acl (Depends-on): Add gettext.
71802
71803 2007-03-19  Bruno Haible  <bruno@clisp.org>
71804
71805         * modules/iconvme: Remove file.
71806         * lib/iconvme.h: Remove file.
71807         * lib/iconvme.c: Remove file.
71808         * m4/iconvme.m4: Remove file.
71809
71810 2007-03-19  Bruno Haible  <bruno@clisp.org>
71811
71812         * doc/relocatable-maint.texi: Break long shell script line.
71813         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71814
71815 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71816
71817         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71818         handle file_has_acl.
71819         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71820         * lib/acl.c: Move header inclusions and related macro defns into
71821         lib/acl-internal.h.
71822         (S_ISLNK): Remove defn, since that's now done for us.
71823         (file_has_acl): Move to lib/file-has-acl.c.
71824         Call acl_trivial if available.  This is the crucial part of the fix.
71825         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71826         shared within the library.  Rewrite a bit, partly to make it compatible
71827         with the GNU coding style.
71828         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71829         Remove unnecessary double-quotes.
71830         Don't test for acl_to_text; the build will catch that.
71831         Replace acl_entries if it doesn't exist and it is needed.
71832         Check for -lsec and acl_trivial (as used on Solaris 10).
71833         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71834         lib/file-has-acl.c.
71835         (Depends-on): Add sys_stat, for S_ISLNK.
71836
71837 2007-03-19  Ben Pfaff  <blp@gnu.org>
71838
71839         * doc/gnulib.texi: Fix typos.
71840         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71841
71842 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71843
71844         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71845         If size is zero here, buf must be zero.
71846
71847 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71848
71849         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71850         <bruno@clisp.org>.
71851
71852 2007-03-18  Bruno Haible  <bruno@clisp.org>
71853
71854         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71855         Suggested by Eric Blake.
71856
71857 2007-03-18  Ben Pfaff  <blp@gnu.org>
71858
71859         * doc/relocatable.texi: Recommend using as prefix a directory
71860         that does not exist and will never be created.  Based on
71861         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71862         and others.
71863
71864 2007-03-17  Bruno Haible  <bruno@clisp.org>
71865
71866         * lib/fchownat.c: Include lchown.h.
71867
71868 2007-03-17  Bruno Haible  <bruno@clisp.org>
71869
71870         Fix endless loop when the given allocated size was > INT_MAX.
71871         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71872         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71873         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71874         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71875         * lib/sprintf.c (sprintf): Likewise.
71876
71877 2007-03-17  Bruno Haible  <bruno@clisp.org>
71878
71879         * tests/test-argp-2.sh (func_compare): Output a context diff.
71880
71881 2007-03-17  Bruno Haible  <bruno@clisp.org>
71882
71883         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71884         locale's decimal-point character.
71885
71886 2007-03-17  Bruno Haible  <bruno@clisp.org>
71887
71888         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71889         before comparing it. Needed because on some platforms (e.g. x86) a
71890         'long double' occupies less bytes than sizeof (long double).
71891
71892 2007-03-17  Bruno Haible  <bruno@clisp.org>
71893
71894         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71895         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71896         * tests/test-getaddrinfo.c (simple): Likewise.
71897         * tests/test-read-file.c (main): Likewise.
71898
71899 2007-03-17  Bruno Haible  <bruno@clisp.org>
71900
71901         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71902
71903 2007-03-17  Bruno Haible  <bruno@clisp.org>
71904
71905         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71906         unused variable.
71907
71908 2007-03-17  Bruno Haible  <bruno@clisp.org>
71909
71910         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71911         * tests/test-c-strncasecmp.c: Likewise.
71912
71913 2007-03-17  Bruno Haible  <bruno@clisp.org>
71914
71915         * modules/stdlib (Depends-on): Add unistd.
71916         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71917         Needed for MacOS X 10.3.
71918
71919 2007-03-17  Bruno Haible  <bruno@clisp.org>
71920
71921         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71922
71923 2007-03-17  Bruno Haible  <bruno@clisp.org>
71924
71925         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71926
71927 2007-03-17  Bruno Haible  <bruno@clisp.org>
71928
71929         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71930         to reflect files copied from gnulib (with or without modifications).
71931         Suggested by Jim Meyering.
71932
71933 2007-03-17  Eric Blake  <ebb9@byu.net>
71934
71935         * NEWS: Document stdlib change from 2007-02-18.
71936
71937 2007-03-17  Jim Meyering  <jim@meyering.net>
71938
71939         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71940         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71941         someone uses a name containing shell meta-characters.
71942         Reported by Alfred M. Szmidt.
71943
71944         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71945
71946 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71947
71948         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71949         and copy gettext configuration files only if configure.ac contains
71950         a use of AM_GNU_GETTEXT_VERSION.
71951
71952 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71953
71954         * build-aux/bootstrap (gnulib_name): New variable.
71955         (gnulib_tool_options): Use it.
71956
71957 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71958
71959         * tests/test-des.c: Use new namespace.
71960
71961 2007-03-15  Bruno Haible  <bruno@clisp.org>
71962
71963         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71964         Reported by James Youngman <jay@gnu.org>.
71965
71966 2007-03-15  Bruno Haible  <bruno@clisp.org>
71967
71968         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71969         declared prototype. Needed with cc on OSF/1 5.1.
71970
71971 2007-03-15  Bruno Haible  <bruno@clisp.org>
71972
71973         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71974         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71975         (struct gl_list_implementation): Add dispose_fn argument to the
71976         'create_empty', 'create' methods.
71977         (struct gl_list_impl_base): Add field 'dispose_fn'.
71978         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71979         argument.
71980         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71981         dispose_fn argument.
71982         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71983         dispose_fn on the dropped values.
71984         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71985         dispose_fn argument.
71986         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71987         dropped values.
71988         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71989         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71990         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71991         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71992         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71993         argument.
71994         (gl_tree_list_free): Call dispose_fn on the dropped values.
71995         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71996         the dropped values.
71997         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71998         Add dispose_fn argument.
71999         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
72000         Call dispose_fn on the dropped values.
72001         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
72002         Add dispose_fn argument.
72003         (gl_sublist_create): Initialize the 'dispose_fn' field.
72004         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
72005         * tests/test-array_list.c (main): Update.
72006         * tests/test-carray_list.c (main): Update.
72007         * tests/test-avltree_list.c (main): Update.
72008         * tests/test-rbtree_list.c (main): Update.
72009         * tests/test-avltreehash_list.c (main): Update.
72010         * tests/test-rbtreehash_list.c (main): Update.
72011         * tests/test-linked_list.c (main): Update.
72012         * tests/test-linkedhash_list.c (main): Update.
72013         * tests/test-array_oset.c (main): Update.
72014
72015 2007-03-15  Bruno Haible  <bruno@clisp.org>
72016
72017         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
72018         (gl_oset_create_empty): Add dispose_fn argument.
72019         (struct gl_oset_implementation): Add dispose_fn argument to
72020         'create_empty' method.
72021         (struct gl_oset_impl_base): Add dispose_fn field.
72022         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
72023         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
72024         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
72025         values.
72026         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
72027         (gl_tree_oset_free): Call dispose_fn on the dropped values.
72028         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
72029         dropped value.
72030         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
72031         dropped value.
72032         * tests/test-array_oset.c (main): Update.
72033         * tests/test-avltree_oset.c (main): Update.
72034         * tests/test-rbtree_oset.c (main): Update.
72035         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
72036
72037 2007-03-13  Bruno Haible  <bruno@clisp.org>
72038
72039         * tests/test-stdbool.c (i): Update after last patch.
72040
72041 2007-03-12  Bruno Haible  <bruno@clisp.org>
72042
72043         * lib/quotearg.c: Include <wctype.h> early, before the definition of
72044         the iswprint macro. Needed on Solaris 2.5.1.
72045
72046 2007-03-12  Bruno Haible  <bruno@clisp.org>
72047
72048         * tests/test-printf-frexp.c (main): Declare x as volatile.
72049
72050 2007-03-12  Simon Josefsson  <simon@josefsson.org>
72051
72052         * doc/gnulib.texi (Build robot for gnulib): New section.
72053
72054 2007-03-12  Jim Meyering  <jim@meyering.net>
72055
72056         * build-aux/bootstrap: New file.
72057         * build-aux/bootstrap.conf: New file, from coreutils.
72058
72059 2007-03-11  Bruno Haible  <bruno@clisp.org>
72060
72061         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
72062
72063 2007-03-12  Simon Josefsson  <simon@josefsson.org>
72064
72065         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
72066         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
72067         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
72068
72069 2007-03-11  Bruno Haible  <bruno@clisp.org>
72070
72071         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
72072         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
72073
72074 2007-03-11  Bruno Haible  <bruno@clisp.org>
72075
72076         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
72077         formula. Needed for SunPRO C 5.0.
72078
72079 2007-03-11  Bruno Haible  <bruno@clisp.org>
72080
72081         * modules/long-options (Depends-on): Add getopt.
72082
72083 2007-03-11  Bruno Haible  <bruno@clisp.org>
72084
72085         * modules/modechange (Depends-on): Add stdbool.
72086
72087 2007-03-11  Bruno Haible  <bruno@clisp.org>
72088
72089         * modules/i-ring (Depends-on): Add stdbool.
72090
72091 2007-03-11  Bruno Haible  <bruno@clisp.org>
72092
72093         * modules/gc-des (Depends-on): Add stdbool.
72094
72095 2007-03-11  Bruno Haible  <bruno@clisp.org>
72096
72097         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
72098
72099 2007-03-11  Bruno Haible  <bruno@clisp.org>
72100
72101         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
72102
72103 2007-03-11  Bruno Haible  <bruno@clisp.org>
72104
72105         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
72106
72107 2007-03-11  Bruno Haible  <bruno@clisp.org>
72108
72109         * lib/vasnprintf.c (sprintf): Undefine.
72110
72111 2007-03-11  Bruno Haible  <bruno@clisp.org>
72112
72113         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
72114         initializers in SunPRO C and Compaq C compilers.
72115
72116 2007-03-11  Bruno Haible  <bruno@clisp.org>
72117
72118         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
72119         decrementing code ANSI C compliant.
72120
72121 2007-03-11  Bruno Haible  <bruno@clisp.org>
72122
72123         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
72124         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
72125
72126 2007-03-11  Bruno Haible  <bruno@clisp.org>
72127
72128         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
72129         <stdbool.h> substitute doesn't pass.
72130
72131 2007-03-11  Bruno Haible  <bruno@clisp.org>
72132
72133         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
72134
72135 2007-03-11  Bruno Haible  <bruno@clisp.org>
72136
72137         * gnulib-tool (func_create_megatestdir): Create also an autobuild
72138         script, for submission to autobuild.josefsson.org.
72139
72140 2007-03-10  Bruno Haible  <bruno@clisp.org>
72141
72142         * modules/canonicalize-lgpl-tests: New file.
72143         * tests/test-canonicalize-lgpl.sh: New file.
72144         * tests/test-canonicalize-lgpl.c: New file.
72145
72146         * modules/c-strcase-tests: New file.
72147         * tests/test-c-strcase.sh: New file.
72148         * tests/test-c-strcasecmp.c: New file.
72149         * tests/test-c-strncasecmp.c: New file.
72150
72151         * modules/atexit-tests: New file.
72152         * tests/test-atexit.sh: New file.
72153         * tests/test-atexit.c: New file.
72154
72155 2007-03-10  Bruno Haible  <bruno@clisp.org>
72156
72157         * tests/test-binary-io.sh: Use temporary filenames that are not so
72158         likely to clash with those of other tests (in a parallel make).
72159         * tests/test-binary-io.c: Likewise.
72160
72161 2007-03-10  Bruno Haible  <bruno@clisp.org>
72162
72163         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
72164         fallback; use #error instead.
72165         Suggested by Simon Josefsson.
72166
72167 2007-03-10  Bruno Haible  <bruno@clisp.org>
72168
72169         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
72170         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
72171         first and the last.
72172
72173 2007-03-10  Bruno Haible  <bruno@clisp.org>
72174
72175         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
72176
72177 2007-03-10  Bruno Haible  <bruno@clisp.org>
72178
72179         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
72180         "make distcheck".
72181         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
72182         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
72183         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
72184
72185 2007-03-10  Bruno Haible  <bruno@clisp.org>
72186
72187         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
72188         variable.
72189         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
72190         variable.
72191
72192 2007-03-09  Eric Blake  <ebb9@byu.net>
72193         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
72194
72195         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
72196         types are not being provided by gnulib.
72197         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
72198         types are supported.
72199
72200 2007-03-10  Bruno Haible  <bruno@clisp.org>
72201
72202         * lib/stdio_.h (__attribute__): New macro.
72203         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
72204         vsprintf): Specify __attribute__ __format__ for GCC.
72205         Suggested by Eric Blake.
72206
72207 2007-03-09  Bruno Haible  <bruno@clisp.org>
72208
72209         * modules/printf-posix-tests: New file.
72210         * tests/test-printf-posix.sh: New file.
72211         * tests/test-printf-posix.c: New file.
72212
72213         * modules/printf-posix: New file.
72214         * lib/printf.c: New file.
72215         * m4/printf-posix-rpl.m4: New file.
72216         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
72217         REPLACE_PRINTF.
72218         * lib/stdio_.h (printf): New declaration.
72219         (format, __format__, ____printf____, ____scanf____, ____strftime____,
72220         ____strfmon____): New macros.
72221         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
72222         REPLACE_PRINTF.
72223
72224 2007-03-09  Bruno Haible  <bruno@clisp.org>
72225
72226         * tests/test-vasnprintf-posix2.sh: New file.
72227         * tests/test-vasnprintf-posix2.c: New file.
72228         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
72229         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
72230         (Makefile.am): Activate test-vasnprintf-posix2.sh.
72231
72232         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
72233         a locale dependent decimal point, rather than always '.'.
72234
72235 2007-03-09  Eric Blake  <ebb9@byu.net>
72236
72237         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
72238         spite of platforms like Tandem/NSK that define it to -1.
72239
72240 2007-03-08  Bruno Haible  <bruno@clisp.org>
72241
72242         * modules/vprintf-posix-tests: New file.
72243         * tests/test-vprintf-posix.sh: New file.
72244         * tests/test-vprintf-posix.c: New file.
72245         * tests/test-printf-posix.h: New file.
72246
72247         * modules/vprintf-posix: New file.
72248         * lib/vprintf.c: New file.
72249         * m4/vprintf-posix.m4: New file.
72250         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
72251         REPLACE_VPRINTF.
72252         * lib/stdio_.h (vprintf): New declaration.
72253         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
72254         REPLACE_VPRINTF.
72255
72256 2007-03-08  Bruno Haible  <bruno@clisp.org>
72257
72258         * modules/fprintf-posix-tests: New file.
72259         * tests/test-fprintf-posix.sh: New file.
72260         * tests/test-fprintf-posix.c: New file.
72261
72262         * modules/fprintf-posix: New file.
72263         * lib/fprintf.c: New file.
72264         * m4/fprintf-posix.m4: New file.
72265         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
72266         REPLACE_FPRINTF.
72267         * lib/stdio_.h (fprintf): New declaration.
72268         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
72269         REPLACE_FPRINTF.
72270
72271 2007-03-08  Bruno Haible  <bruno@clisp.org>
72272
72273         * modules/vfprintf-posix-tests: New file.
72274         * tests/test-vfprintf-posix.sh: New file.
72275         * tests/test-vfprintf-posix.c: New file.
72276         * tests/test-fprintf-posix.h: New file.
72277         * tests/test-fprintf-posix.out: New file.
72278
72279         * modules/vfprintf-posix: New file.
72280         * lib/vfprintf.c: New file.
72281         * m4/vfprintf-posix.m4: New file.
72282         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
72283         REPLACE_VFPRINTF.
72284         * lib/stdio_.h (vfprintf): New declaration.
72285         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
72286         REPLACE_VFPRINTF.
72287
72288 2007-03-08  Bruno Haible  <bruno@clisp.org>
72289
72290         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
72291
72292 2007-03-08  Bruno Haible  <bruno@clisp.org>
72293
72294         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
72295         instead of 'expr' invocations.
72296         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
72297         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
72298         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
72299         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
72300         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
72301         Suggested by Paul Eggert.
72302
72303 2007-03-08  Bruno Haible  <bruno@clisp.org>
72304
72305         * modules/fseterr-tests: New file.
72306         * tests/test-fseterr.c: New file.
72307
72308         * modules/fseterr: New file.
72309         * lib/fseterr.h: New file.
72310         * lib/fseterr.c: New file.
72311
72312 2007-03-08  Bruno Haible  <bruno@clisp.org>
72313
72314         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
72315         * lib/getopt_.h: Likewise.
72316         * lib/mbswidth.h: Likewise.
72317         * lib/setenv.h: Likewise.
72318         * lib/vasnprintf.h: Likewise.
72319         * lib/vasprintf.h: Likewise.
72320         * lib/verror.h: Likewise.
72321         * lib/xsetenv.h: Likewise.
72322         * lib/xvasprintf.h: Likewise.
72323
72324 2007-03-08  Jim Meyering  <jim@meyering.net>
72325
72326         * users.txt: Add parted.
72327
72328         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
72329
72330 2007-03-07  Bruno Haible  <bruno@clisp.org>
72331
72332         * m4/printf.m4: Make the shell script snippets copy&pastable.
72333
72334 2007-03-02  Bruno Haible  <bruno@clisp.org>
72335
72336         * lib/netinet_in_.h: New file.
72337         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
72338         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
72339         * modules/netinet_in (Files): Add lib/netinet_in_.h.
72340         (Depends-on): Add absolute-header.
72341         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
72342         into netinet/in.h.
72343
72344 2007-03-03  Bruno Haible  <bruno@clisp.org>
72345
72346         * lib/sys_select_.h: New file.
72347         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
72348         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
72349         * modules/sys_select (Files): Add lib/sys_select_.h.
72350         (Depends-on): Add absolute-header.
72351         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
72352         into sys/select.h.
72353
72354 2007-03-02  Bruno Haible  <bruno@clisp.org>
72355
72356         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
72357         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
72358         values.
72359         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
72360         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
72361         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
72362         * modules/sys_socket (Depends-on): Add absolute-header.
72363         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
72364         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
72365         (Include): Remove requirement of inclusion of <sys/types.h>.
72366
72367 2007-03-02  Bruno Haible  <bruno@clisp.org>
72368
72369         * lib/byteswap_.h (bswap_32): Fix formula.
72370
72371 2007-03-06  Bruno Haible  <bruno@clisp.org>
72372
72373         * modules/sprintf-posix-tests: New file.
72374         * tests/test-sprintf-posix.c: New file.
72375
72376         * modules/sprintf-posix: New file.
72377         * lib/sprintf.c: New file.
72378         * m4/sprintf-posix.m4: New file.
72379         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
72380         REPLACE_SPRINTF.
72381         * lib/stdio_.h (sprintf): New declaration.
72382         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
72383         REPLACE_SPRINTF.
72384
72385 2007-03-06  Bruno Haible  <bruno@clisp.org>
72386
72387         * modules/vsprintf-posix-tests: New file.
72388         * tests/test-vsprintf-posix.c: New file.
72389         * tests/test-sprintf-posix.h: New file.
72390
72391         * modules/vsprintf-posix: New file.
72392         * lib/vsprintf.c: New file.
72393         * m4/vsprintf-posix.m4: New file.
72394         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
72395         REPLACE_VSPRINTF.
72396         * lib/stdio_.h (vsprintf): New declaration.
72397         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
72398         REPLACE_VSPRINTF.
72399
72400 2007-03-06  Bruno Haible  <bruno@clisp.org>
72401
72402         * modules/vsnprintf (Depend-on): Remove minmax.
72403
72404 2007-03-06  Bruno Haible  <bruno@clisp.org>
72405
72406         * modules/snprintf-posix-tests: New file.
72407         * tests/test-snprintf-posix.c: New file.
72408
72409         * modules/snprintf-posix: New file.
72410         * m4/snprintf-posix.m4: New file.
72411         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
72412         gl_FUNC_SNPRINTF.
72413         (gl_FUNC_SNPRINTF): Invoke it.
72414         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
72415         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
72416         is set.
72417         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
72418
72419 2007-03-06  Bruno Haible  <bruno@clisp.org>
72420
72421         * modules/vsnprintf-posix-tests: New file.
72422         * tests/test-vsnprintf-posix.c: New file.
72423         * tests/test-snprintf-posix.h: New file.
72424
72425         * modules/vsnprintf-posix: New file.
72426         * m4/vsnprintf-posix.m4: New file.
72427         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
72428         gl_FUNC_VSNPRINTF.
72429         (gl_FUNC_VSNPRINTF): Invoke it.
72430         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
72431         * lib/stdio_.h (vsnprintf): Define as a replacement if
72432         REPLACE_VSNPRINTF is set.
72433         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
72434
72435 2007-03-06  Bruno Haible  <bruno@clisp.org>
72436
72437         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
72438         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
72439
72440 2007-03-06  Bruno Haible  <bruno@clisp.org>
72441
72442         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
72443         (asinl): Declare also if HAVE_DECL_ASINL is set.
72444         (atanl): Declare also if HAVE_DECL_ATANL is set.
72445         (ceill): Declare also if HAVE_DECL_CEILL is set.
72446         (cosl): Declare also if HAVE_DECL_COSL is set.
72447         (expl): Declare also if HAVE_DECL_EXPL is set.
72448         (floorl): Declare also if HAVE_DECL_FLOORL is set.
72449         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
72450         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
72451         (logl): Declare also if HAVE_DECL_LOGL is set.
72452         (sinl): Declare also if HAVE_DECL_SINL is set.
72453         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
72454         (tanl): Declare also if HAVE_DECL_TANL is set.
72455         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72456         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72457         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72458         declaration of frexpl, ldexpl.
72459         * modules/printf-frexpl (Depends-on): Add math.
72460         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72461
72462 2007-03-05  Bruno Haible  <bruno@clisp.org>
72463
72464         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72465         frexpl and ldexpl are declared.
72466         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72467
72468 2007-03-05  Bruno Haible  <bruno@clisp.org>
72469
72470         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72471         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72472
72473 2007-03-05  Bruno Haible  <bruno@clisp.org>
72474
72475         * lib/stdio_.h: Include <stddef.h>.
72476
72477 2007-03-05  Bruno Haible  <bruno@clisp.org>
72478
72479         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72480
72481 2007-03-05  Bruno Haible  <bruno@clisp.org>
72482
72483         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72484         NetBSD 4, from Ralf Wildenhues.
72485
72486 2007-03-04  Bruno Haible  <bruno@clisp.org>
72487
72488         * lib/vasprintf.h: Update #if logic for the case when the functions
72489         exist but are overridden.
72490
72491 2007-03-04  Bruno Haible  <bruno@clisp.org>
72492
72493         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72494         implementations: glibc-2.4 and MacOS X 10.3.
72495         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72496         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72497         * tests/test-vasprintf-posix.c (test_function): Likewise.
72498
72499 2007-03-04  Bruno Haible  <bruno@clisp.org>
72500
72501         * modules/vasprintf-posix-tests: New file.
72502         * tests/test-vasprintf-posix.c: New file.
72503
72504         * modules/vasprintf-posix: New file.
72505         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72506         defined.
72507         * m4/vasprintf-posix.m4: New file.
72508         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72509         gl_FUNC_VASPRINTF.
72510         (gl_FUNC_VASPRINTF): Invoke it.
72511         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72512         here.
72513         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72514
72515 2007-03-04  Bruno Haible  <bruno@clisp.org>
72516
72517         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72518         REPLACE_GETTIMEOFDAY.
72519         * modules/sys_time (Makefile.am): Likewise.
72520         * m4/sys_time_h.m4: Likewise.
72521         * m4/gettimeofday.m4: Likewise.
72522
72523 2007-03-04  Bruno Haible  <bruno@clisp.org>
72524
72525         * modules/vasnprintf-posix-tests: New file.
72526         * tests/test-vasnprintf-posix.c: New file.
72527
72528         * modules/vasnprintf-posix: New file.
72529         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72530         printf-frexpl.h.
72531         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72532         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72533         REPLACE_VASNPRINTF is defined.
72534         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72535         gl_FUNC_VASNPRINTF.
72536         (gl_FUNC_VASNPRINTF): Invoke it.
72537         * m4/vasnprintf-posix.m4: New file.
72538         * m4/printf.m4: New file.
72539
72540 2007-03-04  Bruno Haible  <bruno@clisp.org>
72541
72542         Compile progreloc.c only if --enable-relocatable is specified.
72543         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72544         if --enable-relocatable was specified.
72545         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72546         lib_SOURCES.
72547
72548 2007-03-04  Jim Meyering  <jim@meyering.net>
72549
72550         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72551         Use it consistently, rather than enumerating errno constants.
72552
72553 2007-03-04  Bruno Haible  <bruno@clisp.org>
72554
72555         * modules/xvasprintf-tests: New file.
72556         * tests/test-xvasprintf.c: New file.
72557
72558         * modules/vasprintf-tests: New file.
72559         * tests/test-vasprintf.c: New file.
72560
72561         * modules/vasnprintf-tests: New file.
72562         * tests/test-vasnprintf.c: New file.
72563
72564         * modules/vsnprintf-tests: New file.
72565         * tests/test-vsnprintf.c: New file.
72566
72567         * modules/snprintf-tests: New file.
72568         * tests/test-snprintf.c: New file.
72569
72570 2007-03-04  Bruno Haible  <bruno@clisp.org>
72571
72572         Compile relocatable.c only if --enable-relocatable is specified.
72573         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72574         gl_RELOCATABLE_LIBRARY.
72575         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72576         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72577         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72578         gl_RELOCATABLE_LIBRARY.
72579         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72580         (Makefile.am): Remove lib_SOURCES.
72581         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72582         gl_RELOCATABLE_LIBRARY.
72583         (Makefile.am): Remove lib_SOURCES.
72584         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72585         always.
72586         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72587         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72588
72589 2007-03-04  Bruno Haible  <bruno@clisp.org>
72590
72591         * modules/argmatch-tests: New file.
72592         * tests/test-argmatch.c: New file.
72593
72594         * tests/test-allocsa.c (main): Halve the number of loop runs.
72595
72596         * modules/alloca-opt-tests: New file.
72597         * tests/test-alloca-opt.c: New file.
72598
72599 2007-03-04  Jim Meyering  <jim@meyering.net>
72600
72601         Work around difference between Linux ACLs and Solaris 10 ZFS.
72602         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72603         for EINVAL.
72604
72605 2007-03-03  Bruno Haible  <bruno@clisp.org>
72606
72607         * modules/relocatable-prog (Depends-on): Add back progreloc's
72608         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72609
72610 2007-03-03  Bruno Haible  <bruno@clisp.org>
72611
72612         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72613         * modules/relocatable-lib: New file.
72614
72615 2007-03-03  Bruno Haible  <bruno@clisp.org>
72616
72617         * modules/relocatable-prog: Renamed from modules/relocatable.
72618         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72619
72620 2007-03-03  Bruno Haible  <bruno@clisp.org>
72621
72622         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72623         m4/relocatable-lib.m4.
72624         (Depends-on): Remove 'relocatable'.
72625         (configure.ac): Add gl_RELOCATABLE_NOP.
72626
72627 2007-03-03  Bruno Haible  <bruno@clisp.org>
72628
72629         * modules/relocatable-prog-wrapper: New file.
72630         * modules/relocatable (Depends-on): Add it. Remove all other
72631         dependencies except progname.
72632         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72633
72634         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72635         (gl_FUNC_STRERROR): Nop.
72636         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72637
72638         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72639         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72640
72641         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72642         (gl_FUNC_READLINK): Update.
72643
72644         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72645
72646 2007-03-03  Bruno Haible  <bruno@clisp.org>
72647
72648         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72649         * modules/xreadlink (Depends-on): Add unistd.
72650         * modules/xreadlink-with-size (Depends-on): Likewise.
72651
72652 2007-03-03  Bruno Haible  <bruno@clisp.org>
72653
72654         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72655         extracted from gt_FUNC_SETENV.
72656         (gt_FUNC_SETENV): Remove macro.
72657         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72658         remove gt_FUNC_SETENV.
72659
72660 2007-03-03  Bruno Haible  <bruno@clisp.org>
72661
72662         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72663         ENABLE_RELOCATABLE here.
72664         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72665
72666 2007-03-03  Bruno Haible  <bruno@clisp.org>
72667
72668         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72669         * tests/test-rbtreehash_list.c: Include progname.h.
72670         (main): Call set_program_name.
72671
72672         * modules/rbtree-oset-tests (Depends-on): Add progname.
72673         * tests/test-rbtree_oset.c: Include progname.h.
72674         (main): Call set_program_name.
72675
72676         * modules/rbtree-list-tests (Depends-on): Add progname.
72677         * tests/test-rbtree_list.c: Include progname.h.
72678         (main): Call set_program_name.
72679
72680         * modules/linked-list-tests (Depends-on): Add progname.
72681         * tests/test-linked_list.c: Include progname.h.
72682         (main): Call set_program_name.
72683
72684 2007-03-03  Bruno Haible  <bruno@clisp.org>
72685
72686         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72687         All uses of __restrict changed to _Restrict_.
72688         * lib/glob_.h (__restrict): Remove macro.
72689
72690 2007-03-02  Bruno Haible  <bruno@clisp.org>
72691
72692         * modules/gettext (configure.ac): Require gettext infrastructure
72693         from version 0.16.1.
72694
72695 2007-03-02  Bruno Haible  <bruno@clisp.org>
72696
72697         * modules/linkedhash-list-tests (Depends-on): Add progname.
72698         * tests/test-linkedhash_list.c: Include progname.h.
72699         (main): Call set_program_name.
72700
72701         * modules/carray-list-tests (Depends-on): Add progname.
72702         * tests/test-carray_list.c: Include progname.h.
72703         (main): Call set_program_name.
72704
72705         * modules/avltreehash-list-tests (Depends-on): Add progname.
72706         * tests/test-avltreehash_list.c: Include progname.h.
72707         (main): Call set_program_name.
72708
72709         * modules/avltree-oset-tests (Depends-on): Add progname.
72710         * tests/test-avltree_oset.c: Include progname.h.
72711         (main): Call set_program_name.
72712
72713         * modules/avltree-list-tests (Depends-on): Add progname.
72714         * tests/test-avltree_list.c: Include progname.h.
72715         (main): Call set_program_name.
72716
72717         * modules/array-oset-tests (Depends-on): Add progname.
72718         * tests/test-array_oset.c: Include progname.h.
72719         (main): Call set_program_name.
72720
72721         * modules/array-list-tests (Depends-on): Add progname.
72722         * tests/test-array_list.c: Include progname.h.
72723         (main): Call set_program_name.
72724
72725         * modules/argp-tests (Depends-on): Add progname.
72726         * tests/test-argp.c: Include argp.h first. Include progname.h.
72727         (main): Call set_program_name.
72728
72729 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72730
72731         * doc/gnulib-tool.texi (Initial import): Reword description of
72732         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72733         limited effect even if defined after the first system include.
72734
72735 2007-03-01  Bruno Haible  <bruno@clisp.org>
72736
72737         * build-aux/config.libpath: Update to libtool-1.5.22.
72738         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72739
72740 2007-03-01  Bruno Haible  <bruno@clisp.org>
72741
72742         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72743         foo_CFLAGS.
72744         Reported by Ralf Wildenhues.
72745
72746 2007-03-01  Bruno Haible  <bruno@clisp.org>
72747
72748         * build-aux/install-reloc: Remove object files left over by some
72749         compilers.
72750         Reported by Ralf Wildenhues.
72751
72752 2007-03-01  Bruno Haible  <bruno@clisp.org>
72753
72754         * build-aux/install-reloc: Break long lines.
72755
72756 2007-03-01  Bruno Haible  <bruno@clisp.org>
72757
72758         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72759         Reported by Ralf Wildenhues.
72760
72761 2007-03-01  Bruno Haible  <bruno@clisp.org>
72762
72763         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72764         include ordering constraints.
72765
72766 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72767
72768         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72769         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72770         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72771         as another example.
72772         * lib/time_.h: Fix misspelling.
72773         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72774         Require gl_HEADER_TIME_H_DEFAULTS.
72775         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72776         * m4/time_r.m4 (gl_TIME_R): Likewise.
72777         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72778
72779 2007-03-01  Bruno Haible  <bruno@clisp.org>
72780
72781         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72782         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72783
72784 2007-03-01  Jim Meyering  <jim@meyering.net>
72785
72786         * modules/xreadlink (Maintainer): Add my name.
72787         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72788
72789 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72790             Bruno Haible  <bruno@clisp.org>
72791
72792         * build-aux/install-reloc: Compile also c-ctype.c.
72793         * build-aux/relocatable.sh.in: New file.
72794         * doc/relocatable.texi: New file.
72795         * doc/relocatable-maint.texi: New file.
72796         * doc/gnulib.texi: Include relocatable-maint.texi.
72797         * lib/progreloc.c: Include unistd.h unconditionally.
72798         * lib/relocwrapper.c: Include unistd.h unconditionally.
72799         Include c-ctype.h.
72800         (add_dotbin): Use c_tolower.
72801         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72802         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72803         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72804         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72805         to m4/relocatable-lib.m4.
72806         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72807         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72808         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72809         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72810         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72811         * modules/relocatable: New file.
72812         * modules/relocatable-lib: New file.
72813         * modules/relocatable-script: New file.
72814
72815 2007-02-28  Bruno Haible  <bruno@clisp.org>
72816
72817         Import --enable-relocatable infrastructure.
72818         * build-aux/config.libpath: New file, from GNU gettext.
72819         * build-aux/install-reloc: New file, from GNU gettext.
72820         * build-aux/reloc-ldflags: New file, from GNU gettext.
72821         * lib/relocatable.h: New file, from GNU gettext.
72822         * lib/relocatable.c: New file, from GNU gettext.
72823         * lib/relocwrapper.c: New file, from GNU gettext.
72824         * m4/relocatable.m4: New file, from GNU gettext.
72825
72826 2007-02-28  Bruno Haible  <bruno@clisp.org>
72827
72828         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72829
72830         * modules/xreadlink: New file, from GNU gettext with modifications.
72831         * lib/xreadlink.c: New file, from GNU gettext.
72832         * lib/xreadlink.h: Add comments.
72833         (xreadlink): New declaration.
72834
72835         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72836         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72837         lib/xreadlink-with-size.c.
72838         (configure.ac): Remove gl_XREADLINK invocation.
72839         (Makefile.am): Augment lib_SOURCES.
72840         * m4/xreadlink.m4: Remove file.
72841         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72842         (xreadlink_with_size): Renamed from xreadink.
72843         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72844         * modules/canonicalize (Depends-on): Replace xreadlink with
72845         xreadlink-with-size.
72846         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72847
72848 2007-02-25  Jim Meyering  <jim@meyering.net>
72849
72850         * build-aux/announce-gen: When complaining about excess arguments,
72851         list them.
72852
72853 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72854
72855         * README: Document signed integer overflow situation more
72856         accurately.
72857
72858 2007-02-25  Bruno Haible  <bruno@clisp.org>
72859
72860         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72861         'a' or 'A' conversion.
72862
72863 2007-02-25  Bruno Haible  <bruno@clisp.org>
72864
72865         * modules/filename: Renamed from modules/pathname.
72866         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72867         lib/concatpath.c with lib/concat-filename.c.
72868         (Makefile.am): Update.
72869         (Include): Replace pathname.h with filename.h.
72870         * lib/filename.h: Renamed from lib/pathname.h.
72871         (concatenated_filename): Renamed from concatenated_pathname.
72872         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72873         (concatenated_filename): Renamed from concatenated_pathname.
72874         * lib/findprog.c: Include filename.h instead of pathname.h.
72875         (find_in_path): Update.
72876         * lib/javacomp.c: Include filename.h instead of pathname.h.
72877         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72878         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72879         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72880         is_oldgcj_14_13_usable, is_javac_usable): Update.
72881         * lib/javaexec.c: Include filename.h instead of pathname.h.
72882         (execute_java_class): Update.
72883         * modules/findprog: Update.
72884         * modules/javacomp: Update.
72885         * modules/javaexec: Update.
72886         * MODULES.html.sh (File system functions): Add 'filename', remove
72887         'pathname'.
72888
72889 2007-02-25  Bruno Haible  <bruno@clisp.org>
72890
72891         * modules/printf-frexpl-tests: New file.
72892         * tests/test-printf-frexpl.c: New file.
72893
72894         * modules/printf-frexpl: New file.
72895         * lib/printf-frexpl.h: New file.
72896         * lib/printf-frexpl.c: New file.
72897         * m4/printf-frexpl.m4: New file.
72898
72899 2007-02-25  Bruno Haible  <bruno@clisp.org>
72900
72901         * modules/printf-frexp-tests: New file.
72902         * tests/test-printf-frexp.c: New file.
72903
72904         * modules/printf-frexp: New file.
72905         * lib/printf-frexp.h: New file.
72906         * lib/printf-frexp.c: New file.
72907         * m4/printf-frexp.m4: New file.
72908
72909 2007-02-25  Bruno Haible  <bruno@clisp.org>
72910
72911         Assume automake >= 1.10 for the tests.
72912         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72913         * modules/arctwo-tests: Likewise.
72914         * modules/argp-tests: Likewise.
72915         * modules/avltree-list-tests: Likewise.
72916         * modules/avltree-oset-tests: Likewise.
72917         * modules/avltreehash-list-tests: Likewise.
72918         * modules/carray-list-tests: Likewise.
72919         * modules/crc-tests: Likewise.
72920         * modules/des-tests: Likewise.
72921         * modules/gc-arcfour-tests: Likewise.
72922         * modules/gc-arctwo-tests: Likewise.
72923         * modules/gc-des-tests: Likewise.
72924         * modules/gc-hmac-md5-tests: Likewise.
72925         * modules/gc-hmac-sha1-tests: Likewise.
72926         * modules/gc-md2-tests: Likewise.
72927         * modules/gc-md4-tests: Likewise.
72928         * modules/gc-md5-tests: Likewise.
72929         * modules/gc-pbkdf2-sha1-tests: Likewise.
72930         * modules/gc-rijndael-tests: Likewise.
72931         * modules/gc-sha1-tests: Likewise.
72932         * modules/gc-tests: Likewise.
72933         * modules/getaddrinfo-tests: Likewise.
72934         * modules/hmac-md5-tests: Likewise.
72935         * modules/hmac-sha1-tests: Likewise.
72936         * modules/linked-list-tests: Likewise.
72937         * modules/linkedhash-list-tests: Likewise.
72938         * modules/lock-tests: Likewise.
72939         * modules/md2-tests: Likewise.
72940         * modules/md4-tests: Likewise.
72941         * modules/md5-tests: Likewise.
72942         * modules/rbtree-list-tests: Likewise.
72943         * modules/rbtree-oset-tests: Likewise.
72944         * modules/rbtreehash-list-tests: Likewise.
72945         * modules/read-file-tests: Likewise.
72946         * modules/rijndael-tests: Likewise.
72947         * modules/stdint-tests: Likewise.
72948         * modules/tls-tests: Likewise.
72949
72950 2007-02-24  Bruno Haible  <bruno@clisp.org>
72951
72952         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72953         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72954         function; instead check whether isnan with a double argument links.
72955         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72956         function; instead check whether isnan with a 'long double' argument
72957         links.
72958         Reported by Eric Blake <ebb9@byu.net>.
72959
72960 2007-02-24  Bruno Haible  <bruno@clisp.org>
72961
72962         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72963         defined.
72964         * lib/isnanl.c: Remove all code. Just include isnan.c.
72965         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72966
72967 2007-02-25  Jim Meyering  <jim@meyering.net>
72968
72969         Avoid conflicting types for 'unsetenv' on FreeBSD.
72970         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72971         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72972         in stdlib.h.
72973
72974 2007-02-24  Bruno Haible  <bruno@clisp.org>
72975
72976         * modules/isnanl-nolibm-tests: New file.
72977         * tests/test-isnanl.c: New file.
72978
72979         * modules/isnanl-nolibm: New file.
72980         * lib/isnanl.h: New file.
72981         * lib/isnanl.c: New file.
72982         * m4/isnanl.m4: New file.
72983
72984 2007-02-24  Bruno Haible  <bruno@clisp.org>
72985
72986         * modules/isnan-nolibm-tests: New file.
72987         * tests/test-isnan.c: New file.
72988
72989         * modules/isnan-nolibm: New file.
72990         * lib/isnan.h: New file.
72991         * lib/isnan.c: New file.
72992         * m4/isnan.m4: New file.
72993
72994 2007-02-24  Bruno Haible  <bruno@clisp.org>
72995
72996         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72997         assume that an exponent fits in 20 bits.
72998
72999 2007-02-24  Jim Meyering  <jim@meyering.net>
73000
73001         * m4/regex.m4: Update the description of the configure-time option,
73002         --without-included-regex, to state accurately what the defaults are,
73003         and perhaps to give people an idea why using this option is risky.
73004
73005 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
73006
73007         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
73008         loops on small arguments.  This attempts to avoid the problem
73009         Bruno Haible reported for AIX 4.3.2 in
73010         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
73011
73012 2007-02-23  Bruno Haible  <bruno@clisp.org>
73013
73014         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
73015         Needed for help2man.
73016
73017 2007-02-23  Karl Berry  <karl@gnu.org>
73018
73019         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
73020         exists, foo.h should be cvs-ignored, not committed.
73021
73022 2007-02-23  Eric Blake  <ebb9@byu.net>
73023
73024         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
73025         * lib/stat-time.h (includes): Likewise.
73026         * lib/utimecmp.c (includes): Likewise.
73027         * lib/utimens.h (includes): Likewise.
73028         * lib/getdate.y (includes): Also include "timespec.h" for use
73029         internal to the module.
73030         * modules/utimens (Depends-on): Revert yesterday's patch.
73031         * modules/nanosleep (Depends-on): Add missing dependency.
73032
73033 2007-02-22  Bruno Haible  <bruno@clisp.org>
73034
73035         * lib/glob.c: Don't include getlogin_r.h.
73036
73037 2007-02-22  Jim Meyering  <jim@meyering.net>
73038
73039         * modules/utimens (Depends-on): Add timespec, required for
73040         utimens.h's inclusion of timespec.h.
73041
73042 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
73043
73044         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
73045         long unreadable paths in GNU/Linux.  Problem reported by Andreas
73046         Schwab in
73047         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
73048         I'll try to think of a better way to fix the Solaris problem.
73049
73050         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
73051         like glibc; on Solaris 10, it fails with errno == EINVAL.
73052         POSIX says the behavior is unspecified if the first argument is NULL,
73053         so play it safe and never pass NULL to the system getcwd.
73054
73055 2007-02-21  Jim Meyering  <jim@meyering.net>
73056
73057         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
73058         of gettimeofday.  It would conflict with the one now always
73059         provided via sys_time_.h.  Reported by Matthew Woehlke, as
73060         an IRIX 6.5 build failure.
73061
73062 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
73063
73064         Minor fixups to port to Solaris 10 with Sun C 5.8.
73065         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
73066         * modules/getcwd (Depends-on): Add dirfd.
73067         * lib/putenv.c (putenv): #undef it.
73068         (rpl_putenv): New decl.
73069         (malloc, free): Include <stdlib.h> rather than prototyping separately.
73070
73071 2007-02-20  Bruno Haible  <bruno@clisp.org>
73072
73073         * modules/stdio-tests: New file.
73074         * tests/test-stdio.c: New file.
73075
73076         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
73077         (Depends-on): Add stdio.
73078         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
73079         (Include): Use <stdio.h> instead of vsnprintf.h.
73080         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
73081         HAVE_DECL_VSNPRINTF.
73082         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
73083
73084         * modules/snprintf (Files): Remove lib/snprintf.h.
73085         (Depends-on): Add stdio.
73086         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
73087         (Include): Use <stdio.h> instead of snprintf.h.
73088         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
73089         HAVE_DECL_SNPRINTF.
73090         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
73091         * lib/getaddrinfo.c: Likewise.
73092
73093         * modules/stdio: New file.
73094         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
73095         * lib/snprintf.h: Remove file.
73096         * lib/vsnprintf.h: Remove file.
73097         * lib/.cppi-disable: Remove snprintf.h.
73098         * m4/stdio_h.m4: New file.
73099         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
73100
73101 2007-02-20  Jim Meyering  <jim@meyering.net>
73102
73103         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
73104         used by e.g., mingw.  From Bruno Haible.
73105
73106 2007-02-19  Bruno Haible  <bruno@clisp.org>
73107
73108         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
73109         warnings.
73110         Reported by Ben Pfaff <blp@cs.stanford.edu>.
73111
73112 2007-02-19  Bruno Haible  <bruno@clisp.org>
73113
73114         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
73115         from mingw users.
73116
73117 2007-02-19  Bruno Haible  <bruno@clisp.org>
73118
73119         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
73120         warnings.
73121         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
73122
73123 2007-02-19  Jim Meyering  <jim@meyering.net>
73124
73125         Don't use FD after a successful "fdopendir (fd)".
73126         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
73127         Reset it by calling dirfd on the just-obtained DIR*.
73128
73129         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
73130         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
73131
73132 2007-02-18  Bruno Haible  <bruno@clisp.org>
73133
73134         * lib/readlink.c: Include <unistd.h>.
73135         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
73136         HAVE_READLINK.
73137         * modules/readlink (Depends-on): Add unistd.
73138         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73139         (Include): Add <unistd.h>.
73140
73141         * lib/getlogin_r.h: Remove file.
73142         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
73143         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
73144         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
73145         HAVE_DECL_GETLOGIN_R.
73146         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
73147         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73148         (Include): Use <unistd.h> instead of getlogin_r.h.
73149
73150         * lib/getcwd.h: Remove file.
73151         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
73152         * lib/xgetcwd.c: Likewise.
73153         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
73154         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
73155         * modules/getcwd (Files): Remove lib/getcwd.h.
73156         (Depends-on): Add unistd.
73157         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73158         (Include): Use <unistd.h> instad of getcwd.h.
73159
73160         * lib/ftruncate.c: Include <unistd.h> first.
73161         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
73162         Set HAVE_FTRUNCATE.
73163         * modules/ftruncate (Depends-on): Add unistd.
73164         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73165
73166         * lib/fchdir.c: Include <unistd.h> first.
73167         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
73168         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
73169         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
73170         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73171         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
73172
73173         * lib/dup2.c: Include <unistd.h> first.
73174         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
73175         HAVE_DUP2.
73176         * modules/dup2 (Depends-on): Add unistd.
73177         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73178
73179         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
73180         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
73181         REPLACE_CHOWN. Don't define chown as a macro here.
73182         * modules/chown (Depends-on): Add unistd.
73183         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73184
73185         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
73186         Add definition for GL_LINK_WARNING.
73187         (chown, dup2): New declarations.
73188         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
73189         link warning.
73190         (ftruncate): New declaration.
73191         (getcwd): New declaration, taken from old getcwd.h.
73192         (getlogin_r): New declaration, taken from old getlogin_r.h.
73193         (readlink): New declaration.
73194         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
73195         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
73196         (gl_PREREQ_UNISTD): Remove macro.
73197         (gl_UNISTD_MODULE_INDICATOR): New macro.
73198         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
73199         many new variables. Don't set UNISTD_H.
73200         * modules/unistd (Description): Change.
73201         (Depends-on): Add link-warning.
73202         (configure.ac): Update.
73203         (Makefile.am): Create unistd.h always. Substitute many new variables
73204         into it.
73205
73206 2007-02-18  Bruno Haible  <bruno@clisp.org>
73207
73208         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
73209         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
73210         HAVE_GETSUBOPT.
73211         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
73212         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
73213         * lib/getsubopt.h: Remove file.
73214         * modules/getsubopt (Files): Remove lib/getsubopt.h.
73215         (Depends-on): Add stdlib.
73216         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73217         (Includes): Use <stdlib.h> instead of getsubopt.h.
73218         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
73219         Set HAVE_GETSUBOPT.
73220         * lib/getsubopt.c: Don't include getsubopt.h.
73221
73222 2007-02-18  Bruno Haible  <bruno@clisp.org>
73223
73224         * modules/fchdir (Depends-on): Add dup2.
73225
73226 2007-02-18  Bruno Haible  <bruno@clisp.org>
73227
73228         * lib/stdlib_.h: Handle glibc's special invocation convention
73229         specially.
73230
73231 2007-02-18  Bruno Haible  <bruno@clisp.org>
73232
73233         * modules/stdlib-tests: New file.
73234         * tests/test-stdlib.c: New file.
73235
73236         * modules/mkstemp (Files): Remove lib/mkstemp.h.
73237         (Depends-on): Add stdlib.
73238         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73239         (Includes): Use <stdlib.h> instead of mkstemp.h.
73240         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73241         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
73242         * lib/mkstemp.c: Don't include mkstemp.h.
73243         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
73244         * lib/stdlib--.h: Don't include mkstemp.h.
73245
73246         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
73247         (Depends-on): Add stdlib.
73248         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73249         (Includes): Use <stdlib.h> instead of mkdtemp.h.
73250         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73251         HAVE_MKDTEMP.
73252         * lib/mkdtemp.c: Don't include mkdtemp.h.
73253         * lib/clean-temp.c: Don't include mkdtemp.h.
73254
73255         * modules/exit (Files): Remove lib/exit.h.
73256         (Depends-on): Add stdlib.
73257         (Makefile.am): Remove lib_SOURCES.
73258         (Include): Use <stdlib.h> instead of exit.h.
73259         * lib/argmatch.c: Don't include exit.h.
73260         * lib/execute.c: Likewise.
73261         * lib/pagealign_alloc.c: Likewise.
73262         * lib/pipe.c: Likewise.
73263         * lib/wait-process.c: Likewise.
73264         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
73265         * lib/exitfail.c: Likewise.
73266         * lib/savewd.c: Likewise.
73267         * lib/xsetenv.c: Likewise.
73268
73269         * modules/stdlib: New file.
73270         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
73271         and extra comments about mkstemp().
73272         * lib/exit.h: Remove file.
73273         * lib/mkdtemp.h: Remove file.
73274         * lib/mkstemp.h: Remove file.
73275         * m4/stdlib_h.m4: New file.
73276         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
73277
73278 2007-02-18  Bruno Haible  <bruno@clisp.org>
73279
73280         * modules/math-tests: New file.
73281         * tests/test-math.c: New file.
73282
73283         * modules/math: New file.
73284         * modules/mathl (Files): Remove lib/mathl.h.
73285         (Depends-on): Add math.
73286         (Makefile.am): Don't mention mathl.h.
73287         (Include): Use <math.h> instead of mathl.h.
73288         * lib/math_.h: New file.
73289         * lib/mathl.h: Remove file.
73290         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
73291         mathl.h.
73292         * lib/asinl.c: Likewise.
73293         * lib/atanl.c: Likewise.
73294         * lib/ceill.c: Likewise.
73295         * lib/cosl.c: Likewise.
73296         * lib/expl.c: Likewise.
73297         * lib/floorl.c: Likewise.
73298         * lib/frexpl.c: Likewise.
73299         * lib/ldexpl.c: Likewise.
73300         * lib/logl.c: Likewise.
73301         * lib/sincosl.c: Likewise.
73302         * lib/sinl.c: Likewise.
73303         * lib/sqrtl.c: Likewise.
73304         * lib/tanl.c: Likewise.
73305         * lib/trigl.c: Likewise.
73306         * m4/math_h.m4: New file.
73307         * MODULES.html.sh (Mathematics): Add math.
73308
73309 2007-02-17  Bruno Haible  <bruno@clisp.org>
73310
73311         * modules/wctype-tests: New file.
73312         * tests/test-wctype.c: New file.
73313
73314         * modules/wchar-tests: New file.
73315         * tests/test-wchar.c: New file.
73316
73317         * modules/unistd-tests: New file.
73318         * tests/test-unistd.c: New file.
73319
73320         * modules/time-tests: New file.
73321         * tests/test-time.c: New file.
73322
73323         * modules/sysexits-tests: New file.
73324         * tests/test-sysexits.c: New file.
73325
73326         * modules/sys_time-tests: New file.
73327         * tests/test-sys_time.c: New file.
73328
73329         * modules/sys_stat-tests: New file.
73330         * tests/test-sys_stat.c: New file.
73331
73332         * modules/sys_socket-tests: New file.
73333         * tests/test-sys_socket.c: New file.
73334
73335         * modules/sys_select-tests: New file.
73336         * tests/test-sys_select.c: New file.
73337
73338         * modules/string-tests: New file.
73339         * tests/test-string.c: New file.
73340
73341         * modules/stdbool-tests: New file.
73342         * tests/test-stdbool.c: New file.
73343
73344         * modules/netinet_in-tests: New file.
73345         * tests/test-netinet_in.c: New file.
73346
73347         * modules/inttypes-tests: New file.
73348         * tests/test-inttypes.c: New file.
73349
73350         * modules/fcntl-tests: New file.
73351         * tests/test-fcntl.c: New file.
73352
73353         * modules/byteswap-tests: New file.
73354         * tests/test-byteswap.c: New file.
73355
73356         * modules/arpa_inet-tests: New file.
73357         * tests/test-arpa_inet.c: New file.
73358
73359 2007-02-17  Bruno Haible  <bruno@clisp.org>
73360
73361         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
73362         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
73363         if the corresponding module is not enabled. Emit link warnings if
73364         the function is used nevertheless.
73365         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
73366         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
73367         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
73368         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
73369         * modules/inttypes (Depends-on): Add link-warning.
73370         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73371         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
73372         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
73373         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
73374         * modules/imaxdiv (configure.ac): Likewise.
73375         * modules/strtoimax (configure.ac): Likewise.
73376         * modules/strtoumax (configure.ac): Likewise.
73377
73378 2007-02-17  Bruno Haible  <bruno@clisp.org>
73379
73380         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
73381         gl_STRING_MODULE_INDICATOR_DEFAULTS.
73382         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
73383         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
73384
73385 2007-02-17  Bruno Haible  <bruno@clisp.org>
73386
73387         * modules/link-warning: New file.
73388         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
73389         * lib/string_.h (GL_LINK_WARNING): Remove definition.
73390         * modules/string (Depends-on): Add link-warning.
73391         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73392         string.h.
73393         * MODULES.html.sh (Support for building libraries and executables): Add
73394         link-warning.
73395
73396 2007-02-17  Bruno Haible  <bruno@clisp.org>
73397
73398         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
73399         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
73400         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
73401         long lines.
73402
73403 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
73404             Bruno Haible  <bruno@clisp.org>
73405
73406         * modules/tmpfile: New file.
73407         * lib/tmpfile.c: New file.
73408         * m4/tmpfile.m4: New file.
73409         * MODULES.html.sh (func_all_modules): New section "Input/output".
73410
73411 2007-02-15  Bruno Haible  <bruno@clisp.org>
73412
73413         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
73414         (supports_delete_on_close): New function.
73415         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
73416
73417 2007-02-14  Bruno Haible  <bruno@clisp.org>
73418
73419         * modules/mbspcasecmp-tests: New file.
73420         * tests/test-mbspcasecmp.sh: New file.
73421         * tests/test-mbspcasecmp.c: New file.
73422
73423         New module mbspcasecmp.
73424         * modules/mbspcasecmp: New file.
73425         * lib/mbspcasecmp.c: New file.
73426         * lib/string_.h (strncasecmp): Change warning message.
73427         (mbspcasecmp): New declaration.
73428         * m4/mbspcasecmp.m4: New file.
73429         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73430         GNULIB_MBSPCASECMP.
73431         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
73432         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
73433
73434 2007-02-14  Bruno Haible  <bruno@clisp.org>
73435
73436         * modules/mbsncasecmp-tests: New file.
73437         * tests/test-mbsncasecmp.sh: New file.
73438         * tests/test-mbsncasecmp.c: New file.
73439
73440         New module mbsncasecmp.
73441         * modules/mbsncasecmp: New file.
73442         * lib/mbsncasecmp.c: New file.
73443         * lib/string_.h (mbsncasecmp): New declaration.
73444         * m4/mbsncasecmp.m4: New file.
73445         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73446         GNULIB_MBSNCASECMP.
73447         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
73448         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
73449
73450 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73451
73452         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
73453         Verify that it doesn't overlap with our flags.
73454         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
73455         do not have the desired effect in multibyte locales; instead, use
73456         mbscasecmp.
73457         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73458         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73459         we don't require GNU fnmatch ourselves (if our users require it, they
73460         should do so explicitly).
73461
73462         Fix regex code so it doesn't rely on strcasecmp.
73463         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73464         Otherwise, include gnulib's langinfo.h.
73465         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73466         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73467         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73468         * modules/regex (FILES): Remove m4/codeset.m4.
73469         (Depends-on): Add localcharset.  Remove strcase.
73470
73471 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73472
73473         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73474         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73475
73476 2007-02-13  Bruno Haible  <bruno@clisp.org>
73477
73478         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73479         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73480
73481 2007-02-12  Bruno Haible  <bruno@clisp.org>
73482
73483         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73484         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73485         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73486         time warning rather than a link error.
73487
73488 2007-02-12  Bruno Haible  <bruno@clisp.org>
73489
73490         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73491         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73492         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73493
73494 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73495
73496         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73497         args, not 2.
73498
73499 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73500
73501         New module 'time', so that apps can include <time.h> as per
73502         POSIX and GNU instead of separate include files like time_r.h
73503         and timegm.h.  This implementation tries out a simpler approach
73504         for replacing decls in standard include files (as compared to
73505         the string module), somewhat as an experiment.
73506
73507         * config/srclist.txt: Comment out mktime.c for now.
73508         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73509         since it doesn't apply any more.  Use generic wording instead.
73510         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73511         'time'.
73512         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73513         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73514         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73515         Don't include <sys/types.h>; no longer needed since we assume C89.
73516         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73517         * lib/strftime.c: Likewise.
73518         * lib/time_r.c: Likewise.
73519         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73520         * lib/nanosleep.c: Include <time.h> first, to check interface.
73521         * lib/strptime.c: Likewise.
73522         * lib/time_r.c: Likewise.
73523         * lib/timegm.c: Likewise.
73524         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73525         needed.
73526         * lib/timegm.c: Don't include timegm.h; no longer needed.
73527         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73528         time.h now handles any problems in that area.
73529         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73530         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73531         that time.h defines struct timespec.
73532         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73533         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73534         handles that.
73535         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73536         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73537         needed.  Set REPLACE_LOCALTIME.
73538         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73539         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73540         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73541         nanosleep; time_h.m4 now does that.  Don't require
73542         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73543         module handles this now.
73544         * modules/getdate (Depends-on): Remove timespec.  Add time.
73545         * modules/nanosleep (Depends-on): Likewise.
73546         * modules/stat-time (Depends-on): Likewise.
73547         * modules/nanosleep (Include): Include time.h, not timespec.h.
73548         * modules/strptime (Files): Remove lib/strptime.h.
73549         (Depends-on): Add extensions, time.
73550         (Include): Include time.h, not strptime.h.
73551         * modules/time_r (Files): Remove lib/time_r.h.
73552         (Depends-on): Add time.
73553         (Include): Include time.h, not time_r.h.
73554         * modules/timegm: Likewise.
73555         * modules/timespec (Description): Now does timespec-related decls
73556         of our own, instead of struct timespec itself.
73557         (Depends-on): Add time; remove extensions.
73558         (Maintainer): Add self.
73559         * modules/utimecmp (Depends-on): Add time; remove timespec.
73560         * modules/utimens (Depends-on): Likewise.
73561         * modules/xnanosleep (Depends-on): Likewise.
73562
73563 2007-02-11  Bruno Haible  <bruno@clisp.org>
73564
73565         * lib/c-strstr.c: Include allocsa.h.
73566         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73567         * lib/c-strcasestr.c: Include allocsa.h.
73568         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73569         * lib/strcasestr.c: Include allocsa.h.
73570         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73571         * lib/mbsstr.c: Include allocsa.h.
73572         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73573         allocsa/freesa instead of malloc/free.
73574         * lib/mbscasestr.c: Include allocsa.h.
73575         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73576         allocsa/freesa instead of malloc/free.
73577         * modules/c-strstr (Depends-on): Add allocsa.
73578         * modules/c-strcasestr (Depends-on): Likewise.
73579         * modules/strcasestr (Depends-on): Likewise.
73580         * modules/mbsstr (Depends-on): Likewise.
73581         * modules/mbscasestr (Depends-on): Likewise.
73582
73583 2007-02-11  Bruno Haible  <bruno@clisp.org>
73584
73585         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73586
73587         * modules/mbsspn-tests: New file.
73588         * tests/test-mbsspn.sh: New file.
73589         * tests/test-mbsspn.c: New file.
73590
73591 2007-02-11  Bruno Haible  <bruno@clisp.org>
73592
73593         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73594
73595         * modules/mbspbrk-tests: New file.
73596         * tests/test-mbspbrk.sh: New file.
73597         * tests/test-mbspbrk.c: New file.
73598
73599 2007-02-11  Bruno Haible  <bruno@clisp.org>
73600
73601         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73602         unneeded cast.
73603
73604         * modules/mbscspn-tests: New file.
73605         * tests/test-mbscspn.sh: New file.
73606         * tests/test-mbscspn.c: New file.
73607
73608 2007-02-11  Bruno Haible  <bruno@clisp.org>
73609
73610         * modules/mbscasecmp-tests: New file.
73611         * tests/test-mbscasecmp.sh: New file.
73612         * tests/test-mbscasecmp.c: New file.
73613
73614 2007-02-11  Bruno Haible  <bruno@clisp.org>
73615
73616         Ensure O(n) worst-case complexity of mbscasestr.
73617         * lib/mbscasestr.c: Include stdbool.h.
73618         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73619         functions.
73620         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73621         the bookkeeping indicates that it's worth it.
73622         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73623
73624         * modules/mbscasestr-tests: New file.
73625         * tests/test-mbscasestr1.c: New file.
73626         * tests/test-mbscasestr2.sh: New file.
73627         * tests/test-mbscasestr2.c: New file.
73628         * tests/test-mbscasestr3.sh: New file.
73629         * tests/test-mbscasestr3.c: New file.
73630         * tests/test-mbscasestr4.sh: New file.
73631         * tests/test-mbscasestr4.c: New file.
73632         * m4/locale-tr.m4: New file.
73633
73634 2007-02-11  Bruno Haible  <bruno@clisp.org>
73635
73636         Ensure O(n) worst-case complexity of mbsstr.
73637         * lib/mbsstr.c: Include stdbool.h.
73638         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73639         functions.
73640         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73641         bookkeeping indicates that it's worth it.
73642         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73643
73644         * modules/mbsstr-tests: New file.
73645         * tests/test-mbsstr1.c: New file.
73646         * tests/test-mbsstr2.sh: New file.
73647         * tests/test-mbsstr2.c: New file.
73648         * tests/test-mbsstr3.sh: New file.
73649         * tests/test-mbsstr3.c: New file.
73650         * m4/locale-fr.m4: New file.
73651
73652 2007-02-11  Bruno Haible  <bruno@clisp.org>
73653
73654         * lib/mbsrchr.c (mbsrchr): Fix bug.
73655
73656         * modules/mbsrchr-tests: New file.
73657         * tests/test-mbsrchr.sh: New file.
73658         * tests/test-mbsrchr.c: New file.
73659
73660 2007-02-11  Bruno Haible  <bruno@clisp.org>
73661
73662         * lib/mbschr.c (mbschr): Fix bug.
73663
73664         * modules/mbschr-tests: New file.
73665         * tests/test-mbschr.sh: New file.
73666         * tests/test-mbschr.c: New file.
73667         * m4/locale-zh.m4: New file.
73668
73669 2007-02-11  Bruno Haible  <bruno@clisp.org>
73670
73671         Support for copying multibyte string iterators.
73672         * lib/mbiter.h: Include <string.h>.
73673         (mbiter_multi_copy): New function.
73674         (mbi_copy): New macro.
73675         * lib/mbuiter.h: Include <string.h>.
73676         (mbuiter_multi_copy): New function.
73677         (mbui_copy): New macro.
73678
73679 2007-02-11  Bruno Haible  <bruno@clisp.org>
73680
73681         New module mbslen.
73682         * modules/mbslen: New file.
73683         * lib/mbslen.c: New file.
73684         * lib/string_.h (mbslen): New declaration.
73685         * m4/mbslen.m4: New file.
73686         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73687         GNULIB_MBSLEN.
73688         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73689         * MODULES.html.sh (Internationalization functions): Add mbslen.
73690
73691 2007-02-11  Bruno Haible  <bruno@clisp.org>
73692
73693         Ensure O(n) worst-case complexity of strcasestr substitute.
73694         * lib/strcasestr.c: Include stdbool.h.
73695         (knuth_morris_pratt): New function.
73696         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73697         bookkeeping indicates that it's worth it.
73698         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73699
73700         * modules/strcasestr-tests: New file.
73701         * tests/test-strcasestr.c: New file.
73702
73703 2007-02-11  Bruno Haible  <bruno@clisp.org>
73704
73705         Ensure O(n) worst-case complexity of c_strcasestr.
73706         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73707         (knuth_morris_pratt): New function.
73708         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73709         the bookkeeping indicates that it's worth it.
73710         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73711
73712         * modules/c-strcasestr-tests: New file.
73713         * tests/test-c-strcasestr.c: New file.
73714
73715 2007-02-11  Bruno Haible  <bruno@clisp.org>
73716
73717         Ensure O(n) worst-case complexity of c_strstr.
73718         * lib/c-strstr.c: Include stdbool.h, string.h.
73719         (knuth_morris_pratt): New function.
73720         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73721         bookkeeping indicates that it's worth it.
73722         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73723
73724         * lib/c-strstr.c: Complete rewrite for maintainability.
73725
73726         * modules/c-strstr-tests: New file.
73727         * tests/test-c-strstr.c: New file.
73728
73729 2007-02-11  Bruno Haible  <bruno@clisp.org>
73730
73731         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73732         5.2.1 and earlier, whereby \055 was treated just like the range
73733         delimiter '-'.
73734         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73735
73736 2007-02-08  Bruno Haible  <bruno@clisp.org>
73737
73738         * modules/regex (Depends-on): Add stdbool.
73739         Reported by Dalibor Topic <robilad@kaffe.org>.
73740
73741 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73742
73743         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73744         Prefer returning from main to exiting from it.
73745         Remove unnecessary parens after sizeof.
73746
73747 2007-02-05  Bruno Haible  <bruno@clisp.org>
73748
73749         New module mbssep.
73750         * modules/mbssep: New file.
73751         * lib/mbssep.c: New file.
73752         * lib/string_.h (strsep): Add a conditional link warning.
73753         (mbssep): New declaration.
73754         * m4/mbssep.m4: New file.
73755         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73756         GNULIB_MBSSEP.
73757         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73758         * MODULES.html.sh (Internationalization functions): Add mbssep.
73759
73760 2007-02-05  Bruno Haible  <bruno@clisp.org>
73761
73762         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73763         Optimize search in case of 1 delimiter.
73764
73765 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73766
73767         * lib/acl.h: Include sys/types.h before sys/acl.h.
73768
73769 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73770
73771         Merge upstream fix for glibc bugzilla #3957:
73772
73773         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73774
73775         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73776         bit for RE_HAT_LISTS_NOT_NEWLINE.
73777         (build_charclass_op): Remove bogus comment.
73778
73779 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73780
73781         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73782
73783 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73784
73785         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73786         * lib/memmem.c [!defined _LIBC]: Include config.h.
73787
73788 2007-02-04  Bruno Haible  <bruno@clisp.org>
73789
73790         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73791         warning message.
73792
73793 2007-02-04  Bruno Haible  <bruno@clisp.org>
73794
73795         New module mbstok_r.
73796         * modules/mbstok_r: New file.
73797         * lib/mbstok_r.c: New file.
73798         * lib/string_.h (strtok_r): Change argument names to match the
73799         comments. Add a conditional link warning.
73800         (mbstok_r): New declaration.
73801         * m4/mbstok_r.m4: New file.
73802         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73803         GNULIB_MBSTOK_R.
73804         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73805         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73806
73807 2007-02-04  Bruno Haible  <bruno@clisp.org>
73808
73809         New module mbsspn.
73810         * modules/mbsspn: New file.
73811         * lib/mbsspn.c: New file.
73812         * lib/string_.h (strspn): Add a conditional link warning.
73813         (mbsspn): New declaration.
73814         * m4/mbsspn.m4: New file.
73815         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73816         GNULIB_MBSSPN.
73817         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73818         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73819
73820 2007-02-04  Bruno Haible  <bruno@clisp.org>
73821
73822         New module mbspbrk.
73823         * modules/mbspbrk: New file.
73824         * lib/mbspbrk.c: New file.
73825         * lib/string_.h (strpbrk): Add a conditional link warning.
73826         (mbspbrk): New declaration.
73827         * m4/mbspbrk.m4: New file.
73828         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73829         GNULIB_MBSPBRK.
73830         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73831         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73832
73833 2007-02-04  Bruno Haible  <bruno@clisp.org>
73834
73835         New module mbscspn.
73836         * modules/mbscspn: New file.
73837         * lib/mbscspn.c: New file.
73838         * lib/string_.h (strcspn): Add a conditional link warning.
73839         (mbscspn): New declaration.
73840         * m4/mbscspn.m4: New file.
73841         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73842         GNULIB_MBSCSPN.
73843         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73844         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73845
73846 2007-02-04  Bruno Haible  <bruno@clisp.org>
73847
73848         New module mbscasestr, reduced goal of strcasestr.
73849         * modules/mbscasestr: New file.
73850         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73851         (mbscasestr): Renamed from strcasestr.
73852         * lib/strcasestr.c: Don't include mbuiter.h.
73853         (strcasestr): Remove support for multibyte locales.
73854         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73855         Change the conditional link warning.
73856         (mbscasestr): New declaration.
73857         * m4/mbscasestr.m4: New file.
73858         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73859         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73860         REPLACE_STRCASESTR.
73861         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73862         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73863         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73864         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73865         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73866         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73867         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73868         (Depends-on): Remove mbuiter.
73869         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73870
73871 2007-02-04  Bruno Haible  <bruno@clisp.org>
73872
73873         Simplify handling of strncasecmp.
73874         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73875         the conditional link warning.
73876         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73877         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73878         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73879         * modules/strcase (configure.ac): Don't invoke
73880         gl_STRING_MODULE_INDICATOR.
73881         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73882
73883 2007-02-04  Bruno Haible  <bruno@clisp.org>
73884
73885         New module mbscasecmp, reduced goal of strcasecmp.
73886         * modules/mbscasecmp: New file.
73887         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73888         (mbscasecmp): Renamed from strcasecmp.
73889         * lib/strcasecmp.c: Don't include mbuiter.h.
73890         (strcasecmp): Remove support for multibyte locales.
73891         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73892         Change the conditional link warning.
73893         (mbscasecmp): New declaration.
73894         * m4/mbscasecmp.m4: New file.
73895         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73896         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73897         REPLACE_STRCASECMP.
73898         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73899         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73900         GNULIB_MBSCASECMP.
73901         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73902         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73903         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73904         (Depends-on): Remove mbuiter.
73905         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73906
73907 2007-02-04  Bruno Haible  <bruno@clisp.org>
73908
73909         New module mbsstr. Remove module strstr.
73910         * modules/mbsstr: New file.
73911         * modules/strstr: Remove file.
73912         * lib/mbsstr.c: Renamed from lib/strstr.c.
73913         (mbsstr): Renamed from strstr.
73914         * lib/string_.h (strstr): Remove declaration. Change the conditional
73915         link warning.
73916         (mbsstr): New declaration.
73917         * m4/mbsstr.m4: New file.
73918         * m4/strstr.m4: Remove file.
73919         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73920         REPLACE_STRSTR.
73921         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73922         Don't initialize GNULIB_STRSTR.
73923         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73924         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73925         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73926         (Support for systems lacking ANSI C 89): Remove strstr.
73927
73928 2007-02-04  Bruno Haible  <bruno@clisp.org>
73929
73930         New module mbsrchr.
73931         * modules/mbsrchr: New file.
73932         * lib/mbsrchr.c: New file.
73933         * lib/string_.h (strrchr): Add a conditional link warning.
73934         (mbsrchr): New declaration.
73935         * m4/mbsrchr.m4: New file.
73936         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73937         GNULIB_MBSRCHR.
73938         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73939         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73940
73941 2007-02-04  Bruno Haible  <bruno@clisp.org>
73942
73943         New module mbschr.
73944         * modules/mbschr: New file.
73945         * lib/mbschr.c: New file.
73946         * lib/string_.h (strchr): Add a conditional link warning.
73947         (mbschr): New declaration.
73948         * m4/mbschr.m4: New file.
73949         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73950         GNULIB_MBSCHR.
73951         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73952         * MODULES.html.sh (Internationalization functions): Add mbschr.
73953
73954 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73955
73956         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73957
73958         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73959
73960 2007-02-04  Bruno Haible  <bruno@clisp.org>
73961
73962         New module description section 'configure.ac-early'.
73963         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73964         (func_get_autoconf_early_snippet): New function.
73965         (func_import, func_create_testdir): Use it. Remove special cases for
73966         modules 'extensions' and 'lock'.
73967         * modules/extensions (configure.ac-early): Require
73968         gl_USE_SYSTEM_EXTENSIONS.
73969         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73970
73971 2007-02-04  Bruno Haible  <bruno@clisp.org>
73972
73973         Make use of gcj-4.3's -fsource and -ftarget option.
73974         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73975         and if so try the options -fsource and -ftarget.
73976         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73977         source_version, ftarget_option, target_version arguments.
73978         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73979         (is_envjavac_oldgcj_14_14_usable): Renamed from
73980         is_envjavac_gcj_14_14_usable.
73981         (is_envjavac_oldgcj_14_13_usable): Renamed from
73982         is_envjavac_gcj_14_13_usable.
73983         (is_gcj_present): Update.
73984         (is_gcj_43, is_gcj43_usable): New functions.
73985         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73986         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73987         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73988         try the options -fsource and -ftarget.
73989
73990 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73991
73992         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73993         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73994         larger value.
73995
73996 2007-02-03  Jim Meyering  <jim@meyering.net>
73997
73998         Give tools a better chance to allocate space for very large buffers.
73999         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
74000
74001         Make pwd and readlink work also when run with an unreadable parent dir
74002         on systems with openat support.
74003         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
74004         provided getcwd function, even when we have openat support.
74005         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
74006
74007 2007-02-02  Bruno Haible  <bruno@clisp.org>
74008
74009         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
74010         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
74011         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
74012         portability problems if one of these functions is only used on specific
74013         platforms.
74014         Reported by Paul Eggert.
74015
74016 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
74017
74018         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
74019         is causing more trouble than it's curing.
74020         * lib/regex_internal.h (__mempcpy): Remove.
74021         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
74022         (and make the code a tad smaller to boot).
74023         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
74024
74025 2007-02-02  Jim Meyering  <jim@meyering.net>
74026
74027         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
74028         section, not in the Makefile.am: one.
74029
74030 2007-02-02  Eric Blake  <ebb9@byu.net>
74031
74032         * lib/strchrnul.c: Always include config.h first.
74033
74034         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
74035         gnulib strstr is not necessary here.
74036
74037 2007-02-02  Simon Josefsson  <simon@josefsson.org>
74038
74039         * m4/socklen.m4: Fix typo.
74040
74041 2007-02-02  Eric Blake  <ebb9@byu.net>
74042
74043         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
74044         * modules/netinet_in (Makefile.am): Likewise.
74045
74046 2007-02-01  Bruno Haible  <bruno@clisp.org>
74047
74048         * lib/string_.h (GL_LINK_WARNING): New macro.
74049         (strcasecmp, strstr, strcasestr): If provided by the system,
74050         conditionally define as a macro that leads to a warning instead of to
74051         an error.
74052         (strncasecmp): Conditionally define as a macro that leads to a warning.
74053
74054 2007-02-01  Karl Berry  <karl@gnu.org>
74055
74056         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
74057
74058 2007-02-01  Bruno Haible  <bruno@clisp.org>
74059
74060         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
74061         renamings.
74062
74063 2007-02-01  Eric Blake  <ebb9@byu.net>
74064
74065         * modules/regex (Depends-on): Revert dependence on mempcpy.
74066         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
74067         module's definition of mempcpy.
74068         Reported by Paul Eggert.
74069
74070 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
74071
74072         * lib/string_.h: If the gnulib module XYZ is not present, undefine
74073         the symbol XYZ before redefining it.  This fixes a problem with
74074         programs that don't use XYZ, when compiled on systems that define
74075         XYZ to something else.
74076
74077 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
74078
74079         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
74080         occurs when "mkdir -m foo" creates a setgid directory that is (1)
74081         writeable to group or other and (2) is intended to have a special
74082         mode bit that is set or cleared.  In such a case, the directory
74083         should be neither group- nor other-writeable until the special
74084         mode bits are right.
74085
74086 2007-01-31  Eric Blake  <ebb9@byu.net>
74087
74088         * modules/mountlist (Depends-on): Add strstr.
74089
74090         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
74091         bug.
74092         * modules/string (Makefile.am): Remove redundant replacement.
74093         * modules/regex (Depends-on): Add mempcpy.
74094
74095 2007-01-31  Bruno Haible  <bruno@clisp.org>
74096
74097         New module description field 'Link'.
74098         * gnulib-tool (func_usage): Document --extract-link-directive.
74099         (sed_extract_prog): Recognize 'Link' directive.
74100         (func_get_link_directive): New function.
74101         (func_import): Show summary of link directives.
74102         Handle --extract-link-directive option.
74103         * modules/acl (Link): New section.
74104         * modules/clock-time (Link): New section.
74105         * modules/euidaccess (Link): New section.
74106         * modules/gettext (Link): New section.
74107         * modules/iconv (Link): New section.
74108         * modules/lock (Link): New section.
74109         * modules/nanosleep (Link): New section.
74110         * modules/readline (Link): New section.
74111
74112 2007-01-27  Bruno Haible  <bruno@clisp.org>
74113
74114         Enforce the use of gnulib modules for unportable <string.h> functions.
74115         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
74116         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
74117         (gl_HEADER_STRING_H_BODY): Require it.
74118         * lib/string_.h: If the gnulib module XYZ is not present, redefine
74119         the symbol XYZ to one that gives a link error.
74120         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
74121         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
74122         * modules/mempcpy (configure.ac): Likewise.
74123         * modules/memrchr (configure.ac): Likewise.
74124         * modules/stpcpy (configure.ac): Likewise.
74125         * modules/stpncpy (configure.ac): Likewise.
74126         * modules/strcase (configure.ac): Likewise.
74127         * modules/strcasestr (configure.ac): Likewise.
74128         * modules/strchrnul (configure.ac): Likewise.
74129         * modules/strdup (configure.ac): Likewise.
74130         * modules/strndup (configure.ac): Likewise.
74131         * modules/strnlen (configure.ac): Likewise.
74132         * modules/strpbrk (configure.ac): Likewise.
74133         * modules/strsep (configure.ac): Likewise.
74134         * modules/strstr (configure.ac): Likewise.
74135         * modules/strtok_r (configure.ac): Likewise.
74136
74137 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
74138
74139         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
74140
74141 2007-01-30  Jim Meyering  <jim@meyering.net>
74142
74143         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
74144
74145 2007-01-29  Bruno Haible  <bruno@clisp.org>
74146
74147         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
74148         * lib/execute.c: Likewise.
74149         * lib/pipe.c: Likewise.
74150         * lib/printf-args.h: Likewise.
74151         * lib/printf-args.c: Likewise.
74152         * lib/printf-parse.c: Likewise.
74153         * lib/vasnprintf.c: Likewise.
74154
74155 2007-01-29  Eric Blake  <ebb9@byu.net>
74156
74157         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
74158         declaration.
74159
74160 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
74161
74162         * lib/strptime.h (strptime): Use 'restrict' for args where
74163         POSIX requires this.
74164         * lib/strptime.c (strptime): Likewise.
74165         Change license notice from LGPL to GPL, since gnulib-tool will
74166         change this as needed.
74167         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
74168         defined.
74169         Include "strptime.h" first, to check interface.
74170         Do not #undef _LIBC and _NL_CURRENT.
74171         Do not include <stdlib.h>; no longer needed.
74172         Include "time_r.h" and declare ptime_locale_status
74173         only if _LIBC is not defined.
74174         (__P): Remove unused macro.
74175         (match_string): Bring back glibc version, but use it only if _LIBC
74176         is defined.
74177         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
74178         Remove unnecessary assertion and abort() call.
74179         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
74180         * m4/strptime.m4: Fix serial number comment.
74181         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
74182         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
74183         (Depends-on): Add time_r.
74184
74185 2007-01-29  Bruno Haible  <bruno@clisp.org>
74186
74187         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74188         strptime.
74189         * modules/strptime (Depends-on): Add stdbool.
74190         * lib/strptime.h: Include <time.h> always. Add comments.
74191
74192 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74193
74194         * modules/strptime: New file.
74195         * lib/strptime.h: New file.
74196         * lib/strptime.c: New file.
74197         * m4/strptime.m4: New file.
74198
74199 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74200
74201         * MODULES.html.sh: New module mpsort.
74202         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
74203
74204         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
74205         a circularity problem with HP-UX ia64 reported by Bob Proulx in
74206         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
74207         All uses changed.
74208         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
74209         All uses changed.
74210         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
74211         to _Restrict_.
74212         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
74213         the parameter matches the prototype.
74214
74215 2007-01-28  Jim Meyering  <jim@meyering.net>
74216
74217         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
74218         sys/time.h here, reverting that part of the previous patch:
74219         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
74220
74221 2007-01-28  Bruno Haible  <bruno@clisp.org>
74222
74223         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
74224         value of $(SYS_TIME_H).
74225         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
74226         remove it conditionally, too. [added by Jim Meyering]
74227         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
74228         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74229         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
74230         GETTIMEOFDAY_REPLACEMENT to 1.
74231
74232 2007-01-28  Bruno Haible  <bruno@clisp.org>
74233
74234         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
74235         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
74236         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
74237         Set UNISTD_H instead of UNISTD_H2.
74238         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
74239
74240 2007-01-28  Bruno Haible  <bruno@clisp.org>
74241
74242         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
74243         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
74244
74245 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74246
74247         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
74248         (func_create_testdir): Ensure C locale for `grep' and `tr'
74249         character ranges.
74250         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
74251         ACLOCAL_AMFLAGS parsing state machine.
74252
74253 2007-01-27  Bruno Haible  <bruno@clisp.org>
74254
74255         * modules/unistr/base: Update.
74256
74257 2007-01-27  Bruno Haible  <bruno@clisp.org>
74258
74259         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
74260         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
74261         * modules/unistr/u32-mbtouc-unsafe: Renamed from
74262         modules/unistr/u32-mbtouc.
74263         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
74264         * lib/unistr.h: Update.
74265         * lib/linebreak.c: Update.
74266         * modules/unistr/u32-mbtouc: Renamed from
74267         modules/unistr/u32-mbtouc-safe.
74268         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
74269         * lib/unistr.h: Update.
74270         * lib/unistr/u32-to-u8.c: Update.
74271         * lib/unistr/u32-to-u16.c: Update.
74272
74273 2007-01-27  Bruno Haible  <bruno@clisp.org>
74274
74275         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
74276         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
74277         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
74278         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
74279         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
74280         * modules/unistr/u16-mbtouc-unsafe: Renamed from
74281         modules/unistr/u16-mbtouc.
74282         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
74283         * lib/unistr.h: Update.
74284         * lib/linebreak.c: Update.
74285         * modules/linebreak: Update.
74286         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
74287         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
74288         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
74289         * modules/unistr/u16-mbtouc: Renamed from
74290         modules/unistr/u16-mbtouc-safe.
74291         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
74292         * lib/unistr.h: Update.
74293         * lib/unistr/u16-to-u8.c: Update.
74294         * modules/unistr/u16-to-u8: Update.
74295         * lib/unistr/u16-to-u32.c: Update.
74296         * modules/unistr/u16-to-u32: Update.
74297
74298 2007-01-27  Bruno Haible  <bruno@clisp.org>
74299
74300         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
74301         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
74302         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
74303         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
74304         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
74305         * modules/unistr/u8-mbtouc-unsafe: Renamed from
74306         modules/unistr/u8-mbtouc.
74307         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
74308         * lib/unistr.h: Update.
74309         * lib/striconveh.c: Update.
74310         * modules/striconveh: Update.
74311         * lib/linebreak.c: Update.
74312         * modules/linebreak: Update.
74313         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
74314         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
74315         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
74316         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
74317         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
74318         * lib/unistr.h: Update.
74319         * lib/striconveh.c: Update.
74320         * modules/striconveh: Update.
74321         * lib/unistr/u8-to-u16.c: Update.
74322         * modules/unistr/u8-to-u16: Update.
74323         * lib/unistr/u8-to-u32.c: Update.
74324         * modules/unistr/u8-to-u32: Update.
74325
74326 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74327
74328         Sync from Libtool.
74329         * lib/argz.c: Do not include strings.h nor memory.h, include
74330         string.h unconditionally.  Patch by Simon Josefsson.
74331
74332 2007-01-27  Bruno Haible  <bruno@clisp.org>
74333
74334         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
74335         from gl_HEADER_STRING_H_BODY.
74336         (gl_HEADER_STRING_H_BODY): Require it.
74337         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
74338         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
74339         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
74340         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
74341         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
74342         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
74343         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
74344         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
74345         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
74346         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
74347         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
74348         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
74349         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
74350         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
74351         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74352
74353 2007-01-27  Bruno Haible  <bruno@clisp.org>
74354
74355         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
74356         check_PROGRAMS into noinst_PROGRAMS.
74357         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
74358         check_PROGRAMS in this case.
74359         (func_import): Set for_test to false.
74360         (func_create_testdir): Set for_test to true.
74361
74362 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74363             Bruno Haible  <bruno@clisp.org>
74364
74365         * modules/strcasestr (Files): Remove lib/strcasestr.h.
74366         (Depends-on): Add string.
74367         (Includes): Use <string.h> instead of strcasestr.h.
74368         * modules/string (Makefile.am): Also substitute the value of
74369         REPLACE_STRCASESTR.
74370         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
74371         assume strcasestr is declared in <string.h> not <strings.h>. Also
74372         set REPLACE_STRCASESTR.
74373         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
74374         REPLACE_STRCASESTR.
74375         * lib/strcasestr.h: Remove file.
74376         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
74377         * lib/string_.h (strcasestr): New declaration.
74378
74379 2007-01-27  Bruno Haible  <bruno@clisp.org>
74380
74381         * lib/string_.h: Use 'extern'.
74382
74383 2007-01-27  Jim Meyering  <jim@meyering.net>
74384
74385         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
74386         of set-but-not-used local, "q".
74387
74388         * lib/mempcpy.c: Include <config.h> before <string.h>.
74389         This fixes a compilation error on HP-UX, due to the system's
74390         "restrict"-using mempcpy prototype.
74391
74392 2007-01-26  Bruno Haible  <bruno@clisp.org>
74393
74394         Small optimization.
74395         * lib/javacomp.c: Include c-strstr.h.
74396          (is_envjavac_gcj): Use c_strstr instead of strstr.
74397         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
74398
74399 2007-01-26  Bruno Haible  <bruno@clisp.org>
74400
74401         * MODULES.html.sh (Unicode string functions): Add the new modules.
74402
74403         * modules/uniconv/u32-strconv-to-locale: New file.
74404         * lib/uniconv/u32-strconv-to-locale.c: New file.
74405
74406         * modules/uniconv/u16-strconv-to-locale: New file.
74407         * lib/uniconv/u16-strconv-to-locale.c: New file.
74408
74409         * modules/uniconv/u8-strconv-to-locale: New file.
74410         * lib/uniconv/u8-strconv-to-locale.c: New file.
74411
74412         * modules/uniconv/u32-strconv-from-locale: New file.
74413         * lib/uniconv/u32-strconv-from-locale.c: New file.
74414
74415         * modules/uniconv/u16-strconv-from-locale: New file.
74416         * lib/uniconv/u16-strconv-from-locale.c: New file.
74417
74418         * modules/uniconv/u8-strconv-from-locale: New file.
74419         * lib/uniconv/u8-strconv-from-locale.c: New file.
74420
74421         * modules/uniconv/u32-strconv-to-enc: New file.
74422         * lib/uniconv/u32-strconv-to-enc.c: New file.
74423         * modules/uniconv/u32-strconv-to-enc-tests: New file.
74424         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
74425
74426         * modules/uniconv/u16-strconv-to-enc: New file.
74427         * lib/uniconv/u16-strconv-to-enc.c: New file.
74428         * lib/uniconv/u-strconv-to-enc.h: New file.
74429         * modules/uniconv/u16-strconv-to-enc-tests: New file.
74430         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
74431
74432         * modules/uniconv/u8-strconv-to-enc: New file.
74433         * lib/uniconv/u8-strconv-to-enc.c: New file.
74434         * modules/uniconv/u8-strconv-to-enc-tests: New file.
74435         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
74436
74437         * modules/uniconv/u32-strconv-from-enc: New file.
74438         * lib/uniconv/u32-strconv-from-enc.c: New file.
74439         * modules/uniconv/u32-strconv-from-enc-tests: New file.
74440         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
74441
74442         * modules/uniconv/u16-strconv-from-enc: New file.
74443         * lib/uniconv/u16-strconv-from-enc.c: New file.
74444         * modules/uniconv/u16-strconv-from-enc-tests: New file.
74445         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
74446
74447         * modules/uniconv/u8-strconv-from-enc: New file.
74448         * lib/uniconv/u8-strconv-from-enc.c: New file.
74449         * lib/uniconv/u-strconv-from-enc.h: New file.
74450         * modules/uniconv/u8-strconv-from-enc-tests: New file.
74451         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
74452
74453         * modules/uniconv/u32-conv-from-enc: New file.
74454         * lib/uniconv/u32-conv-from-enc.c: New file.
74455         * modules/uniconv/u32-conv-from-enc-tests: New file.
74456         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74457
74458         * modules/uniconv/u16-conv-from-enc: New file.
74459         * lib/uniconv/u16-conv-from-enc.c: New file.
74460         * lib/uniconv/u-conv-from-enc.h: New file.
74461         * modules/uniconv/u16-conv-from-enc-tests: New file.
74462         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74463
74464         * modules/uniconv/u8-conv-from-enc: New file.
74465         * lib/uniconv/u8-conv-from-enc.c: New file.
74466         * modules/uniconv/u8-conv-from-enc-tests: New file.
74467         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74468
74469         * modules/uniconv/base: New file.
74470         * lib/uniconv.h: New file.
74471
74472 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74473
74474         * doc/gnulib-tool.texi (Initial import): Update to match current
74475         behavior with strdup module.
74476         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74477         * lib/memmem.h: Remove; all uses removed.  This is now done
74478         by <string.h>.
74479         * lib/mempcpy.h: Likewise.
74480         * lib/memrchr.h: Likewise.
74481         * lib/stpcpy.h: Likewise.
74482         * lib/stpncpy.h: Likewise.
74483         * lib/strcase.h: Likewise.
74484         * lib/strchrnul.h: Likewise.
74485         * lib/strdup.h: Likewise.
74486         * lib/strndup.h: Likewise.
74487         * lib/strnlen.h: Likewise.
74488         * lib/strpbrk.h: Likewise.
74489         * lib/strsep.h: Likewise.
74490         * lib/strstr.h: Likewise.
74491         * lib/strtok_r.h: Likewise.
74492         * lib/string_.h: New file.
74493         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74494         Rely on <string.h> instead.
74495         * lib/canon-host.c: Likewise.
74496         * lib/chdir-long.c: Likewise.
74497         * lib/concatpath.c: Likewise.
74498         * lib/exclude.c: Likewise.
74499         * lib/fchdir.c: Likewise.
74500         * lib/getaddrinfo.c: Likewise.
74501         * lib/getcwd.c: Likewise.
74502         * lib/getsubopt.c: Likewise.
74503         * lib/glob.c: Likewise.
74504         * lib/hard-locale.c: Likewise.
74505         * lib/iconvme.c: Likewise.
74506         * lib/javacomp.c: Likewise.
74507         * lib/mempcpy.c: Likewise.
74508         * lib/memrchr.c: Likewise.
74509         * lib/regex_internal.h: Likewise.
74510         * lib/stpncpy.c: Likewise.
74511         * lib/strcasecmp.c: Likewise.
74512         * lib/strchrnul.c: Likewise.
74513         * lib/strdup.c: Likewise.
74514         * lib/striconv.c: Likewise.
74515         * lib/striconveh.c: Likewise.
74516         * lib/striconveha.c: Likewise.
74517         * lib/strncasecmp.c: Likewise.
74518         * lib/strndup.c: Likewise.
74519         * lib/strnlen.c: Likewise.
74520         * lib/strsep.c: Likewise.
74521         * lib/strstr.c: Likewise.
74522         * lib/strtok_r.c: Likewise.
74523         * lib/userspec.c: Likewise.
74524         * lib/w32spawn.h: Likewise.
74525         * lib/xstrndup.c: Likewise.
74526         * lib/mountlist.c (strstr): Remove decl.
74527         * m4/string_h.m4: New file.
74528         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74529         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74530         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74531         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74532         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74533         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74534         Set REPLACE_STRCASECMP if necessary.
74535         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74536         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74537         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74538         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74539         HAVE_DECL_STRDUP if necessary.
74540         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74541         since gl_FUNC_STRNDUP does that now.
74542         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74543         Check for decl here...
74544         (gl_PREREQ_STRNLEN): ... not here.
74545         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74546         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74547         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74548         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74549         necessary.
74550         * modules/string: New file.
74551         * modules/memmem (Files): Remove special-purpose include file.
74552         (Depends-on): Add string.
74553         (Include): Include <string.h>, not the removed file.
74554         * modules/mempcpy: Likewise.
74555         * modules/memrchr: Likewise.
74556         * modules/stpcpy: Likewise.
74557         * modules/stpncpy: Likewise.
74558         * modules/strcase: Likewise.
74559         * modules/strchrnul: Likewise.
74560         * modules/strdup: Likewise.
74561         * modules/strndup: Likewise.
74562         * modules/strnlen: Likewise.
74563         * modules/strpbrk: Likewise.
74564         * modules/strsep: Likewise.
74565         * modules/strstr: Likewise.
74566         * modules/strtok_r: Likewise.
74567         * tests/test-dirname.c: Don't include "strdup.h", since
74568         <string.h> now suffices.
74569         * tests/test-memmem.c: Don't include "memmem.h", since
74570         <string.h> now suffices.
74571
74572 2007-01-25  Bruno Haible  <bruno@clisp.org>
74573
74574         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74575         *resultp is 0.
74576
74577         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74578         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74579         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74580         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74581
74582         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74583         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74584         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74585         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74586         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74587         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74588
74589 2007-01-24  Bruno Haible  <bruno@clisp.org>
74590
74591         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74592         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74593         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74594         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74595         gl_FUNC_FTS_CORE.
74596         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74597         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74598         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74599         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74600         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74601         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74602         gl_FUNC_FCHOWNAT.
74603         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74604         gl_FUNC_STRFTIME.
74605         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74606         Reported by Ralf Wildenhues.
74607
74608 2007-01-24  Bruno Haible  <bruno@clisp.org>
74609
74610         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74611         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74612         gl_GETADDRINFO.
74613         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74614         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74615         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74616
74617 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74618
74619         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74620         Don't use 'exit'; just return from 'main'.
74621         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74622
74623         * lib/fnmatch_.h: Readjust white space and comments to match
74624         glibc, to avoid spurious diffs.
74625
74626 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74627
74628         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74629         2004-12-01 change by Jakub Jelinek, since this code won't compile
74630         if !LIBC.  Problem reported by Bob Proulx.
74631
74632 2007-01-23  Bruno Haible  <bruno@clisp.org>
74633
74634         * lib/striconveh.c: Include c-strcaseeq.h.
74635         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74636         * modules/striconveh (Depends-on): Add c-strcaseeq.
74637
74638 2007-01-23  Bruno Haible  <bruno@clisp.org>
74639
74640         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74641
74642         * modules/c-strcaseeq: New file.
74643         * lib/c-strcaseeq.h: New file.
74644
74645         * modules/streq: New file.
74646         * lib/streq.h: New file.
74647
74648 2007-01-23  Bruno Haible  <bruno@clisp.org>
74649
74650         * modules/striconveha-tests: New file.
74651         * tests/test-striconveha.c: New file.
74652
74653         * lib/striconveha.h: Include <stdbool.h>.
74654         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74655         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74656         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74657         (mem_iconveha): New function.
74658         (str_iconveha_notranslit): Renamed from str_iconveha.
74659         (str_iconveha): New function.
74660         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74661         c-strcase.
74662
74663 2007-01-23  Bruno Haible  <bruno@clisp.org>
74664
74665         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74666         encodings without forgiving before trying any encoding with handler.
74667         (str_iconveha): Try all encodings without forgiving before trying any
74668         encoding with handler.
74669
74670 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74671
74672         Import the following changes from libc.
74673
74674         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74675
74676         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74677
74678         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74679
74680         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74681         normal_bracket label.
74682
74683         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74684
74685         [BZ #361]
74686         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74687         to normal_bracket after fetching the next character.
74688
74689 2007-01-22  Bruno Haible  <bruno@clisp.org>
74690
74691         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74692         argument.
74693         * lib/striconveh.c (iconv_carefully_1): New function.
74694         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74695         argument.
74696         (str_cd_iconveh): Update.
74697         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74698         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74699         * tests/test-striconveh.c (MAGIC): New macro.
74700         (new_offsets): New function.
74701         (main): Test call with and without offsets.
74702
74703 2007-01-22  Bruno Haible  <bruno@clisp.org>
74704
74705         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74706         * modules/sys_select (Makefile.am): Likewise.
74707         * modules/sys_socket (Makefile.am): Likewise.
74708         * modules/sys_time (Makefile.am): Likewise.
74709
74710 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74711
74712         * modules/gettimeofday (License): Change from GPL to LGPL, since
74713         gettimeofday is a library function.
74714
74715 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74716
74717         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74718
74719 2007-01-21  Bruno Haible  <bruno@clisp.org>
74720
74721         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74722
74723 2007-01-21  Bruno Haible  <bruno@clisp.org>
74724
74725         * modules/striconveha: New file.
74726         * lib/striconveha.h: New file.
74727         * lib/striconveha.c: New file.
74728         * MODULES.html.sh (Internationalization functions): Add striconveha.
74729         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74730         string.
74731         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74732
74733 2007-01-21  Bruno Haible  <bruno@clisp.org>
74734
74735         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74736         * lib/striconveh.c (str_iconveh): Likewise.
74737
74738 2007-01-21  Bruno Haible  <bruno@clisp.org>
74739
74740         * lib/striconveh.h (mem_iconveh): New declaration.
74741         * lib/striconveh.c (mem_iconveh): New function.
74742         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74743
74744 2007-01-21  Bruno Haible  <bruno@clisp.org>
74745
74746         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74747
74748         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74749         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74750         original result buffer.
74751         (str_cd_iconveh): Update.
74752         * tests/test-striconveh.c (main): Update.
74753
74754         * lib/striconv.h (mem_cd_iconv): Change specification.
74755         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74756         result buffer.
74757         (str_cd_iconv): Update.
74758         * tests/test-striconv.c (main): Update.
74759
74760 2007-01-21  Bruno Haible  <bruno@clisp.org>
74761
74762         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74763
74764 2007-01-20  Jim Meyering  <jim@meyering.net>
74765
74766         * lib/userspec.c (parse_with_separator): If a user or group string
74767         starts with "+", skip the corresponding name-to-ID look-up, since
74768         such a look-up must fail: user and group names may not include "+".
74769
74770 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74771
74772         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74773         since we now assume the sys_time module.
74774         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74775         check for sys/time.h; no longer needed.
74776         * modules/poll (Depends-on): Depend on sys_time.
74777
74778 2007-01-18  Bruno Haible  <bruno@clisp.org>
74779
74780         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74781         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74782
74783         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74784         gettimeofday.
74785
74786         * tests/test-gettimeofday.c: Include <time.h>.
74787         (dummy): Remove variable.
74788
74789         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74790         gl_HEADER_SYS_TIME_H.
74791         (gl_HEADER_SYS_TIME_H): New macro.
74792
74793         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74794         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74795         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74796         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74797         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74798         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74799         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74800         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74801         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74802         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74803         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74804
74805         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74806         last change; it caused a compilation error when cross-compiling to
74807         Cygwin.
74808
74809 2007-01-18  Jim Meyering  <jim@meyering.net>
74810
74811         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74812         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74813         than the race-prone "test -d sys || mkdir sys".
74814         (configure.ac): Use AC_PROG_MKDIR_P.
74815         * modules/sys_select: Likewise.
74816         * modules/sys_socket: Likewise.
74817         * modules/sys_time: Likewise.
74818
74819 2007-01-18  Eric Blake  <ebb9@byu.net>
74820
74821         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74822         replace gettimeofday.
74823         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74824         name, to avoid infinite recursion.
74825
74826 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74827
74828         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74829         module sys_time.
74830         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74831         assume timespec.h defines struct timeval.
74832         * lib/settime.c: Likewise.
74833         * lib/utimens.c: Likewise.
74834         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74835         since we now assume the gettimeofday module.
74836         * lib/tempname.c (__gen_tempname): Likewise.
74837         * lib/gettimeofday.h: Remove.
74838         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74839         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74840         Include <time.h>, for 'time()'.
74841         (localtime_buffer_addr): Also use this workaround if
74842         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74843         to simplify the uses.  All uses changed.
74844         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74845         that #undef is inside {}, and 'const' follows type name consistently.
74846         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74847         (gettimeofday): Do not use the maximum possible value for
74848         tv->tv_usec, since that might break usages other than ls.c.
74849         Instead, we'll leave ls.c alone.  This undoes today's patch
74850         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74851         we've never observed the problem but might as well keep the
74852         canary.
74853         * lib/nanosleep.c: Include timespec.h first, for interface check.
74854         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74855         now assume the sys_time module.
74856         * lib/tempname.c: Likewise.
74857         * lib/timespec.h: Likewise.
74858         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74859         needed.
74860         * lib/strftime.c: Likewise.
74861         * lib/timespec.h: Likewise.
74862         * lib/posixtm.c: Include posixtm.h first, for interface check.
74863         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74864         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74865         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74866         * lib/sys_time_.h: New file.
74867         * lib/timespec.h (struct timespec): Use long int, not long.
74868         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74869         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74870         Remove obsolescent call to AC_HEADER_TIME.
74871         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74872         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74873         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74874         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74875         Likewise.
74876         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74877         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74878         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74879         into the sys_time module.  Check for gettimeofday just once.
74880         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74881         for gettimeofday signature to just check the signature.  Merely
74882         compile it, since linking doesn't test signature.  Improve test for
74883         whether gettimeofday.o is actually needed.
74884         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74885         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74886         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74887         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74888         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74889         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74890         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74891         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74892         than worrying about sys/time.h.
74893         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74894         Don't bother worrying about TIME_WITH_SYS_TIME.
74895         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74896         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74897         * m4/sys_time_h.m4: New file.
74898         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74899         Don't include sys/time.h.  Return from main rather than exiting.
74900         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74901         all uses changed.
74902         * modules/gethrxtime (Depends-on): Add sys_time.
74903         * modules/gettime (Depends-on): Likewise.
74904         * modules/gettimeofday (Depends-on): Likewise.
74905         * modules/nanosleep (Depends-on): Likewise.
74906         * modules/settime (Depends-on): Likewise.
74907         * modules/tempname (Depends-on): Likewise.
74908         * modules/utimens (Depends-on): Likewise.
74909         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74910         (Include): Change back to <sys/time.h>.
74911         (Maintainer): Add self.
74912         * modules/sys_time: New file.
74913         * modules/tempname (Depends-on): Add gettimeofday.
74914         * tests/test-gettimeofday.c: Include <sys/time.h>
74915         rather than gettimeofday.h.
74916
74917 2007-01-17  Bruno Haible  <bruno@clisp.org>
74918
74919         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74920         the license default to GPL.
74921         (func_create_testdir): Don't complain if a module is LGPL and its
74922         tests module depends on GPLed modules.
74923
74924 2007-01-17  Bruno Haible  <bruno@clisp.org>
74925
74926         * lib/gettimeofday.c (gettimeofday): Add code for the case
74927         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74928         maximum possible value for tv->tv_usec, rather than the minimum one.
74929
74930 2005-10-08  Martin Lambers  <marlam@marlam.de>
74931 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74932 2007-01-16  Bruno Haible  <bruno@clisp.org>
74933
74934         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74935         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74936         gl_FUNC_GETTIMEOFDAY.
74937         (Include): Add gettimeofday.h.
74938         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74939         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74940         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74941         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74942         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74943         * lib/gettimeofday.h: New file.
74944         * lib/gettimeofday.c: Include <sys/timeb.h>.
74945         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74946         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74947         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74948         fall back on time().
74949
74950         * tests/test-gettimeofday.c: New file.
74951         * modules/gettimeofday-tests: New file.
74952
74953 2007-01-16  Eric Blake  <ebb9@byu.net>
74954
74955         * modules/fnmatch (Depends-on): Depend on wchar.
74956         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74957         * m4/fnmatch.m4: Likewise.
74958         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74959         * m4/mbchar.m4: Likewise.
74960         * modules/mbswidth (Depends-on): Depend on wchar.
74961         * lib/mbswidth.c: Assume <wchar.h>.
74962         * m4/mbswidth.m4: Likewise.
74963         * modules/quotearg (Depends-on): Depend on wchar.
74964         * lib/quotearg.c: Assume <wchar.h>.
74965         * m4/quotearg.m4: Likewise.
74966         * modules/regex (Depends-on): Depend on wchar.
74967         * lib/regex_internal.h: Assume <wchar.h>.
74968         * m4/regex.m4: Likewise.
74969         * modules/stdint (Depends-on): Depend on wchar.
74970         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74971         * m4/stdint.m4: Likewise.
74972         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74973         * modules/strftime (Depends-on): Depend on wchar.
74974         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74975         * modules/strtol (Depends-on): Depend on wchar.
74976         * lib/strtol.c: Assume <wchar.h>.
74977         * modules/wcwidth (Depends-on): Depend on wchar.
74978         * lib/wcwidth.h: Assume <wchar.h>.
74979         * m4/wcwidth.m4: Likewise.
74980
74981 2007-01-16  Bruno Haible  <bruno@clisp.org>
74982
74983         * modules/csharpexec-script: New, created from...
74984         * modules/csharpexec: ... this.
74985
74986 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74987
74988         * modules/javaexec-script: New, created from...
74989         * modules/javaexec: ... this.
74990
74991 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74992
74993         * modules/poll (Dependencies): Add sys_select.
74994
74995 2007-01-15  Jim Meyering  <jim@meyering.net>
74996
74997         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74998         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74999         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
75000         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
75001
75002 2007-01-15  Bruno Haible  <bruno@clisp.org>
75003
75004         * modules/striconveh: New file.
75005         * lib/striconveh.h: New file.
75006         * lib/striconveh.c: New file.
75007         * MODULES.html.sh (Internationalization functions): Add striconveh.
75008
75009         * modules/striconveh-tests: New file.
75010         * tests/test-striconveh.c: New file.
75011
75012 2007-01-15  Bruno Haible  <bruno@clisp.org>
75013
75014         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
75015         not from GNU libiconv or GNU libc.
75016
75017 2007-01-15  Bruno Haible  <bruno@clisp.org>
75018
75019         * doc/gnulib-intro.texi (Copyright): Explain the different license
75020         terms for module descriptions, autoconf macros, tests, documentation.
75021
75022 2007-01-14  Bruno Haible  <bruno@clisp.org>
75023
75024         * modules/striconv-tests: New file.
75025         * tests/test-striconv.c: New file.
75026
75027 2007-01-14  Bruno Haible  <bruno@clisp.org>
75028
75029         * modules/iconv-tests: New file.
75030         * tests/test-iconv.c: New file.
75031
75032 2007-01-14  Bruno Haible  <bruno@clisp.org>
75033
75034         * gnulib-tool (func_get_license): For test modules, use the license of
75035         the main module.
75036
75037 2007-01-14  Bruno Haible  <bruno@clisp.org>
75038
75039         * modules/iconv (Include): Clarify that <iconv.h> can only be included
75040         if iconv is found to exist.
75041
75042 2007-01-14  Bruno Haible  <bruno@clisp.org>
75043
75044         * modules/c-ctype-tests: New file.
75045         * tests/test-c-ctype.c: New file.
75046
75047 2007-01-14  Bruno Haible  <bruno@clisp.org>
75048
75049         * modules/binary-io-tests: New file.
75050         * tests/test-binary-io.sh: New file.
75051         * tests/test-binary-io.c: New file.
75052
75053 2007-01-14  Bruno Haible  <bruno@clisp.org>
75054
75055         * modules/array-oset-tests: New file.
75056         * tests/test-array_oset.c: New file.
75057
75058 2007-01-14  Bruno Haible  <bruno@clisp.org>
75059
75060         * modules/array-list-tests: New file.
75061         * tests/test-array_list.c: New file.
75062
75063 2007-01-14  Bruno Haible  <bruno@clisp.org>
75064
75065         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
75066         and make.
75067         Reported by Simon Josefsson in
75068         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
75069
75070 2007-01-14  Bruno Haible  <bruno@clisp.org>
75071
75072         * modules/allocsa-tests: New file.
75073         * tests/test-allocsa.c: New file.
75074
75075 2007-01-14  Bruno Haible  <bruno@clisp.org>
75076
75077         * modules/fchdir (Depends-on): Add absolute-header.
75078         * modules/unistd (Depends-on): Likewise.
75079
75080 2006-12-30  Bruno Haible  <bruno@clisp.org>
75081
75082         * modules/fchdir: New file.
75083         * modules/unistd (Files): Add lib/unistd_.h.
75084         (Makefile.am): Generate unistd.h from unistd_.h.
75085         * lib/fchdir.c: New file.
75086         * lib/dirent_.h: New file.
75087         * lib/unistd_.h: New file.
75088         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
75089         * m4/fchdir.m4: New file.
75090         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
75091         (gl_HEADER_UNISTD): Invoke it.
75092         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
75093         function.
75094         * lib/backupfile.c (opendir, closedir): Undefine.
75095         * lib/chown.c (open, close): Undefine.
75096         * lib/clean-temp.c (open, close): Undefine.
75097         * lib/copy-file.c (open, close): Undefine.
75098         * lib/execute.c (open, close): Undefine.
75099         * lib/fsusage.c (open, close): Undefine.
75100         * lib/gc-gnulib.c (open, close): Undefine.
75101         * lib/getcwd.c (opendir, closedir): Undefine.
75102         * lib/glob.c (opendir, closedir): Undefine.
75103         * lib/javacomp.c (open, close): Undefine.
75104         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
75105         * lib/openat-proc.c (open, close): Undefine.
75106         * lib/pagealign_alloc.c (open, close): Undefine.
75107         * lib/pipe.c (open, close): Undefine.
75108         * lib/progreloc.c (open, close): Undefine.
75109         * lib/savedir.c (opendir, closedir): Undefine.
75110         * lib/utime.c (open, close): Undefine.
75111         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
75112
75113 2007-01-10  Bruno Haible  <bruno@clisp.org>
75114
75115         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
75116
75117 2007-01-12  Eric Blake  <ebb9@byu.net>
75118
75119         Provide a robust <wchar.h>.  Further simplifications are now
75120         possible in other modules, but not included here.
75121         * modules/wchar: New module.
75122         * m4/wchar.m4: New file.
75123         * lib/wchar_.h: Likewise.
75124         * modules/mbchar (Depends-on): Depend on wchar, as the first use
75125         of the new module.
75126         * MODULES.html.sh (Extended multibyte and wide character utilities):
75127         New section.
75128
75129 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
75130
75131         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
75132         to a reasonable default for memory allocation.
75133         (xreadlink): Don't allocate a huge buffer, to work around a buggy
75134         file system that reports garbage st_size values for symlinks.
75135         Problem reported by Liyang Hu.
75136
75137 2007-01-11  Simon Josefsson  <simon@josefsson.org>
75138
75139         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
75140         Emacs .#* auto-save files).
75141
75142 2007-01-11  Bruno Haible  <bruno@clisp.org>
75143
75144         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
75145         directory.
75146
75147 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75148
75149         Use @...@ consistently in lib/wctype_.h.
75150         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
75151         on it being set to 1 or 0.
75152         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
75153         go back to AC_SUBSTing it.
75154         * modules/wctype (Makefile.am): Undo previous change.
75155
75156 2007-01-10  Eric Blake  <ebb9@byu.net>
75157
75158         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
75159         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
75160         * modules/wctype (Makefile.am): Likewise.
75161         Reported by Chris McGuire.
75162
75163 2007-01-10  Jim Meyering  <jim@meyering.net>
75164
75165         fts.c: a small readability/maintainability improvement
75166         * lib/fts.c (fts_read): Make this code slightly more readable and
75167         maintainable by hoisting the "sp->fts_cur = p" assignments to
75168         immediately follow the statements that set P.  Derived from
75169         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
75170
75171 2007-01-10  Eric Blake  <ebb9@byu.net>
75172
75173         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
75174         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
75175         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75176         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
75177         Reported by Chris McGuire.
75178
75179 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75180
75181         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
75182         in sed script.
75183
75184 2007-01-09  Bruno Haible  <bruno@clisp.org>
75185
75186         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
75187         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
75188         variables.
75189         (func_module): Use them.
75190
75191 2007-01-09  Bruno Haible  <bruno@clisp.org>
75192
75193         * modules/unistr/base: New file.
75194         * lib/unistr.h: New file.
75195
75196         * modules/unistr/u8-to-u16: New file.
75197         * lib/unistr/u8-to-u16.c: New file.
75198
75199         * modules/unistr/u8-to-u32: New file.
75200         * lib/unistr/u8-to-u32.c: New file.
75201
75202         * modules/unistr/u16-to-u8: New file.
75203         * lib/unistr/u16-to-u8.c: New file.
75204
75205         * modules/unistr/u16-to-u32: New file.
75206         * lib/unistr/u16-to-u32.c: New file.
75207
75208         * modules/unistr/u32-to-u8: New file.
75209         * lib/unistr/u32-to-u8.c: New file.
75210
75211         * modules/unistr/u32-to-u16: New file.
75212         * lib/unistr/u32-to-u16.c: New file.
75213
75214         * modules/unistr/u8-check: New file.
75215         * modules/unistr/u16-check: New file.
75216         * modules/unistr/u32-check: New file.
75217         * lib/unistr/u8-check.c: New file.
75218         * lib/unistr/u16-check.c: New file.
75219         * lib/unistr/u32-check.c: New file.
75220
75221         * modules/unistr/u8-chr: New file.
75222         * modules/unistr/u16-chr: New file.
75223         * modules/unistr/u32-chr: New file.
75224         * lib/unistr/u8-chr.c: New file.
75225         * lib/unistr/u16-chr.c: New file.
75226         * lib/unistr/u32-chr.c: New file.
75227
75228         * modules/unistr/u8-cmp: New file.
75229         * modules/unistr/u16-cmp: New file.
75230         * modules/unistr/u32-cmp: New file.
75231         * lib/unistr/u8-cmp.c: New file.
75232         * lib/unistr/u16-cmp.c: New file.
75233         * lib/unistr/u32-cmp.c: New file.
75234
75235         * modules/unistr/u8-cpy: New file.
75236         * modules/unistr/u16-cpy: New file.
75237         * modules/unistr/u32-cpy: New file.
75238         * lib/unistr/u8-cpy.c: New file.
75239         * lib/unistr/u16-cpy.c: New file.
75240         * lib/unistr/u32-cpy.c: New file.
75241         * lib/unistr/u-cpy.h: New file.
75242
75243         * modules/unistr/u8-cpy-alloc: New file.
75244         * modules/unistr/u16-cpy-alloc: New file.
75245         * modules/unistr/u32-cpy-alloc: New file.
75246         * lib/unistr/u8-cpy-alloc.c: New file.
75247         * lib/unistr/u16-cpy-alloc.c: New file.
75248         * lib/unistr/u32-cpy-alloc.c: New file.
75249         * lib/unistr/u-cpy-alloc.h: New file.
75250
75251         * modules/unistr/u8-endswith: New file.
75252         * modules/unistr/u16-endswith: New file.
75253         * modules/unistr/u32-endswith: New file.
75254         * lib/unistr/u8-endswith.c: New file.
75255         * lib/unistr/u16-endswith.c: New file.
75256         * lib/unistr/u32-endswith.c: New file.
75257         * lib/unistr/u-endswith.h: New file.
75258
75259         * modules/unistr/u8-mblen: New file.
75260         * modules/unistr/u16-mblen: New file.
75261         * modules/unistr/u32-mblen: New file.
75262         * lib/unistr/u8-mblen.c: New file.
75263         * lib/unistr/u16-mblen.c: New file.
75264         * lib/unistr/u32-mblen.c: New file.
75265
75266         * modules/unistr/u8-mbtouc: New file.
75267         * modules/unistr/u16-mbtouc: New file.
75268         * modules/unistr/u32-mbtouc: New file.
75269         * lib/unistr/u8-mbtouc.c: New file.
75270         * lib/unistr/u16-mbtouc.c: New file.
75271         * lib/unistr/u32-mbtouc.c: New file.
75272
75273         * modules/unistr/u8-mbtouc-safe: New file.
75274         * modules/unistr/u16-mbtouc-safe: New file.
75275         * modules/unistr/u32-mbtouc-safe: New file.
75276         * lib/unistr/u8-mbtouc-safe.c: New file.
75277         * lib/unistr/u16-mbtouc-safe.c: New file.
75278         * lib/unistr/u32-mbtouc-safe.c: New file.
75279
75280         * modules/unistr/u8-move: New file.
75281         * modules/unistr/u16-move: New file.
75282         * modules/unistr/u32-move: New file.
75283         * lib/unistr/u8-move.c: New file.
75284         * lib/unistr/u16-move.c: New file.
75285         * lib/unistr/u32-move.c: New file.
75286         * lib/unistr/u-move.h: New file.
75287
75288         * modules/unistr/u8-next: New file.
75289         * modules/unistr/u16-next: New file.
75290         * modules/unistr/u32-next: New file.
75291         * lib/unistr/u8-next.c: New file.
75292         * lib/unistr/u16-next.c: New file.
75293         * lib/unistr/u32-next.c: New file.
75294
75295         * modules/unistr/u8-prev: New file.
75296         * modules/unistr/u16-prev: New file.
75297         * modules/unistr/u32-prev: New file.
75298         * lib/unistr/u8-prev.c: New file.
75299         * lib/unistr/u16-prev.c: New file.
75300         * lib/unistr/u32-prev.c: New file.
75301
75302         * modules/unistr/u8-set: New file.
75303         * modules/unistr/u16-set: New file.
75304         * modules/unistr/u32-set: New file.
75305         * lib/unistr/u8-set.c: New file.
75306         * lib/unistr/u16-set.c: New file.
75307         * lib/unistr/u32-set.c: New file.
75308         * lib/unistr/u-set.h: New file.
75309
75310         * modules/unistr/u8-startswith: New file.
75311         * modules/unistr/u16-startswith: New file.
75312         * modules/unistr/u32-startswith: New file.
75313         * lib/unistr/u8-startswith.c: New file.
75314         * lib/unistr/u16-startswith.c: New file.
75315         * lib/unistr/u32-startswith.c: New file.
75316         * lib/unistr/u-startswith.h: New file.
75317
75318         * modules/unistr/u8-stpcpy: New file.
75319         * modules/unistr/u16-stpcpy: New file.
75320         * modules/unistr/u32-stpcpy: New file.
75321         * lib/unistr/u8-stpcpy.c: New file.
75322         * lib/unistr/u16-stpcpy.c: New file.
75323         * lib/unistr/u32-stpcpy.c: New file.
75324         * lib/unistr/u-stpcpy.h: New file.
75325
75326         * modules/unistr/u8-stpncpy: New file.
75327         * modules/unistr/u16-stpncpy: New file.
75328         * modules/unistr/u32-stpncpy: New file.
75329         * lib/unistr/u8-stpncpy.c: New file.
75330         * lib/unistr/u16-stpncpy.c: New file.
75331         * lib/unistr/u32-stpncpy.c: New file.
75332         * lib/unistr/u-stpncpy.h: New file.
75333
75334         * modules/unistr/u8-strcat: New file.
75335         * modules/unistr/u16-strcat: New file.
75336         * modules/unistr/u32-strcat: New file.
75337         * lib/unistr/u8-strcat.c: New file.
75338         * lib/unistr/u16-strcat.c: New file.
75339         * lib/unistr/u32-strcat.c: New file.
75340         * lib/unistr/u-strcat.h: New file.
75341
75342         * modules/unistr/u8-strchr: New file.
75343         * modules/unistr/u16-strchr: New file.
75344         * modules/unistr/u32-strchr: New file.
75345         * lib/unistr/u8-strchr.c: New file.
75346         * lib/unistr/u16-strchr.c: New file.
75347         * lib/unistr/u32-strchr.c: New file.
75348
75349         * modules/unistr/u8-strcmp: New file.
75350         * modules/unistr/u16-strcmp: New file.
75351         * modules/unistr/u32-strcmp: New file.
75352         * lib/unistr/u8-strcmp.c: New file.
75353         * lib/unistr/u16-strcmp.c: New file.
75354         * lib/unistr/u32-strcmp.c: New file.
75355
75356         * modules/unistr/u8-strcpy: New file.
75357         * modules/unistr/u16-strcpy: New file.
75358         * modules/unistr/u32-strcpy: New file.
75359         * lib/unistr/u8-strcpy.c: New file.
75360         * lib/unistr/u16-strcpy.c: New file.
75361         * lib/unistr/u32-strcpy.c: New file.
75362         * lib/unistr/u-strcpy.h: New file.
75363
75364         * modules/unistr/u8-strcspn: New file.
75365         * modules/unistr/u16-strcspn: New file.
75366         * modules/unistr/u32-strcspn: New file.
75367         * lib/unistr/u8-strcspn.c: New file.
75368         * lib/unistr/u16-strcspn.c: New file.
75369         * lib/unistr/u32-strcspn.c: New file.
75370         * lib/unistr/u-strcspn.h: New file.
75371
75372         * modules/unistr/u8-strdup: New file.
75373         * modules/unistr/u16-strdup: New file.
75374         * modules/unistr/u32-strdup: New file.
75375         * lib/unistr/u8-strdup.c: New file.
75376         * lib/unistr/u16-strdup.c: New file.
75377         * lib/unistr/u32-strdup.c: New file.
75378         * lib/unistr/u-strdup.h: New file.
75379
75380         * modules/unistr/u8-strlen: New file.
75381         * modules/unistr/u16-strlen: New file.
75382         * modules/unistr/u32-strlen: New file.
75383         * lib/unistr/u8-strlen.c: New file.
75384         * lib/unistr/u16-strlen.c: New file.
75385         * lib/unistr/u32-strlen.c: New file.
75386         * lib/unistr/u-strlen.h: New file.
75387
75388         * modules/unistr/u8-strmblen: New file.
75389         * modules/unistr/u16-strmblen: New file.
75390         * modules/unistr/u32-strmblen: New file.
75391         * lib/unistr/u8-strmblen.c: New file.
75392         * lib/unistr/u16-strmblen.c: New file.
75393         * lib/unistr/u32-strmblen.c: New file.
75394
75395         * modules/unistr/u8-strmbtouc: New file.
75396         * modules/unistr/u16-strmbtouc: New file.
75397         * modules/unistr/u32-strmbtouc: New file.
75398         * lib/unistr/u8-strmbtouc.c: New file.
75399         * lib/unistr/u16-strmbtouc.c: New file.
75400         * lib/unistr/u32-strmbtouc.c: New file.
75401
75402         * modules/unistr/u8-strncat: New file.
75403         * modules/unistr/u16-strncat: New file.
75404         * modules/unistr/u32-strncat: New file.
75405         * lib/unistr/u8-strncat.c: New file.
75406         * lib/unistr/u16-strncat.c: New file.
75407         * lib/unistr/u32-strncat.c: New file.
75408         * lib/unistr/u-strncat.h: New file.
75409
75410         * modules/unistr/u8-strncmp: New file.
75411         * modules/unistr/u16-strncmp: New file.
75412         * modules/unistr/u32-strncmp: New file.
75413         * lib/unistr/u8-strncmp.c: New file.
75414         * lib/unistr/u16-strncmp.c: New file.
75415         * lib/unistr/u32-strncmp.c: New file.
75416
75417         * modules/unistr/u8-strncpy: New file.
75418         * modules/unistr/u16-strncpy: New file.
75419         * modules/unistr/u32-strncpy: New file.
75420         * lib/unistr/u8-strncpy.c: New file.
75421         * lib/unistr/u16-strncpy.c: New file.
75422         * lib/unistr/u32-strncpy.c: New file.
75423         * lib/unistr/u-strncpy.h: New file.
75424
75425         * modules/unistr/u8-strnlen: New file.
75426         * modules/unistr/u16-strnlen: New file.
75427         * modules/unistr/u32-strnlen: New file.
75428         * lib/unistr/u8-strnlen.c: New file.
75429         * lib/unistr/u16-strnlen.c: New file.
75430         * lib/unistr/u32-strnlen.c: New file.
75431         * lib/unistr/u-strnlen.h: New file.
75432
75433         * modules/unistr/u8-strpbrk: New file.
75434         * modules/unistr/u16-strpbrk: New file.
75435         * modules/unistr/u32-strpbrk: New file.
75436         * lib/unistr/u8-strpbrk.c: New file.
75437         * lib/unistr/u16-strpbrk.c: New file.
75438         * lib/unistr/u32-strpbrk.c: New file.
75439         * lib/unistr/u-strpbrk.h: New file.
75440
75441         * modules/unistr/u8-strrchr: New file.
75442         * modules/unistr/u16-strrchr: New file.
75443         * modules/unistr/u32-strrchr: New file.
75444         * lib/unistr/u8-strrchr.c: New file.
75445         * lib/unistr/u16-strrchr.c: New file.
75446         * lib/unistr/u32-strrchr.c: New file.
75447
75448         * modules/unistr/u8-strspn: New file.
75449         * modules/unistr/u16-strspn: New file.
75450         * modules/unistr/u32-strspn: New file.
75451         * lib/unistr/u8-strspn.c: New file.
75452         * lib/unistr/u16-strspn.c: New file.
75453         * lib/unistr/u32-strspn.c: New file.
75454         * lib/unistr/u-strspn.h: New file.
75455
75456         * modules/unistr/u8-strstr: New file.
75457         * modules/unistr/u16-strstr: New file.
75458         * modules/unistr/u32-strstr: New file.
75459         * lib/unistr/u8-strstr.c: New file.
75460         * lib/unistr/u16-strstr.c: New file.
75461         * lib/unistr/u32-strstr.c: New file.
75462         * lib/unistr/u-strstr.h: New file.
75463
75464         * modules/unistr/u8-strtok: New file.
75465         * modules/unistr/u16-strtok: New file.
75466         * modules/unistr/u32-strtok: New file.
75467         * lib/unistr/u8-strtok.c: New file.
75468         * lib/unistr/u16-strtok.c: New file.
75469         * lib/unistr/u32-strtok.c: New file.
75470         * lib/unistr/u-strtok.h: New file.
75471
75472         * modules/unistr/u8-uctomb: New file.
75473         * modules/unistr/u16-uctomb: New file.
75474         * modules/unistr/u32-uctomb: New file.
75475         * lib/unistr/u8-uctomb.c: New file.
75476         * lib/unistr/u16-uctomb.c: New file.
75477         * lib/unistr/u32-uctomb.c: New file.
75478
75479         * MODULES.html.sh (Unicode string functions): Add the new modules.
75480
75481 2007-01-08  Bruno Haible  <bruno@clisp.org>
75482
75483         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75484         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75485         subdirectories.
75486
75487 2007-01-08  Karl Berry  <karl@gnu.org>
75488
75489         * doc/error.texi: mention that main() fns must set program_name
75490         when progname is used.
75491
75492 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75493
75494         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75495         WCTYPE_H is empty, for the benefit of builds from non-distclean
75496         directories.  Problem reported by Eric Blake in
75497         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75498
75499 2007-01-08  Bruno Haible  <bruno@clisp.org>
75500
75501         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75502         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75503         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75504         PROVIDE_CANONICALIZE_FILENAME_MODE.
75505         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75506
75507 2007-01-08  Bruno Haible  <bruno@clisp.org>
75508
75509         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75510         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75511         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75512         * lib/fts.c: Likewise.
75513         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75514
75515 2006-12-25  Bruno Haible  <bruno@clisp.org>
75516
75517         * modules/utf8-ucs4-safe: New file.
75518         * lib/utf8-ucs4-safe.h: New file.
75519         * lib/unistr/utf8-ucs4-safe.c: New file.
75520
75521         * modules/utf16-ucs4-safe: New file.
75522         * lib/utf16-ucs4-safe.h: New file.
75523         * lib/unistr/utf16-ucs4-safe.c: New file.
75524
75525         * MODULES.html.sh (Unicode string functions): Add the new modules.
75526
75527 2007-01-08  Bruno Haible  <bruno@clisp.org>
75528
75529         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75530         (Depends-on): Add unitypes.
75531         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75532         (u8_mbtouc_aux): Move out to separate file.
75533         (u8_mbtouc): Use ucs4_t, uint8_t types.
75534         * lib/unistr/utf8-ucs4.c: New file.
75535
75536         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75537         (Depends-on): Add unitypes.
75538         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75539         (u16_mbtouc_aux): Move out to separate file.
75540         (u16_mbtouc): Use ucs4_t, uint16_t types.
75541         * lib/unistr/utf16-ucs4.c: New file.
75542
75543         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75544         (Depends-on): Add unitypes.
75545         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75546         (u8_uctomb_aux): Move out to separate file.
75547         (u8_uctomb): Use ucs4_t, uint8_t types.
75548         * lib/unistr/ucs4-utf8.c: New file.
75549
75550         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75551         (Depends-on): Add unitypes.
75552         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75553         (u16_uctomb_aux): Move out to separate file.
75554         (u16_uctomb): Use ucs4_t, uint16_t types.
75555         * lib/unistr/ucs4-utf16.c: New file.
75556
75557 2006-12-25  Bruno Haible  <bruno@clisp.org>
75558
75559         * modules/unitypes: New file.
75560         * lib/unitypes.h: New file.
75561         * MODULES.html.sh (func_all_modules): New section "Unicode string
75562         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75563         this section. Add unitypes.
75564
75565 2007-01-08  Bruno Haible  <bruno@clisp.org>
75566
75567         Avoid variable names that conflict with those from libtool.
75568         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75569         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75570         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75571         library_names_spec to acl_library_names_spec, hardcode_* to
75572         acl_hardcode_*.
75573         Reported by Ralf Wildenhues.
75574
75575 2007-01-08  Bruno Haible  <bruno@clisp.org>
75576
75577         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75578         definition.
75579         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75580         definition.
75581         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75582         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75583         definition.
75584         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75585         definition.
75586         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75587         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75588         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75589         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75590         definition.
75591         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75592         definition.
75593         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75594         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75595         GC_USE_<algorithm>.
75596         * lib/gc-libgcrypt.c: Likewise.
75597         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75598         * modules/gc-arctwo (configure.ac): Likewise.
75599         * modules/gc-des (configure.ac): Likewise.
75600         * modules/gc-hmac-md5 (configure.ac): Likewise.
75601         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75602         * modules/gc-md2 (configure.ac): Likewise.
75603         * modules/gc-md4 (configure.ac): Likewise.
75604         * modules/gc-md5 (configure.ac): Likewise.
75605         * modules/gc-random (configure.ac): Likewise.
75606         * modules/gc-rijndael (configure.ac): Likewise.
75607         * modules/gc-sha1 (configure.ac): Likewise.
75608
75609 2007-01-08  Bruno Haible  <bruno@clisp.org>
75610
75611         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75612         macro definition.
75613         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75614         definition.
75615         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75616         definition.
75617         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75618         * modules/fcntl-safer (configure.ac): Likewise.
75619         * modules/fopen-safer (configure.ac): Likewise.
75620         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75621         GNULIB_FWRITEERROR macro definition.
75622
75623 2007-01-08  Bruno Haible  <bruno@clisp.org>
75624
75625         * m4/gnulib-common.m4: New file.
75626         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75627         (func_get_filelist): Add m4/gnulib-common.m4.
75628
75629 2007-01-08  Bruno Haible  <bruno@clisp.org>
75630
75631         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75632         command.
75633
75634 2007-01-08  Jim Meyering  <jim@meyering.net>
75635
75636         Use a more robust test for a "can't happen" condition.
75637         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75638         narrowed the st_size value.  Presuming the "can't happen" condition
75639         is true, that narrowing could conceivably convert an invalid st_size
75640         value into a valid one.  Instead, use a change based on Matthew
75641         Woehlke's original patch.
75642
75643         Slight readability improvement: use an assert-like macro
75644         in place of literal "abort ()" uses.
75645         * lib/fts.c (fts_assert): Define.
75646         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75647         Use this macro instead of a bare 'abort'.
75648
75649 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75650
75651         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75652         simply work around them.
75653         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75654         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75655         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75656         declaring.
75657         Don't bother to define as macros, since the standard doesn't require it.
75658         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75659         longer worry about IRIX 5.3.
75660         (HAVE_WCTYPE_CTMP_BUG): Remove.
75661
75662 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75663
75664         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75665         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75666         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75667         Problems reported by Georg Schwarz for IRIX 5.3.
75668
75669         * gnulib-tool (autoconf_minversion): Take the maximum version number
75670         found, not the minimum.  Problem reported by James Youngman.
75671
75672 2007-01-03  Karl Berry  <karl@gnu.org>
75673
75674         * doc/error.texi: new file, explaining interaction with progname.
75675         * doc/gnulib.texi: include it.  Update copyright.
75676
75677 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75678
75679         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75680         AC_CANONICAL_HOST, to improve autobuild outputs.
75681
75682 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75683             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75684
75685         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75686         sockets, server sockets, and other file descriptors.  Count errors
75687         to compute the return value.  Reorder the code a bit to be easier
75688         to follow.  Don't set event bits that were not requested (except
75689         POLLERR and POLLHUP).
75690
75691 2007-01-01  Bruno Haible  <bruno@clisp.org>
75692
75693         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75694
75695 2007-01-03  Jim Meyering  <jim@meyering.net>
75696
75697         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75698
75699 2007-01-02  Bruno Haible  <bruno@clisp.org>
75700
75701         * modules/settime (Include): Require timespec.h.
75702         * modules/nanosleep (Include): Likewise.
75703
75704 2007-01-01  Bruno Haible  <bruno@clisp.org>
75705
75706         * gnulib-tool (func_emit_copyright_notice): Bump year.
75707         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75708
75709 2007-01-01  Bruno Haible  <bruno@clisp.org>
75710
75711         Improve support for OpenBSD.
75712         * build-aux/config.rpath (libname_spec): Export.
75713         (library_names_spec): New variable. Export.
75714         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75715         library_names_spec from the config.rpath output. Locate shared library
75716         through the name pattern in library_names_spec.
75717
75718 2007-01-01  Eric Blake  <ebb9@byu.net>
75719
75720         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75721
75722 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75723
75724         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75725         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75726         assume the C locale, and avoid an "eval" that could cause trouble.
75727         Problem with SORT reported by Bob Proulx.
75728
75729         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75730         Define.  Trivial patch from Henning Nielsen Lund, originally
75731         sent to bug-grep@gnu.org today.
75732
75733 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75734
75735         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75736         struct stat.  Problem reported by Henning Nielsen Lund.
75737         * lib/acl.c: Include acl.h first, to check interface.  Don't
75738         bother to include sys/types.h and sys/stat.h again.
75739
75740 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75741
75742         Import the following change from libc; problem reported by
75743         Sven Verdoolaege.
75744
75745         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75746
75747         [BZ #1373]
75748         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75749
75750 2006-12-28  Jim Meyering  <jim@meyering.net>
75751
75752         * build-aux/announce-gen: Do not assume that the package
75753         builds any of tar.gz, tar.bz2, and .xdelta files.
75754         Suggestion from Simon Josefsson.
75755
75756 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75757
75758         * modules/announce-gen: New file.
75759
75760 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75761
75762         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75763         handles its gotchas now.
75764         * lib/mbswidth.c: Likewise.
75765         * lib/wcwidth.h: Likewise.
75766         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75767         and iswcntrl; the wctype module does this stuff now.
75768         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75769         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75770         * modules/mbchar (Depends-on): Add wctype.
75771         * modules/mbswidth (Depends-on): Likewise.
75772         * modules/wcwidth (Depends-on): Likewise.
75773
75774 2006-12-27  Eric Blake  <ebb9@byu.net>
75775
75776         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75777         module uses more than what <wctype.h> is required to provide.
75778
75779 2006-12-26  Eric Blake  <ebb9@byu.net>
75780
75781         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75782
75783 2006-12-26  Eric Blake  <ebb9@byu.net>
75784
75785         * modules/absolute-header: New module.
75786         * modules/fcntl (Depends-on): Depend on it.
75787         * modules/inttypes (Depends-on): Likewise.
75788         * modules/stdint (Depends-on): Likewise.
75789         * modules/sys_stat (Depends-on): Likewise.
75790         * modules/wctype (Depends-on): Likewise.
75791         * MODULES.html.sh (Support for building libraries and
75792         executables): Document it.
75793
75794 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75795
75796         * gnulib-tool (SED): Remove, undoing previous change.
75797         The problem was that it broke coreutils on Solaris, because
75798         "sed --posix" leaked into a makefile.
75799         (sed): New alias, if 'alias' and GNU sed.
75800
75801 2006-12-24  Jim Meyering  <jim@meyering.net>
75802
75803         Work around an fchownat bug in glibc-2.4:
75804         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75805         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75806         in spite of the -P option.
75807         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75808         New macros.
75809         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75810         * modules/openat (Files): Add lib/fchownat.c.
75811         * lib/openat.c (fchownat): Don't define here.  Move to...
75812         * lib/fchownat.c: ...this new file.
75813
75814 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75815
75816         Fix bug reported by Bruno Haible in
75817         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75818         where quotearg.c didn't compile on Mac OS X 10.2 because it
75819         lacks <wchar.h> and wint_t.
75820         * lib/wctype_.h (__wctype_wint_t): New type.
75821         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75822         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75823         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75824         Arg is now of type __wctype_wint_t, not wint_t.
75825         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75826         substitute HAVE_WINT_T.
75827         * modules/wctype (Files): Add m4/wint_t.m4.
75828         (wctype.h): Substitute HAVE_WINT_T.
75829
75830 2006-12-23  Bruno Haible  <bruno@clisp.org>
75831
75832         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75833
75834 2006-12-23  Bruno Haible  <bruno@clisp.org>
75835
75836         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75837         S_ISLNK.
75838         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75839         mingw.
75840
75841 2006-12-22  Bruno Haible  <bruno@clisp.org>
75842
75843         * lib/copy-file.c: Include acl.h.
75844         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75845         Close the file descriptors only after being done with copy_acl.
75846         * modules/copy-file (Depends-on): Add acl.
75847
75848 2006-12-22  Bruno Haible  <bruno@clisp.org>
75849
75850         * gnulib-tool (SED): New variable.
75851         Use $SED instead of sed everywhere.
75852
75853 2006-12-22  Bruno Haible  <bruno@clisp.org>
75854
75855         * modules/no-c++: New file.
75856         * m4/no-c++.m4: New file.
75857         * MODULES.html.sh (Support for building libraries and executables):
75858         Add no-c++.
75859
75860 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75861
75862         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75863         Include <limits.h>, and use its INT_MAX to rewrite the
75864         j loop so that it does not overflow 'int'.  Problem reported by
75865         Ralf Wildenhues in
75866         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75867         Play it safe by shifting left by 1 rather than multiplying by 2,
75868         as GCC is less likely to optimize this away when the value
75869         is signed (when it assumes overflow leads to undefined behavior).
75870         Also, don't assume time_t uses two's complement.
75871
75872 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75873
75874         * MODULES.html.sh: New module wctype.
75875         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75876         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75877         <wctype.h>, since the new wctype module should fix this.
75878         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75879         the wctype module should arrange for it.
75880         * lib/regex_internal.h: Likewise.
75881         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75882         since the wctype module should handle this now.
75883         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75884         * modules/fnmatch (Depends-on): Add wctype.
75885         * modules/quotearg (Depends-on): Likewise.
75886         * modules/regex (Depends-on): Likewise.
75887
75888 2006-12-19  Bruno Haible  <bruno@clisp.org>
75889
75890         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75891         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75892
75893 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75894
75895         * modules/savewd (Depends-on): Fix dependency on fcntl.
75896
75897 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75898
75899         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75900         conforms to C99, rather than relying on the user's environment
75901         setting of STDINT_H.
75902
75903 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75904         and Eric Blake  <ebb9@byu.net>
75905
75906         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75907         This is more consistent with the other defines here.
75908         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75909         Port to z/OS.  Problem reported by Paul Gilmartin.
75910         Change local vars to use gl_ prefix rather than ac_.
75911         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75912         with other defines.
75913         * modules/double-slash-root: New module.
75914         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75915         (Depends-on): Add double-slash-root.
75916         * MODULES.html.sh (File system functions): Mention new module.
75917
75918 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75919
75920         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75921         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75922         This is for the benefit of gzip, which doesn't do i18n.
75923
75924 2006-12-12  Jim Meyering  <jim@meyering.net>
75925
75926         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75927         Reported by Andreas Schwab <schwab@suse.de>.
75928
75929 2006-12-12  Bruno Haible  <bruno@clisp.org>
75930
75931         Merge these changes.
75932         2006-09-05  Bruno Haible  <bruno@clisp.org>
75933         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75934         iconv_alloc succeeded.
75935         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75936         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75937         test for " && dest " at the end - dest is always != NULL there. Call
75938         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75939         with 2xNULL arguments, also to flush the state storage. Handle the
75940         IRIX iconv behaviour. Realloc the final result, to throw away unused
75941         memory.
75942
75943 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75944
75945         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75946         and fchmodat unconditionally, since glibc 2.4 has them.
75947         Problem reported by Arkadiusz Miskiewicz.
75948
75949 2006-12-10  Bruno Haible  <bruno@clisp.org>
75950
75951         * gnulib-tool (func_import): Show the include files only for those
75952         modules that are copied and specified.
75953         Reported by Karl Berry.
75954
75955 2006-12-08  Jim Meyering  <jim@meyering.net>
75956
75957         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75958         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75959
75960         * build-aux/announce-gen: Add two new options, both optional:
75961         --bootstrap-tools=TOOL_LIST
75962               a comma-separated list of tools, e.g.,
75963               autoconf,automake,bison,gnulib
75964         --gnulib-snapshot-date=DATE
75965               if gnulib is in the bootstrap tool list,
75966               then report this as the snapshot date.
75967               If not specified, use the current date/time.
75968               If you specify a date here, be sure it's UTC.
75969
75970 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75971
75972         * tests/test-argp-2.sh: Fix test to match actual output.
75973         (func_compare): Fix sed script to be portable.
75974
75975 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75976
75977         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75978         workaround for this case.  It is not autoconfigured now; offhand
75979         it's hard to see how to autoconfigure it.
75980
75981 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75982
75983         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75984         a directory that is about to be chowned.  Such a directory's
75985         initial file permissions should permit the owner only and this
75986         should not be changed until after the chown, since the group and
75987         other bits would be incorrect if they granted permission before
75988         the chown.
75989
75990         Fix porting problem for iswctype reported by Georg Schwarz in:
75991         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75992         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75993         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75994         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75995         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75996
75997 2006-12-03  Jim Meyering  <jim@meyering.net>
75998
75999         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
76000         p->fts_statp may not yet be defined.
76001         (fts_read): Instead, set it in the caller, once p->fts_statp is
76002         sure to be defined, and corresponds to a top-level directory.
76003         This bug made du -x fail.  Here's the coreutils test case:
76004         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
76005         Reported by Mike Frysinger.
76006
76007 2006-12-01  Jim Meyering  <jim@meyering.net>
76008
76009         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
76010         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
76011         Reported by Simon Josefsson.
76012
76013 2006-11-30  Jim Meyering  <jim@meyering.net>
76014
76015         * m4/warning.m4: Use the all-permissive copyright notice
76016         recommended by RMS (rather than LGPL).
76017         * m4/vararrays.m4: Likewise.
76018         * m4/flexmember.m4: Likewise.
76019
76020 2006-11-29  Bruno Haible  <bruno@clisp.org>
76021
76022         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76023         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
76024         using +=.
76025         Reported by Simon Josefsson <simon@josefsson.org>.
76026
76027 2006-11-28  James Youngman <jay@gnu.org>
76028
76029         * README: Advise users that they might find the bug-gnulib@gnu.org
76030         and autotools-announce@gnu.org mailing lists useful.
76031
76032 2006-11-28  Bruno Haible  <bruno@clisp.org>
76033
76034         * m4/ptrdiff_max.m4: Remove file.
76035
76036 2006-11-21  Bruno Haible  <bruno@clisp.org>
76037
76038         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
76039         _AC_COMPUTE_INT.
76040         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76041         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
76042         _AC_COMPUTE_INT.
76043         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76044         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
76045         _AC_COMPUTE_INT.
76046         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76047
76048 2006-11-28  Jim Meyering  <jim@meyering.net>
76049
76050         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
76051         warning from "gcc -Wshadow" about shadowing the builtin.
76052
76053 2006-11-27  Bruno Haible  <bruno@clisp.org>
76054
76055         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
76056         _AC_COMPUTE_INT.
76057         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76058
76059 2006-11-27  Bruno Haible  <bruno@clisp.org>
76060             Paul Eggert  <eggert@cs.ucla.edu>
76061
76062         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
76063
76064 2006-11-26  Bruno Haible  <bruno@clisp.org>
76065
76066         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76067         noinst_LTLIBRARIES.
76068
76069 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
76070             Bruno Haible  <bruno@clisp.org>
76071
76072         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
76073         if compiling with "gcc -ansi".
76074
76075 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
76076
76077         Fix some incompatibilities with gcc -ansi -pedantic.
76078         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
76079         if compiling pedantically with GCC, unless it's C99 or later.
76080         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
76081         it mishandles gcc -ansi -pedantic as well.
76082         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
76083         if gcc -pedantic.
76084         * lib/regexec.c (check_node_accept_bytes): Don't use auto
76085         initializers for struct if -pedantic, unless it's C99 or later.
76086
76087 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
76088
76089         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
76090         Don't close an fd more than once. Identical atimes indicate
76091         success, not failure.
76092
76093 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
76094
76095         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
76096
76097 2006-11-23  Jim Meyering  <jim@meyering.net>
76098
76099         * build-aux/announce-gen: New file.  From coreutils.
76100
76101 2006-11-22  Jim Meyering  <jim@meyering.net>
76102
76103         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
76104         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
76105         (fts_read): Use a temporary to narrow the overused st_size member
76106         before using it in a switch statement.  Reported by Matthew Woehlke.
76107
76108         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
76109         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
76110
76111 2006-11-20  Bruno Haible  <bruno@clisp.org>
76112
76113         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
76114         changequote instead of pairs of brackets.
76115         Reported by Andreas Schwab <schwab@suse.de>.
76116
76117 2006-11-21  Jim Meyering  <jim@meyering.net>
76118
76119         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
76120         so as to remain compatible with older compilers.
76121         Patch from Michael Deutschmann.
76122
76123 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76124
76125         * MODULES.html.sh (File system functions): Add openat.
76126
76127         * lib/openat.h (rpl_fstatat): New macro, if
76128         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
76129         (fstatat): Define to rpl_fstatat under the same conditions,
76130         unless COMPILING_FSTATAT.
76131         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
76132         seems to have the bug.
76133         * lib/fstatat.c: New file.
76134         * modules/openat (Files): Add it.
76135
76136 2006-11-20  Bruno Haible  <bruno@clisp.org>
76137
76138         * Makefile: New file.
76139
76140 2006-11-20  Jim Meyering  <jim@meyering.net>
76141
76142         The beginnings of syntax-related checks for gnulib.
76143         * lib/Makefile: New file.
76144         * lib/t-idcache: New script.  Ensure that the two halves of
76145         idcache.c stay in sync.
76146
76147         * lib/idcache.c: Adjust comments in user- and group- portions to
76148         be more accurate, and to be consistent with one another.
76149
76150 2006-11-20  Jim Meyering  <jim@meyering.net>
76151
76152         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
76153         continue using the flexible array member (thus, this module performs
76154         half as many malloc calls), with the addition that...
76155         (getgroup, getuser): Consistently record a non-match via an empty
76156         "name" string, and map an empty string match to a NULL return value.
76157         * modules/idcache (Depends-on): Re-add flexmember.
76158
76159         * lib/idcache.c (getuser): Remove all uses of the register keyword.
76160         (getuidbyname, getgroup, getgidbyname): Likewise.
76161
76162         Use cleaner syntax: NULL rather than 0.
76163         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
76164
76165 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76166
76167         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
76168         It mishandled the case where the group was missing.
76169         Problem reported by Greg Schafer.
76170         * modules/idcache: Likewise.
76171
76172 2006-11-18  Jim Meyering  <jim@meyering.net>
76173
76174         * check-module (%exempt_header): Add exception for some
76175         conditionally-included headers.
76176
76177         * modules/i-ring (Depends-on): Add verify.
76178         (License): Change to LGPL.
76179
76180 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76181
76182         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
76183         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
76184         and inttostr.h.  Use snprintf rather than uinttostr, so that
76185         LGPLed code doesn't depend on GPLed.
76186
76187 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76188
76189         * modules/inline (License): Change from GPL to LGPL.
76190
76191 2006-11-17  Jim Meyering  <jim@meyering.net>
76192
76193         * modules/d-type (License): Switch to LGPL.
76194
76195 2006-11-15  Bruno Haible  <bruno@clisp.org>
76196
76197         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
76198
76199 2006-11-15  Eric Blake  <ebb9@byu.net>
76200
76201         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
76202         the module dependency.
76203
76204 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76205             Bruno Haible  <bruno@clisp.org>
76206
76207         * gnulib-tool (func_create_testdir): Add license consistency check.
76208
76209 2006-11-15  Eric Blake  <ebb9@byu.net>
76210
76211         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
76212         random "(cached)" in configure output.
76213
76214 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76215
76216         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
76217         test for conforming inttypes.h is both announced and cached.
76218
76219         * MODULES.html.sh (seen_modules, seen_files): New variables.
76220         (func_module): Rewrite to use a few less gnulib-tool and sed
76221         invocations.  Avoid a couple of quadratic algorithms for ...
76222         (missed_modules, missed_files): ... these, with ...
76223         (func_append, func_tmpdir): ... these new functions, from
76224         gnulib-tool.  Analogously, install traps for cleanup.
76225
76226         * tests/test-gc.c (main): Remove unused variables.
76227         * tests/test-read-file.c: Include stdlib.h, for 'free'.
76228
76229 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
76230
76231         * modules/inttostr (License): Change to LGPL.
76232
76233 2006-11-14  Eric Blake  <ebb9@byu.net>
76234
76235         * modules/tempname (License): Change to LGPL.
76236
76237 2006-11-14  Eric Blake  <ebb9@byu.net>
76238
76239         * doc/functions.texi (Function Portability): *printf functions on
76240         Cygwin now understand all POSIX size specifiers.
76241
76242 2006-11-14  Bruno Haible  <bruno@clisp.org>
76243
76244         * modules/c-ctype (License): Change to LGPL.
76245
76246 2006-11-12  Bruno Haible  <bruno@clisp.org>
76247
76248         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
76249         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
76250         for GNOME libraries, for which the include files are installed in
76251         subdirectories of $prefix/include.
76252
76253 2006-11-12  Bruno Haible  <bruno@clisp.org>
76254
76255         * m4/lib-link.m4: Require at least autoconf-2.54.
76256         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
76257         name to underscores for the --with option.
76258
76259 2006-11-13  Bruno Haible  <bruno@clisp.org>
76260
76261         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
76262         the tests directory.
76263         Reported by Ralf Wildenhues.
76264
76265 2006-11-13  Bruno Haible  <bruno@clisp.org>
76266
76267         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
76268         (func_emit_initmacro_end): Undo the override here.
76269         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
76270         Works around the famous automake error in coreutils.
76271
76272 2006-11-13  Eric Blake  <ebb9@byu.net>
76273
76274         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
76275         element, not its node.
76276
76277 2006-11-12  Bruno Haible  <bruno@clisp.org>
76278
76279         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
76280         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
76281
76282 2006-11-12  Bruno Haible  <bruno@clisp.org>
76283
76284         * gnulib-tool: New option --local-symlink.
76285         (func_usage): Document it.
76286         (lsymbolic): New variable.
76287         (func_import, func_create_testdir): If --symlink was not specified,
76288         test whether --local-symlink was specified and the file comes from
76289         the local_gnulib_dir.
76290
76291 2006-11-12  Bruno Haible  <bruno@clisp.org>
76292
76293         * gnulib-tool (func_ln): New function.
76294         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
76295
76296 2006-11-12  Bruno Haible  <bruno@clisp.org>
76297
76298         Finish support for source files in subdirectories.
76299         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
76300         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
76301         AUTOMAKE_OPTIONS.
76302         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
76303
76304 2006-11-12  Bruno Haible  <bruno@clisp.org>
76305
76306         * gnulib-tool (func_get_automake_snippet): Synthesize also an
76307         EXTRA_lib_SOURCES augmentation.
76308         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
76309
76310 2006-11-12  Jim Meyering  <jim@meyering.net>
76311
76312         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
76313         file descriptors.  This also averts a failure on systems with
76314         native openat support when a traversed directory lacks "x" access.
76315         * lib/fts_.h: Include "i-ring.h"
76316         (struct FTS) [fts_fd_ring]: New member.
76317         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
76318         (FCHDIR): Add parentheses.
76319         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
76320         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
76321         When descending, rather than simply closing the previous
76322         fts_cwd_fd value, push that file descriptor onto the ring.
76323         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
76324         (fts_open): Initialize the new fd_ring member.
76325         (fts_close): Clear the ring.
76326         (fts_safe_changedir): When possible, use our new fd_ring to skip
76327         the diropen and fstat and dev/ino comparison that would normally
76328         accompany a virtual `chdir ("..")'.
76329
76330         * modules/fts (Depends-on): Add i-ring.
76331         * modules/i-ring: New module.
76332         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
76333         * m4/i-ring.m4: New file.
76334
76335 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76336
76337         * gnulib-tool (func_create_testdir): Fix replacement of
76338         `build-aux' in configure.ac.  Run autotools in gltests
76339         subdirectory.
76340         (func_create_testdir, func_create_megatestdir, test): There is
76341         no need for '--force' in most autotool invocations in a new
76342         tree.  Actually fail the whole test if any of the tools, or the
76343         configure or make stages fail.
76344
76345         Sync from Automake.
76346         * build-aux/gnupload: Revert last change.  Add pointer to upload
76347         instructions of the GNU Maintenance Instructions.
76348         Suggestion by Karl Berry.
76349
76350 2006-11-10  Jim Meyering  <jim@meyering.net>
76351
76352         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
76353
76354 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76355
76356         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
76357         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
76358         (bind_textdomain_codeset) [! ENABLE_NLS]:
76359         Evaluate all the arguments.  That way, callers get compatible behavior
76360         if the arguments have side effects.  Also, it avoids some GCC
76361         diagnostics in some cases; Joel E. Denny reported problems when Bison
76362         was configured with --enable-gcc-warnigs.
76363
76364 2006-11-10  Jim Meyering  <jim@meyering.net>
76365
76366         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
76367         relevant options in CFLAGS (like -O, -fno-inline) are taken into
76368         account.
76369
76370 2006-11-10  Jim Meyering  <jim@meyering.net>
76371
76372         * modules/inline: New file/module.
76373         * modules/xalloc (Files): Remove m4/inline.m4.
76374         (Depends-on): Add inline, instead.
76375         * modules/oset: Likewise.
76376         * modules/list: Likewise.
76377
76378 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76379
76380         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
76381         Problem reported by Matthew Woehlke.
76382
76383 2006-11-09  Bruno Haible  <bruno@clisp.org>
76384
76385         * lib/tempname.c (gen_tempname): Remove variant that invokes
76386         __gen_tempname.
76387         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
76388         __gen_tempname.
76389
76390 2006-11-08  Bruno Haible  <bruno@clisp.org>
76391
76392         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
76393         to 'yes' instead of 'cross-compiling'.
76394
76395 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76396
76397         * lib/quotearg.h (quotearg_free): New decl.
76398         * lib/quotearg.c (quotearg_free): New function.
76399         (slot0, nslots, slotvec0, slotvec):
76400         Now file-scope so that quotearg_free can get at them.
76401
76402 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76403
76404         Sync from Automake.
76405         * build-aux/gnupload: Add missing 'gnu' to example URL.
76406         Report by Karl Berry.
76407
76408 2006-11-08  Bruno Haible  <bruno@clisp.org>
76409
76410         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
76411         Suggested by Paul Eggert.
76412
76413 2006-11-08  Jim Meyering  <jim@meyering.net>
76414
76415         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
76416         It's already included if !_LIBC.
76417         (fts_safe_changedir): Add a comment.
76418
76419 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76420
76421         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
76422         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
76423         Matthew Woehlke.
76424
76425         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
76426         definitions up, to avoid colliding with change below.
76427         (static_inline) [HAVE_INLINE]: New macro.
76428         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
76429         Provide extern decls when !HAVE_INLINE.  Do not define unless
76430         static_inline is defined, either by us or by xmalloc.c.  Use
76431         static_inline rather than static inline.
76432         (XCALLOC): Optimize sizeof(T) = 1 case.
76433         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
76434
76435 2006-11-07  Bruno Haible  <bruno@clisp.org>
76436
76437         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
76438         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
76439         AC_C_INLINE.
76440         * modules/xalloc (Files): Add m4/inline.m4.
76441
76442 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76443
76444         * README: Fix typo.
76445         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
76446         (Miscellanous Notes): ...from this.
76447
76448 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76449
76450         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
76451         Mention that offsetof should be used instead of sizeof.
76452         From Bruno Haible.
76453
76454 2006-11-07  Bruno Haible  <bruno@clisp.org>
76455
76456         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76457
76458 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76459
76460         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76461         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
76462         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76463         (gl_tree_add_before, gl_tree_add_after):
76464         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76465         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76466         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76467         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76468         (gl_linked_add_after, gl_linked_add_at): Likewise.
76469         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76470         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76471         (gl_tree_add_before, gl_tree_add_after): Likewise.
76472         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76473         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76474         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76475
76476 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76477
76478         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76479
76480 2006-11-06  Bruno Haible  <bruno@clisp.org>
76481
76482         * m4/inline.m4: New file.
76483         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76484         * modules/list (Files): Add m4/inline.m4.
76485         * modules/oset (Files): Likewise.
76486
76487 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76488
76489         * lib/idcache.c: Include <stddef.h>, for offsetof.
76490         (struct userid.name): Change from char * to a flexible array member.
76491         All uses changed.
76492         * modules/idcache (Depends-on): Add flexmember.
76493
76494         * MODULES.html.sh (Core language properties): New module flexmember.
76495         * modules/flexmember, m4/flexmember.m4: New files.
76496
76497         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76498         inline functions that are identical with the old xnmalloc_inline,
76499         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76500         that we can avoid some unnecessary integer multiplications and
76501         divisions in the common case where the element size is known at
76502         compile time.
76503         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76504         needed.
76505         (xnboundedmalloc): Remove.
76506         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76507         arguments, for consistency with rest of this header.
76508         (xcharalloc): Rewrite using XNMALLOC.
76509         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76510         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76511         versions have been moved to lib/xalloc.h and renamed to be the
76512         non-*_inline versions.
76513         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76514         and xnrealloc functions, since those functions are now inline and
76515         now call us.
76516         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76517         renaming described above.
76518         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76519         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76520         captures the dependency in AC_C_INLINE.
76521
76522         New module canonicalize-lgpl, proposed by Charles Wilson in
76523         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76524         with a few small changes afterwards.
76525         * MODULES.html.sh (File system functions): New module
76526         canonicalize-lgpl.
76527         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76528         and canonicalize_file_name.
76529         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76530         * modules/canonicalize-lgpl: New files.
76531
76532 2006-11-05  Bruno Haible  <bruno@clisp.org>
76533
76534         * gnulib-tool (func_import, func_create_testdir): Create directories
76535         also for files in subdirectories of lib/.
76536
76537 2006-11-05  Bruno Haible  <bruno@clisp.org>
76538
76539         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76540         ANSI C compliant.
76541
76542 2006-11-03  Bruno Haible  <bruno@clisp.org>
76543
76544         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76545         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76546         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76547         (xnboundedmalloc): New inline function.
76548         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76549         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76550         xmalloc.
76551         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76552         xmalloc.
76553         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76554         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76555         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76556         xmalloc.
76557         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76558         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76559         xmalloc.
76560         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76561         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76562         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76563         xmalloc.
76564         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76565         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76566         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76567         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76568         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76569         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76570         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76571
76572 2006-11-03  Bruno Haible  <bruno@clisp.org>
76573
76574         * lib/c-ctype.h [C++]: Define functions without name mangling.
76575         * lib/fwriteerror.h [C++]: Likewise.
76576         * lib/gcd.h [C++]: Likewise.
76577         * lib/linebreak.h [C++]: Likewise.
76578
76579 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76580
76581         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76582         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76583         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76584         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76585         Check for functions and headers just once.
76586         Check for declaration of canonicalize_file_name.
76587         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76588
76589 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76590
76591         * gnulib-tool (func_import): Fix typo in actioncmd.
76592
76593 2006-11-02  Bruno Haible  <bruno@clisp.org>
76594
76595         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76596         newline sequence in the Makefile.am snippet as a space, like "make"
76597         does.
76598         Reported by Roger Persson <perrog@gmail.com>.
76599
76600 2006-11-01  Bruno Haible  <bruno@clisp.org>
76601
76602         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76603         already declared in <string.h>.
76604         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76605
76606 2006-11-01  Bruno Haible  <bruno@clisp.org>
76607
76608         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76609         * lib/strcase.h: Include <string.h>.
76610         (strcasecmp): Define to rpl_strcasecmp here.
76611
76612 2006-11-01  Bruno Haible  <bruno@clisp.org>
76613
76614         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76615
76616 2006-11-01  Eric Blake  <ebb9@byu.net>
76617
76618         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76619
76620         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76621
76622 2006-10-29  Bruno Haible  <bruno@clisp.org>
76623
76624         Make it compile in C++ mode.
76625         * lib/full-write.c (full_rw): Add a cast.
76626
76627 2006-11-01  Bruno Haible  <bruno@clisp.org>
76628
76629         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76630         be POSIX compliant.
76631         Reported by Roger Persson <perrog@gmail.com>.
76632
76633 2006-11-01  Eric Blake  <ebb9@byu.net>
76634
76635         * lib/getopt_.h: Fix comments.
76636
76637 2006-10-31  Eric Blake  <ebb9@byu.net>
76638
76639         * modules/tmpdir (Depends-on): Add sys_stat.
76640         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76641         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76642         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76643         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76644         tempname.
76645
76646 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76647
76648         Avoid some C++ diagnostics reported by Bruno Haible.
76649         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76650         xmalloc.
76651         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76652         (struct slotvec): Move to top level.
76653         (quotearg_n_options): Rewrite to avoid xmalloc.
76654         * lib/xalloc.h (xcharalloc): New function.
76655         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76656         [defined __cplusplus]: Add function template that provides result
76657         type propagation.  This part of the change is from Bruno Haible.
76658
76659 2006-10-29  Bruno Haible  <bruno@clisp.org>
76660
76661         Make it compile in C++ mode.
76662         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76663         * lib/strnlen1.c (strnlen1): Cast memchr result.
76664         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76665         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76666         (create_temp_dir): Rename local variable 'template'.
76667         (compile_csharp_using_sscli): Add cast.
76668         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76669         * lib/findprog.c (find_in_path): Likewise.
76670         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76671         * lib/wait-process.c (register_slave_subprocess): Likewise.
76672
76673 2006-10-22  Bruno Haible  <bruno@clisp.org>
76674
76675         * modules/tsearch: New file.
76676         * lib/tsearch.h: New file.
76677         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76678         * m4/tsearch.m4: New file.
76679         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76680
76681 2006-10-29  Eric Blake  <ebb9@byu.net>
76682
76683         * lib/arcfour.c: Assume config.h.
76684         * lib/arctwo.c: Likewise.
76685         * lib/base64.c: Likewise.
76686         * lib/check-version.c: Likewise.
76687         * lib/crc.c: Likewise.
76688         * lib/des.c: Likewise.
76689         * lib/gc-gnulib.c: Likewise.
76690         * lib/gc-libgcrypt.c: Likewise.
76691         * lib/gc-pbkdf2-sha1.c: Likewise.
76692         * lib/getaddrinfo.c: Likewise.
76693         * lib/getdelim.c: Likewise.
76694         * lib/getline.c: Likewise.
76695         * lib/hmac-md5.c: Likewise.
76696         * lib/hmac-sha1.c: Likewise.
76697         * lib/iconvme.c: Likewise.
76698         * lib/md2.c: Likewise.
76699         * lib/md4.c: Likewise.
76700         * lib/memxor.c: Likewise.
76701         * lib/read-file.c: Likewise.
76702         * lib/readline.c: Likewise.
76703         * lib/rijndael-alg-fst.c: Likewise.
76704         * lib/rijndael-api-fst.c: Likewise.
76705         * lib/xgetdomainname.c: Likewise.
76706
76707 2006-10-28  Eric Blake  <ebb9@byu.net>
76708
76709         * lib/xstrndup.c: Assume config.h.
76710
76711 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76712
76713         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76714         stat-macros.h is now for our own macros, whereas stat_h is for
76715         macros in the <sys/stat.h> name space.
76716         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76717         (STAT_MACROS_H): Remove.
76718         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76719         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76720         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76721         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76722         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76723         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76724         Move these macros to ...
76725         * lib/stat_.h: here.  Don't include stat-macros.h.
76726         * lib/canonicalize.c: Don't include stat-macros.h.
76727         * lib/chown.c: Likewise.
76728         * lib/euidaccess.c: Likewise.
76729         * lib/file-type.c: Likewise.
76730         * lib/filemode.c: Likewise.
76731         * lib/glob.c: Likewise.
76732         * lib/isapipe.c: Likewise.
76733         * lib/lchown.c: Likewise.
76734         * lib/lstat.c: Likewise.
76735         * lib/mkdir-p.c: Likewise.
76736         * lib/rmdir.c: Likewise.
76737         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76738         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76739         unless mkdir isn't declared, to speed up 'configure'.
76740         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76741         would define all the S_* symbols.
76742         * modules/canonicalize (Depends-on):
76743         Depend on sys_stat, not stat-macros.
76744         * modules/chown: Likewise.
76745         * modules/euidaccess: Likewise.
76746         * modules/filemode: Likewise.
76747         * modules/file-type: Likewise.
76748         * modules/glob: Likewise.
76749         * modules/isapipe: Likewise.
76750         * modules/lchown: Likewise.
76751         * modules/lstat: Likewise.
76752         * modules/mkancesdirs: Likewise.
76753         * modules/rmdir: Likewise.
76754         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76755         * modules/modechange: Likewise.
76756         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76757         (configure.ac): Remove gl_STAT_MACROS.
76758         * modules/sys_stat (Depends-on): Remove stat-macros.
76759
76760 2006-10-27  Bruno Haible  <bruno@clisp.org>
76761
76762         * m4/signed.m4: Remove file.
76763         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76764         invocation.
76765         * modules/vasnprintf (Files): Remove m4/signed.m4.
76766
76767 2006-10-27  Bruno Haible  <bruno@clisp.org>
76768
76769         Update to GNU gettext 0.16.
76770         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76771         m4/inttypes-h.m4, m4/signed.m4.
76772         * m4/gettext.m4: Update to GNU gettext 0.16.
76773         * m4/intl.m4: New file, from GNU gettext.
76774         * m4/intldir.m4: New file, from GNU gettext.
76775         * config/srclist.txt: Update
76776
76777 2006-10-27  Eric Blake  <ebb9@byu.net>
76778
76779         * MODULES.html.sh: Document tempname.
76780         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76781         dependencies.
76782         (Files): Move lib/tempname.c...
76783         * modules/tempname: ...to this new module.
76784         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76785         (gl_PREREQ_TEMPNAME): Move...
76786         * m4/tempname.m4: ...to this new file.
76787         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76788         * modules/sys_stat (Depends-on): Add stat-macros.
76789         * lib/stat_.h (includes): Pick up stat macros.
76790         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76791         if stat macros are broken.
76792         * lib/tempname.c (includes): No need to include "stat-macros.h".
76793         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76794         (direxists, __path_search) [!_LIBC]: Don't compile these in
76795         gnulib; the tmpdir module covers that.
76796         * lib/tempname.h: New file.
76797
76798 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76799
76800         * COPYING: Explain how gnulib-tool converts licence headers.
76801         Almost all wording by Eric Blake.
76802
76803 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76804
76805         * lib/mbchar.h (is_basic_table): Make read-only.
76806         * lib/mbchar.c (is_basic_table): Likewise.
76807         Reported by John Darrington.
76808
76809 2006-10-25  Bruno Haible  <bruno@clisp.org>
76810
76811         * lib/progname.h (set_program_name): Undefine before defining.
76812
76813 2006-10-25  Bruno Haible  <bruno@clisp.org>
76814
76815         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76816         false for non-gcc C++ compilers.
76817         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76818
76819 2006-10-24  Bruno Haible  <bruno@clisp.org>
76820
76821         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76822         iconv implementations like Irix iconv.
76823
76824 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76825
76826         * modules/vararrays: New file.
76827         * m4/vararrays.m4: New file, taken from diffutils.
76828         * MODULES.html.sh: New module vararrays.
76829
76830 2006-10-24  Karl Berry  <karl@gnu.org>
76831
76832         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76833         Don't call GNU Unix.
76834
76835 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76836
76837         * users.txt: Add Libtool.
76838
76839         Sync from Libtool:
76840
76841         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76842
76843         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76844         to gnulib's policy of including config.h unconditionally.
76845
76846 2006-10-24  Bruno Haible  <bruno@clisp.org>
76847
76848         * modules/wcwidth (Files): Add m4/wint_t.m4.
76849         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76850         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76851
76852 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76853
76854         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76855         to pacify GCC with some -W flags enabled.  Problem reported by
76856         Bruno Haible.
76857
76858 2006-10-24  Jim Meyering  <jim@meyering.net>
76859
76860         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76861         Reported by Karl Berry.
76862
76863 2006-10-23  Bruno Haible  <bruno@clisp.org>
76864
76865         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76866
76867 2006-10-24  Bruno Haible  <bruno@clisp.org>
76868
76869         * lib/gl_list.h: Use C comment style, not C++ comment style.
76870
76871 2006-10-23  Eric Blake  <ebb9@byu.net>
76872
76873         * lib/getaddrinfo.c (includes): Add missing include.
76874
76875 2006-10-23  Bruno Haible  <bruno@clisp.org>
76876             Paul Eggert  <eggert@cs.ucla.edu>
76877
76878         Ability to rename obstack_free.
76879         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76880         obstack_free.
76881         (obstack_free): Invoke the __obstack_free macro.
76882         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76883
76884 2006-10-23  Bruno Haible  <bruno@clisp.org>
76885             Paul Eggert  <eggert@cs.ucla.edu>
76886
76887         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76888         __argc, __argv from the declaration. (They are defined as macros on
76889         mingw.)
76890
76891 2006-10-22  Bruno Haible  <bruno@clisp.org>
76892
76893         * doc/gnulib-intro.texi: New file.
76894         * doc/gnulib.texi: Include it.
76895
76896 2006-10-21  Bruno Haible  <bruno@clisp.org>
76897
76898         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76899         "Introduction", "Miscellanous Notes", "Particular Modules".
76900
76901 2006-10-21  Bruno Haible  <bruno@clisp.org>
76902
76903         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76904         Change mostlyclean-local rule to avoid sh syntax error from bash
76905         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76906
76907 2006-10-23  Jim Meyering  <jim@meyering.net>
76908
76909         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76910         in place of snprintf.
76911
76912         * modules/inttostr (Files): Add lib/uinttostr.c.
76913         * lib/uinttostr.c (inttostr): New file/function.
76914         * lib/inttostr.h (uinttostr): Declare.
76915         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76916         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76917         Add uinttostr.
76918         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76919
76920 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76921
76922         * lib/canonicalize.c (ELOOP): Define if not already defined.
76923         Problem reported by Bruno Haible in
76924         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76925
76926 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76927
76928         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76929         Problem reported by Perry Smith and Ville Laurikari.
76930
76931         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76932         uses.
76933
76934 2006-10-19  Bruno Haible  <bruno@clisp.org>
76935
76936         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76937         for mingw.
76938
76939 2006-10-19  Bruno Haible  <bruno@clisp.org>
76940
76941         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76942         Needed for mingw.
76943
76944 2006-10-19  Bruno Haible  <bruno@clisp.org>
76945
76946         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76947
76948 2006-10-19  Bruno Haible  <bruno@clisp.org>
76949
76950         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76951         it.
76952
76953 2006-10-19  Bruno Haible  <bruno@clisp.org>
76954
76955         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76956         invocation.
76957
76958 2006-10-19  Bruno Haible  <bruno@clisp.org>
76959
76960         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76961         mountlist by default.
76962
76963 2006-10-16  Bruno Haible  <bruno@clisp.org>
76964
76965         * lib/c-strstr.c: Include c-strstr.h.
76966
76967 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76968
76969         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76970         in a slash.
76971
76972 2006-10-18  Bruno Haible  <bruno@clisp.org>
76973
76974         * lib/lock.h [C++]: Wrap definitions in extern "C".
76975
76976 2006-10-18  Bruno Haible  <bruno@clisp.org>
76977
76978         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76979         gl_LIBOBJS list.
76980
76981 2006-10-18  Bruno Haible  <bruno@clisp.org>
76982
76983         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76984
76985 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76986
76987         * lib/xstrtol.h: Include gettext.h.
76988         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76989         Problem reported by Eric Blake.
76990         * modules/xstrtol (Depends-on): Add gettext-h.
76991
76992 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76993
76994         * lib/strftime.c (advance): New macro.
76995         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76996         incomplete type, so you can't add 0 to it.  Problem and patch
76997         reported by Eelco Dolstra for dietlibc.
76998
76999 2006-10-18  Jim Meyering  <jim@meyering.net>
77000
77001         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
77002         type for a local, and rename it: s/up/user_proc/.
77003
77004 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
77005
77006         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
77007         READ_UTMP_USER_PROCESS.
77008         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
77009
77010 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
77011
77012         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
77013         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
77014
77015 2006-10-17  Eric Blake  <ebb9@byu.net>
77016
77017         * lib/sigprocmask.c (sigprocmask): Fix typo.
77018
77019         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
77020
77021         * modules/clean-temp (Makefile.am): Don't add to make output...
77022         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
77023         config.h.
77024
77025 2006-10-17  Bruno Haible  <bruno@clisp.org>
77026
77027         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
77028         differently if DEFAULT_TEXT_DOMAIN is set.
77029
77030 2006-10-16  Bruno Haible  <bruno@clisp.org>
77031
77032         * lib/clean-temp.c: Include fwriteerror.h.
77033
77034 2006-10-16  Bruno Haible  <bruno@clisp.org>
77035
77036         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
77037
77038 2006-10-16  Bruno Haible  <bruno@clisp.org>
77039
77040         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
77041         * lib/sigprocmask.h: Include <sys/types.h>.
77042         (sigset_t): Use the system's definition if present.
77043
77044 2006-10-17  Eric Blake  <ebb9@byu.net>
77045
77046         * lib/xvasprintf.c (includes): Assume config.h.
77047         * lib/xasprintf.c (includes): Likewise.
77048
77049 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
77050
77051         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
77052         at least as wide as intmax_t.
77053
77054 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
77055
77056         (Imported from Automake.)
77057         * build-aux/gnupload: Update to version 1.1 of directive file.
77058
77059 2006-10-16  Eric Blake  <ebb9@byu.net>
77060
77061         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
77062         match Automake 1.10a.
77063
77064 2006-10-14  Bruno Haible  <bruno@clisp.org>
77065
77066         * modules/sigprocmask: New file.
77067         * lib/sigprocmask.h: New file.
77068         * lib/sigprocmask.c: New file.
77069         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
77070         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
77071         request sigprocmask.o.
77072         (gl_PREREQ_SIGPROCMASK): New macro.
77073         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
77074         (Depends-on): Add sigprocmask.
77075         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
77076         gt_SIGNALBLOCKING. Test for 'raise' only once.
77077         * lib/fatal-signal.c: Include sigprocmask.h.
77078         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
77079         unblock_fatal_signals): Define always.
77080         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77081         sigprocmask.
77082
77083 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77084
77085         Sync from Automake.
77086         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
77087         which incorrectly sets the mode of an existing destination
77088         directory.  In some cases the unpatched install-sh could do the
77089         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
77090         system.  We hope this is rare in practice, but it's clearly worth
77091         fixing.  Problem reported by Alex Unleashed in
77092         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
77093         Also, don't bother to check for -m bugs unless we're using -m;
77094         suggested by Stepan Kasal.
77095
77096 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77097
77098         Sync from Automake.
77099         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
77100         `-c' flag, so they appear at the same position as in %FASTDEP%
77101         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
77102         which ignores unknown options only after the first non-option.
77103         Bug report against M4 by Nelson H. F. Beebe.
77104
77105 2006-10-13  Jim Meyering  <jim@meyering.net>
77106
77107         Fix a bug in yesterday's change.
77108         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
77109         p->fts_statp->st_dev would be used uninitialized.
77110         Ensures that we always call fts_stat on the very first entry.
77111         Miklos Szeredi reported that find -xdev stopped working.
77112
77113 2006-10-12  Bruno Haible  <bruno@clisp.org>
77114
77115         * gnulib-tool (func_get_automake_snippet): Append an automatically
77116         computed EXTRA_DIST augmentation.
77117         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
77118         * modules/alloca-opt (Makefile.am): Likewise.
77119         * modules/allocsa (Makefile.am): Likewise.
77120         * modules/arcfour (Makefile.am): Likewise.
77121         * modules/arctwo (Makefile.am): Likewise.
77122         * modules/argmatch (Makefile.am): Likewise.
77123         * modules/argz (Makefile.am): Likewise.
77124         * modules/atexit (Makefile.am): Likewise.
77125         * modules/backupfile (Makefile.am): Likewise.
77126         * modules/byteswap (Makefile.am): Likewise.
77127         * modules/c-strtod (Makefile.am): Likewise.
77128         * modules/c-strtold (Makefile.am): Likewise.
77129         * modules/calloc (Makefile.am): Likewise.
77130         * modules/canon-host (Makefile.am): Likewise.
77131         * modules/canonicalize (Makefile.am): Likewise.
77132         * modules/chdir-long (Makefile.am): Likewise.
77133         * modules/chdir-safer (Makefile.am): Likewise.
77134         * modules/check-version (Makefile.am): Likewise.
77135         * modules/chown (Makefile.am): Likewise.
77136         * modules/cloexec (Makefile.am): Likewise.
77137         * modules/close-stream (Makefile.am): Likewise.
77138         * modules/closeout (Makefile.am): Likewise.
77139         * modules/crc (Makefile.am): Likewise.
77140         * modules/csharpexec (Makefile.am): Likewise.
77141         * modules/cycle-check (Makefile.am): Likewise.
77142         * modules/des (Makefile.am): Likewise.
77143         * modules/dev-ino (Makefile.am): Likewise.
77144         * modules/dirfd (Makefile.am): Likewise.
77145         * modules/dirname (Makefile.am): Likewise.
77146         * modules/dup2 (Makefile.am): Likewise.
77147         * modules/eealloc (Makefile.am): Likewise.
77148         * modules/error (Makefile.am): Likewise.
77149         * modules/euidaccess (Makefile.am): Likewise.
77150         * modules/exclude (Makefile.am): Likewise.
77151         * modules/exitfail (Makefile.am): Likewise.
77152         * modules/fcntl-safer (Makefile.am): Likewise.
77153         * modules/fcntl (Makefile.am): Likewise.
77154         * modules/file-type (Makefile.am): Likewise.
77155         * modules/fileblocks (Makefile.am): Likewise.
77156         * modules/filemode (Makefile.am): Likewise.
77157         * modules/filenamecat (Makefile.am): Likewise.
77158         * modules/fnmatch (Makefile.am): Likewise.
77159         * modules/fopen-safer (Makefile.am): Likewise.
77160         * modules/fpending (Makefile.am): Likewise.
77161         * modules/fprintftime (Makefile.am): Likewise.
77162         * modules/free (Makefile.am): Likewise.
77163         * modules/fsusage (Makefile.am): Likewise.
77164         * modules/ftruncate (Makefile.am): Likewise.
77165         * modules/fts (Makefile.am): Likewise.
77166         * modules/gc-arcfour (Makefile.am): Likewise.
77167         * modules/gc-des (Makefile.am): Likewise.
77168         * modules/gc-hmac-md5 (Makefile.am): Likewise.
77169         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
77170         * modules/gc-md4 (Makefile.am): Likewise.
77171         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77172         * modules/gc-sha1 (Makefile.am): Likewise.
77173         * modules/gc (Makefile.am): Likewise.
77174         * modules/getaddrinfo (Makefile.am): Likewise.
77175         * modules/getcwd (Makefile.am): Likewise.
77176         * modules/getdelim (Makefile.am): Likewise.
77177         * modules/getdomainname (Makefile.am): Likewise.
77178         * modules/getgroups (Makefile.am): Likewise.
77179         * modules/gethostname (Makefile.am): Likewise.
77180         * modules/gethrxtime (Makefile.am): Likewise.
77181         * modules/getline (Makefile.am): Likewise.
77182         * modules/getloadavg (Makefile.am): Likewise.
77183         * modules/getlogin_r (Makefile.am): Likewise.
77184         * modules/getndelim2 (Makefile.am): Likewise.
77185         * modules/getopt (Makefile.am): Likewise.
77186         * modules/getpagesize (Makefile.am): Likewise.
77187         * modules/getpass-gnu (Makefile.am): Likewise.
77188         * modules/getpass (Makefile.am): Likewise.
77189         * modules/getsubopt (Makefile.am): Likewise.
77190         * modules/gettime (Makefile.am): Likewise.
77191         * modules/gettimeofday (Makefile.am): Likewise.
77192         * modules/getugroups (Makefile.am): Likewise.
77193         * modules/getusershell (Makefile.am): Likewise.
77194         * modules/glob (Makefile.am): Likewise.
77195         * modules/group-member (Makefile.am): Likewise.
77196         * modules/hard-locale (Makefile.am): Likewise.
77197         * modules/hash (Makefile.am): Likewise.
77198         * modules/hmac-md5 (Makefile.am): Likewise.
77199         * modules/hmac-sha1 (Makefile.am): Likewise.
77200         * modules/human (Makefile.am): Likewise.
77201         * modules/idcache (Makefile.am): Likewise.
77202         * modules/imaxabs (Makefile.am): Likewise.
77203         * modules/imaxdiv (Makefile.am): Likewise.
77204         * modules/inet_ntop (Makefile.am): Likewise.
77205         * modules/inet_pton (Makefile.am): Likewise.
77206         * modules/intprops (Makefile.am): Likewise.
77207         * modules/inttostr (Makefile.am): Likewise.
77208         * modules/inttypes (Makefile.am): Likewise.
77209         * modules/isapipe (Makefile.am): Likewise.
77210         * modules/javaversion (Makefile.am): Likewise.
77211         * modules/lchmod (Makefile.am): Likewise.
77212         * modules/lchown (Makefile.am): Likewise.
77213         * modules/localcharset (Makefile.am): Likewise.
77214         * modules/long-options (Makefile.am): Likewise.
77215         * modules/lstat (Makefile.am): Likewise.
77216         * modules/malloc (Makefile.am): Likewise.
77217         * modules/mathl (Makefile.am): Likewise.
77218         * modules/mbchar (Makefile.am): Likewise.
77219         * modules/md2 (Makefile.am): Likewise.
77220         * modules/md4 (Makefile.am): Likewise.
77221         * modules/md5 (Makefile.am): Likewise.
77222         * modules/memcasecmp (Makefile.am): Likewise.
77223         * modules/memchr (Makefile.am): Likewise.
77224         * modules/memcmp (Makefile.am): Likewise.
77225         * modules/memcoll (Makefile.am): Likewise.
77226         * modules/memcpy (Makefile.am): Likewise.
77227         * modules/memmem (Makefile.am): Likewise.
77228         * modules/memmove (Makefile.am): Likewise.
77229         * modules/mempcpy (Makefile.am): Likewise.
77230         * modules/memrchr (Makefile.am): Likewise.
77231         * modules/memset (Makefile.am): Likewise.
77232         * modules/memxor (Makefile.am): Likewise.
77233         * modules/mkancesdirs (Makefile.am): Likewise.
77234         * modules/mkdir-p (Makefile.am): Likewise.
77235         * modules/mkdir (Makefile.am): Likewise.
77236         * modules/mkdtemp (Makefile.am): Likewise.
77237         * modules/mkstemp (Makefile.am): Likewise.
77238         * modules/mktime (Makefile.am): Likewise.
77239         * modules/modechange (Makefile.am): Likewise.
77240         * modules/mountlist (Makefile.am): Likewise.
77241         * modules/nanosleep (Makefile.am): Likewise.
77242         * modules/obstack (Makefile.am): Likewise.
77243         * modules/openat (Makefile.am): Likewise.
77244         * modules/pagealign_alloc (Makefile.am): Likewise.
77245         * modules/pathmax (Makefile.am): Likewise.
77246         * modules/physmem (Makefile.am): Likewise.
77247         * modules/poll (Makefile.am): Likewise.
77248         * modules/posixtm (Makefile.am): Likewise.
77249         * modules/posixver (Makefile.am): Likewise.
77250         * modules/putenv (Makefile.am): Likewise.
77251         * modules/quote (Makefile.am): Likewise.
77252         * modules/quotearg (Makefile.am): Likewise.
77253         * modules/raise (Makefile.am): Likewise.
77254         * modules/read-file (Makefile.am): Likewise.
77255         * modules/readline (Makefile.am): Likewise.
77256         * modules/readlink (Makefile.am): Likewise.
77257         * modules/readtokens (Makefile.am): Likewise.
77258         * modules/readutmp (Makefile.am): Likewise.
77259         * modules/realloc (Makefile.am): Likewise.
77260         * modules/regex (Makefile.am): Likewise.
77261         * modules/rename-dest-slash (Makefile.am): Likewise.
77262         * modules/rename (Makefile.am): Likewise.
77263         * modules/rijndael (Makefile.am): Likewise.
77264         * modules/rmdir (Makefile.am): Likewise.
77265         * modules/rpmatch (Makefile.am): Likewise.
77266         * modules/safe-read (Makefile.am): Likewise.
77267         * modules/safe-write (Makefile.am): Likewise.
77268         * modules/same-inode (Makefile.am): Likewise.
77269         * modules/same (Makefile.am): Likewise.
77270         * modules/save-cwd (Makefile.am): Likewise.
77271         * modules/savedir (Makefile.am): Likewise.
77272         * modules/setenv (Makefile.am): Likewise.
77273         * modules/settime (Makefile.am): Likewise.
77274         * modules/sha1 (Makefile.am): Likewise.
77275         * modules/sig2str (Makefile.am): Likewise.
77276         * modules/snprintf (Makefile.am): Likewise.
77277         * modules/stat-macros (Makefile.am): Likewise.
77278         * modules/stat-time (Makefile.am): Likewise.
77279         * modules/stdbool (Makefile.am): Likewise.
77280         * modules/stdint (Makefile.am): Likewise.
77281         * modules/stdlib-safer (Makefile.am): Likewise.
77282         * modules/stpcpy (Makefile.am): Likewise.
77283         * modules/stpncpy (Makefile.am): Likewise.
77284         * modules/strcase (Makefile.am): Likewise.
77285         * modules/strcasestr (Makefile.am): Likewise.
77286         * modules/strchrnul (Makefile.am): Likewise.
77287         * modules/strcspn (Makefile.am): Likewise.
77288         * modules/strdup (Makefile.am): Likewise.
77289         * modules/strerror (Makefile.am): Likewise.
77290         * modules/strftime (Makefile.am): Likewise.
77291         * modules/strndup (Makefile.am): Likewise.
77292         * modules/strnlen (Makefile.am): Likewise.
77293         * modules/strpbrk (Makefile.am): Likewise.
77294         * modules/strsep (Makefile.am): Likewise.
77295         * modules/strstr (Makefile.am): Likewise.
77296         * modules/strtod (Makefile.am): Likewise.
77297         * modules/strtoimax (Makefile.am): Likewise.
77298         * modules/strtok_r (Makefile.am): Likewise.
77299         * modules/strtol (Makefile.am): Likewise.
77300         * modules/strtoll (Makefile.am): Likewise.
77301         * modules/strtoul (Makefile.am): Likewise.
77302         * modules/strtoull (Makefile.am): Likewise.
77303         * modules/strtoumax (Makefile.am): Likewise.
77304         * modules/strverscmp (Makefile.am): Likewise.
77305         * modules/sys_socket (Makefile.am): Likewise.
77306         * modules/sys_stat (Makefile.am): Likewise.
77307         * modules/sysexits (Makefile.am): Likewise.
77308         * modules/time_r (Makefile.am): Likewise.
77309         * modules/timegm (Makefile.am): Likewise.
77310         * modules/timespec (Makefile.am): Likewise.
77311         * modules/tmpfile-safer (Makefile.am): Likewise.
77312         * modules/trim (Makefile.am): Likewise.
77313         * modules/unistd-safer (Makefile.am): Likewise.
77314         * modules/unlinkdir (Makefile.am): Likewise.
77315         * modules/unlocked-io (Makefile.am): Likewise.
77316         * modules/userspec (Makefile.am): Likewise.
77317         * modules/utime (Makefile.am): Likewise.
77318         * modules/utimecmp (Makefile.am): Likewise.
77319         * modules/utimens (Makefile.am): Likewise.
77320         * modules/vasnprintf (Makefile.am): Likewise.
77321         * modules/vasprintf (Makefile.am): Likewise.
77322         * modules/vsnprintf (Makefile.am): Likewise.
77323         * modules/xalloc (Makefile.am): Likewise.
77324         * modules/xgetcwd (Makefile.am): Likewise.
77325         * modules/xnanosleep (Makefile.am): Likewise.
77326         * modules/xreadlink (Makefile.am): Likewise.
77327         * modules/xstrtod (Makefile.am): Likewise.
77328         * modules/xstrtol (Makefile.am): Likewise.
77329         * modules/xstrtold (Makefile.am): Likewise.
77330         * modules/yesno (Makefile.am): Likewise.
77331         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
77332
77333 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77334
77335         * modules/error (Makefile.am): Distribute files through
77336         EXTRA_DIST, not lib_SOURCES.
77337
77338 2006-10-12  Eric Blake  <ebb9@byu.net>
77339
77340         * modules/error (Makefile.am): Distribute files in /lib.
77341         * modules/obstack (Makefile.am): Likewise.
77342
77343 2006-10-12  Bruno Haible  <bruno@clisp.org>
77344
77345         * modules/acl (Makefile.am): Distribute all files in lib/ through
77346         EXTRA_DIST.
77347         * modules/arcfour (Makefile.am): Likewise.
77348         * modules/arctwo (Makefile.am): Likewise.
77349         * modules/argmatch (Makefile.am): Likewise.
77350         * modules/argz (Makefile.am): Likewise.
77351         * modules/atexit (Makefile.am): Likewise.
77352         * modules/backupfile (Makefile.am): Likewise.
77353         * modules/c-strtod (Makefile.am): Likewise.
77354         * modules/c-strtold (Makefile.am): Likewise.
77355         * modules/calloc (Makefile.am): Likewise.
77356         * modules/canon-host (Makefile.am): Likewise.
77357         * modules/canonicalize (Makefile.am): Likewise.
77358         * modules/chdir-long (Makefile.am): Likewise.
77359         * modules/chdir-safer (Makefile.am): Likewise.
77360         * modules/check-version (Makefile.am): Likewise.
77361         * modules/chown (Makefile.am): Likewise.
77362         * modules/cloexec (Makefile.am): Likewise.
77363         * modules/close-stream (Makefile.am): Likewise.
77364         * modules/closeout (Makefile.am): Likewise.
77365         * modules/crc (Makefile.am): Likewise.
77366         * modules/cycle-check (Makefile.am): Likewise.
77367         * modules/des (Makefile.am): Likewise.
77368         * modules/dirfd (Makefile.am): Likewise.
77369         * modules/dirname (Makefile.am): Likewise.
77370         * modules/dup2 (Makefile.am): Likewise.
77371         * modules/euidaccess (Makefile.am): Likewise.
77372         * modules/exclude (Makefile.am): Likewise.
77373         * modules/exitfail (Makefile.am): Likewise.
77374         * modules/fcntl-safer (Makefile.am): Likewise.
77375         * modules/file-type (Makefile.am): Likewise.
77376         * modules/fileblocks (Makefile.am): Likewise.
77377         * modules/filemode (Makefile.am): Likewise.
77378         * modules/filenamecat (Makefile.am): Likewise.
77379         * modules/fnmatch (Makefile.am): Likewise.
77380         * modules/fopen-safer (Makefile.am): Likewise.
77381         * modules/fpending (Makefile.am): Likewise.
77382         * modules/fprintftime (Makefile.am): Likewise.
77383         * modules/free (Makefile.am): Likewise.
77384         * modules/fsusage (Makefile.am): Likewise.
77385         * modules/ftruncate (Makefile.am): Likewise.
77386         * modules/fts (Makefile.am): Likewise.
77387         * modules/gc (Makefile.am): Likewise.
77388         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77389         * modules/getaddrinfo (Makefile.am): Likewise.
77390         * modules/getcwd (Makefile.am): Likewise.
77391         * modules/getdelim (Makefile.am): Likewise.
77392         * modules/getdomainname (Makefile.am): Likewise.
77393         * modules/getgroups (Makefile.am): Likewise.
77394         * modules/gethostname (Makefile.am): Likewise.
77395         * modules/gethrxtime (Makefile.am): Likewise.
77396         * modules/getline (Makefile.am): Likewise.
77397         * modules/getloadavg (Makefile.am): Likewise.
77398         * modules/getlogin_r (Makefile.am): Likewise.
77399         * modules/getopt (Makefile.am): Likewise.
77400         * modules/getpass (Makefile.am): Likewise.
77401         * modules/getpass-gnu (Makefile.am): Likewise.
77402         * modules/getsubopt (Makefile.am): Likewise.
77403         * modules/gettime (Makefile.am): Likewise.
77404         * modules/gettimeofday (Makefile.am): Likewise.
77405         * modules/getugroups (Makefile.am): Likewise.
77406         * modules/getusershell (Makefile.am): Likewise.
77407         * modules/glob (Makefile.am): Likewise.
77408         * modules/group-member (Makefile.am): Likewise.
77409         * modules/hard-locale (Makefile.am): Likewise.
77410         * modules/hash (Makefile.am): Likewise.
77411         * modules/hmac-md5 (Makefile.am): Likewise.
77412         * modules/hmac-sha1 (Makefile.am): Likewise.
77413         * modules/human (Makefile.am): Likewise.
77414         * modules/idcache (Makefile.am): Likewise.
77415         * modules/imaxabs (Makefile.am): Likewise.
77416         * modules/imaxdiv (Makefile.am): Likewise.
77417         * modules/inet_ntop (Makefile.am): Likewise.
77418         * modules/inet_pton (Makefile.am): Likewise.
77419         * modules/inttostr (Makefile.am): Likewise.
77420         * modules/isapipe (Makefile.am): Likewise.
77421         * modules/lchown (Makefile.am): Likewise.
77422         * modules/long-options (Makefile.am): Likewise.
77423         * modules/lstat (Makefile.am): Likewise.
77424         * modules/malloc (Makefile.am): Likewise.
77425         * modules/mathl (Makefile.am): Likewise.
77426         * modules/mbchar (Makefile.am): Likewise.
77427         * modules/md2 (Makefile.am): Likewise.
77428         * modules/md4 (Makefile.am): Likewise.
77429         * modules/md5 (Makefile.am): Likewise.
77430         * modules/memcasecmp (Makefile.am): Likewise.
77431         * modules/memchr (Makefile.am): Likewise.
77432         * modules/memcmp (Makefile.am): Likewise.
77433         * modules/memcoll (Makefile.am): Likewise.
77434         * modules/memcpy (Makefile.am): Likewise.
77435         * modules/memmem (Makefile.am): Likewise.
77436         * modules/memmove (Makefile.am): Likewise.
77437         * modules/mempcpy (Makefile.am): Likewise.
77438         * modules/memrchr (Makefile.am): Likewise.
77439         * modules/memset (Makefile.am): Likewise.
77440         * modules/memxor (Makefile.am): Likewise.
77441         * modules/mkancesdirs (Makefile.am): Likewise.
77442         * modules/mkdir (Makefile.am): Likewise.
77443         * modules/mkdir-p (Makefile.am): Likewise.
77444         * modules/mkdtemp (Makefile.am): Likewise.
77445         * modules/mkstemp (Makefile.am): Likewise.
77446         * modules/mktime (Makefile.am): Likewise.
77447         * modules/modechange (Makefile.am): Likewise.
77448         * modules/mountlist (Makefile.am): Likewise.
77449         * modules/nanosleep (Makefile.am): Likewise.
77450         * modules/openat (Makefile.am): Likewise.
77451         * modules/pagealign_alloc (Makefile.am): Likewise.
77452         * modules/physmem (Makefile.am): Likewise.
77453         * modules/poll (Makefile.am): Likewise.
77454         * modules/posixtm (Makefile.am): Likewise.
77455         * modules/posixver (Makefile.am): Likewise.
77456         * modules/putenv (Makefile.am): Likewise.
77457         * modules/quote (Makefile.am): Likewise.
77458         * modules/quotearg (Makefile.am): Likewise.
77459         * modules/raise (Makefile.am): Likewise.
77460         * modules/read-file (Makefile.am): Likewise.
77461         * modules/readline (Makefile.am): Likewise.
77462         * modules/readlink (Makefile.am): Likewise.
77463         * modules/readtokens (Makefile.am): Likewise.
77464         * modules/readutmp (Makefile.am): Likewise.
77465         * modules/realloc (Makefile.am): Likewise.
77466         * modules/regex (Makefile.am): Likewise.
77467         * modules/rename (Makefile.am): Likewise.
77468         * modules/rename-dest-slash (Makefile.am): Likewise.
77469         * modules/rijndael (Makefile.am): Likewise.
77470         * modules/rmdir (Makefile.am): Likewise.
77471         * modules/rpmatch (Makefile.am): Likewise.
77472         * modules/safe-read (Makefile.am): Likewise.
77473         * modules/safe-write (Makefile.am): Likewise.
77474         * modules/same (Makefile.am): Likewise.
77475         * modules/save-cwd (Makefile.am): Likewise.
77476         * modules/savedir (Makefile.am): Likewise.
77477         * modules/setenv (Makefile.am): Likewise.
77478         * modules/settime (Makefile.am): Likewise.
77479         * modules/sha1 (Makefile.am): Likewise.
77480         * modules/sig2str (Makefile.am): Likewise.
77481         * modules/snprintf (Makefile.am): Likewise.
77482         * modules/stdlib-safer (Makefile.am): Likewise.
77483         * modules/stpcpy (Makefile.am): Likewise.
77484         * modules/stpncpy (Makefile.am): Likewise.
77485         * modules/strcase (Makefile.am): Likewise.
77486         * modules/strcasestr (Makefile.am): Likewise.
77487         * modules/strchrnul (Makefile.am): Likewise.
77488         * modules/strcspn (Makefile.am): Likewise.
77489         * modules/strdup (Makefile.am): Likewise.
77490         * modules/strerror (Makefile.am): Likewise.
77491         * modules/strftime (Makefile.am): Likewise.
77492         * modules/strndup (Makefile.am): Likewise.
77493         * modules/strnlen (Makefile.am): Likewise.
77494         * modules/strpbrk (Makefile.am): Likewise.
77495         * modules/strsep (Makefile.am): Likewise.
77496         * modules/strstr (Makefile.am): Likewise.
77497         * modules/strtod (Makefile.am): Likewise.
77498         * modules/strtoimax (Makefile.am): Likewise.
77499         * modules/strtok_r (Makefile.am): Likewise.
77500         * modules/strtol (Makefile.am): Likewise.
77501         * modules/strtoll (Makefile.am): Likewise.
77502         * modules/strtoul (Makefile.am): Likewise.
77503         * modules/strtoull (Makefile.am): Likewise.
77504         * modules/strtoumax (Makefile.am): Likewise.
77505         * modules/strverscmp (Makefile.am): Likewise.
77506         * modules/time_r (Makefile.am): Likewise.
77507         * modules/timegm (Makefile.am): Likewise.
77508         * modules/tmpfile-safer (Makefile.am): Likewise.
77509         * modules/unistd-safer (Makefile.am): Likewise.
77510         * modules/unlinkdir (Makefile.am): Likewise.
77511         * modules/userspec (Makefile.am): Likewise.
77512         * modules/utime (Makefile.am): Likewise.
77513         * modules/utimecmp (Makefile.am): Likewise.
77514         * modules/utimens (Makefile.am): Likewise.
77515         * modules/vasnprintf (Makefile.am): Likewise.
77516         * modules/vasprintf (Makefile.am): Likewise.
77517         * modules/vsnprintf (Makefile.am): Likewise.
77518         * modules/xalloc (Makefile.am): Likewise.
77519         * modules/xgetcwd (Makefile.am): Likewise.
77520         * modules/xnanosleep (Makefile.am): Likewise.
77521         * modules/xreadlink (Makefile.am): Likewise.
77522         * modules/xstrtod (Makefile.am): Likewise.
77523         * modules/xstrtol (Makefile.am): Likewise.
77524         * modules/xstrtold (Makefile.am): Likewise.
77525         * modules/yesno (Makefile.am): Likewise.
77526
77527 2006-10-12  Jim Meyering  <jim@meyering.net>
77528
77529         * m4/getloadavg.m4: Revert the change below.
77530
77531         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77532         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77533         fail with a symlink, which is what coreutils' ./bootstrap now
77534         creates by default.
77535
77536 2006-10-12  Bruno Haible  <bruno@clisp.org>
77537
77538         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77539         mingw.
77540         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77541         MSVC and mingw explicitly.
77542
77543 2006-10-11  Simon Josefsson  <jas@extundo.com>
77544             Bruno Haible  <bruno@clisp.org>
77545
77546         Add support for multiple gnulib-tool invocations in the scope of a
77547         single configure.ac file.
77548         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77549         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77550         with the same contents as the _LIBADD variable.
77551         (func_emit_initmacro_start, func_emit_initmacro_end,
77552         func_emit_initmacro_done): New functions.
77553         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77554         gl_LIBOBJS and gl_LTLIBOBJS.
77555
77556 2006-10-11  Bruno Haible  <bruno@clisp.org>
77557
77558         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77559         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77560         autoreconf. Instead, invoke autopoint explicitly but move back the
77561         *.m4 files from gnulib.
77562
77563 2006-10-11  Bruno Haible  <bruno@clisp.org>
77564
77565         * gnulib-tool (func_usage): Make module names after --create-testdir
77566         optional.
77567         (func_create_testdir): If no module was specified, use nearly all
77568         modules.
77569
77570 2006-10-12  Jim Meyering  <jim@meyering.net>
77571
77572         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77573         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77574         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77575         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77576         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77577         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77578         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77579         (fts_set_stat_required): New function.
77580         (fts_open): Defer the calls to fts_stat, if possible or requested.
77581         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77582         into fts_stat itself.
77583         (fts_read): Perform any required (deferred) fts_stat call.
77584         (fts_build): Likewise, for the directory we're about to open and read.
77585         In the readdir loop, carefully decide whether each entry will require
77586         an eventual call to fts_stat, using dirent.d_type info if available.
77587         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77588         a command line argument into this function.  Update all callers.
77589         Map a return value of FTS_DOT to FTS_D for a command line argument.
77590         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77591         Thanks to Miklos Szeredi for his tenacity and for the initial
77592         bug report about "find" failing on a FUSE-based file system.
77593
77594         * lib/fts.c (fts_open): Use consistent indentation.
77595
77596 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77597
77598         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77599         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77600         reported by Jim Meyering.  All uses of cache variables renamed
77601         to match Autoconf's.
77602         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77603         the other one.
77604
77605         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77606         Fix misspelling in diagnostic.
77607
77608 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77609
77610         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77611         defined.  Problem reported by Matthew Woehlke.
77612
77613         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77614         Add support for Tandem NonStop R series.
77615         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77616         Use new macro.
77617
77618         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77619         (has_trailing_slash): Omit size arg; all callers changed.
77620         Omit 'inline', since it doesn't help performance and we'd
77621         need to configure it.
77622         Don't count //, ///, etc. as having a trailing slash.
77623         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77624         (rpl_rename_dest_slash): On failure, use rename's errno rather
77625         than (in some cases) an incorrect or junk errno.
77626         Simplify code by removing need to compute length; this does
77627         cause it to make two passes instead of one over the file name,
77628         but it's worth it.
77629
77630         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77631         change, since Autoconf's version may no longer be appropriate now
77632         that we are using CVS Autoconf's version.  Add support for Tandem.
77633
77634 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77635             Bruno Haible  <bruno@clisp.org>
77636
77637         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77638         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77639         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77640         gl_AC_TYPE_LONG_LONG.
77641
77642         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77643         instead of HAVE_LONG_LONG.
77644         * lib/printf-args.c (printf_fetchargs): Likewise.
77645         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77646         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77647         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77648         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77649         gl_AC_TYPE_LONG_LONG.
77650
77651 2006-10-11  Bruno Haible  <bruno@clisp.org>
77652
77653         * m4/longlong.m4: Add comments.
77654         * m4/ulonglong.m4: Likewise.
77655
77656 2006-10-10  Bruno Haible  <bruno@clisp.org>
77657
77658         Make it possible to #define stpcpy, strdup to aliases.
77659         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77660         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77661
77662 2006-10-10  Bruno Haible  <bruno@clisp.org>
77663
77664         Make it possible to #define gcd to an alias.
77665         * lib/gcd.c: Include config.h.
77666
77667 2006-10-10  Bruno Haible  <bruno@clisp.org>
77668
77669         Make it possible to #define c_isascii to an alias.
77670         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77671         defined. Undefine the macros before defining them, to avoid gcc
77672         warnings.
77673         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77674         define NO_C_CTYPE_MACROS early.
77675
77676 2006-10-10  Bruno Haible  <bruno@clisp.org>
77677
77678         Make it possible to #define set_program_name to an alias.
77679         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77680         ENABLE_RELOCATABLE early.
77681
77682 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77683
77684         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77685         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77686         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77687         More generally, don't assume that 64-bit signed int is available
77688         if unsigned int is, and vice versa.
77689         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77690         unsigned symbols, not on their signed counterparts.
77691         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77692         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77693         (UINT64_C, UINTMAX_C):
77694         Likewise.
77695         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77696         unsigned counterparts.
77697         (Have_long_long, Unsigned): New macros.
77698         (Int): Renamed from INT.
77699         (strtoimax): Use the new macros.
77700         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77701         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77702         * modules/inttypes (inttypes.h): Substitute
77703         HAVE_UNSIGNED_LONG_LONG_INT.
77704         * modules/stdint (stdint.h): Likewise.
77705         (Files): Add m4/ulonglong.m4.
77706
77707 2006-10-10  Bruno Haible  <bruno@clisp.org>
77708
77709         Fix a gcc -Wshadow warning.
77710         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77711         to 'bucket'.
77712         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77713         gl_linked_indexof_from_to): Likewise.
77714         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77715         Likewise.
77716         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77717         Likewise.
77718         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77719         Reported by Eric Blake.
77720
77721 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77722
77723         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77724         for NetBSD.  Problem reported by Bruno Haible.
77725
77726 2006-10-09  Jim Meyering  <jim@meyering.net>
77727
77728         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77729         Patch from Bruno Haible.
77730
77731 2006-10-09  Jim Meyering  <jim@meyering.net>
77732
77733         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77734         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77735         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77736
77737 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77738
77739         Don't include <config.h> twice; this doesn't work in some cases,
77740         e.g., when config.h has "#define intmax_t long long int" and
77741         we include <config.h>, <inttypes.h>, <config.h> in that order.
77742         Problem reported by Matthew Woehlke in:
77743         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77744         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77745         * lib/fts-cycle.c: Don't include config.h.
77746         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77747         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77748         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77749         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77750         inttypes.h.
77751         * lib/xstrtoumax.c: Likewise.
77752         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77753         __strtol and the like, so that this module is more like its siblings.
77754         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77755         Remove; no longer needed now that we assume gnulib inttypes.h.
77756
77757 2006-10-08  Bruno Haible  <bruno@clisp.org>
77758
77759         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77760         option.
77761
77762 2006-10-07  Jim Meyering  <jim@meyering.net>
77763
77764         * modules/inttypes (inttypes.h): Revert what seems to have been
77765         an inadvertent part of today's change: use "|", not "/" in the
77766         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77767
77768 2006-10-07  Bruno Haible  <bruno@clisp.org>
77769
77770         * modules/sublist: New file.
77771
77772 2006-10-07  Bruno Haible  <bruno@clisp.org>
77773
77774         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77775         * modules/argz (argz.h): Likewise.
77776         * modules/arpa_inet (arpa/inet.h): Likewise.
77777         * modules/byteswap (byteswap.h): Likewise.
77778         * modules/configmake (configmake.h): Likewise.
77779         * modules/fcntl (fcntl.h): Likewise.
77780         * modules/fnmatch (fnmatch.h): Likewise.
77781         * modules/getopt (getopt.h): Likewise.
77782         * modules/glob (glob.h): Likewise.
77783         * modules/inttypes (inttypes.h): Likewise.
77784         * modules/netinet_in (netinet/in.h): Likewise.
77785         * modules/poll (poll.h): Likewise.
77786         * modules/stdbool (stdbool.h): Likewise.
77787         * modules/stdint (stdint.h): Likewise.
77788         * modules/sys_select (sys/select.h): Likewise.
77789         * modules/sys_socket (sys/socket.h): Likewise.
77790         * modules/sys_stat (sys/stat.h): Likewise.
77791         * modules/sysexits (sysexits.h): Likewise.
77792         * modules/unistd (unistd.h): Likewise.
77793         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77794         Add a "DO NOT EDIT" comment to the generated file.
77795         (func_import): Likewise for gnulib-comp.m4.
77796
77797 2006-10-07  Bruno Haible  <bruno@clisp.org>
77798
77799         * lib/gl_sublist.h: New file.
77800         * lib/gl_sublist.c: New file.
77801
77802 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77803
77804         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77805         name (relative to the original working directory) and the file
77806         name component (relative to the temporary working directory).  All
77807         callers changed.
77808         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77809         * lib/mkdir-p.c (make_dir_parents): Likewise.
77810         * lib/mkdir-p.h (make_dir_parents): Likewise.
77811
77812 2006-10-06  Eric Blake  <ebb9@byu.net>
77813
77814         Define several macros for use by the clean-temp module.
77815         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77816         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77817         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77818
77819         * lib/clean-temp.h (close_stream_temp): New declaration.
77820         * lib/clean-temp.c (includes): Pull in headers according to what
77821         other modules are in use.
77822         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77823
77824 2006-10-06  Bruno Haible  <bruno@clisp.org>
77825
77826         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77827         instead of fopen, fwriteerror.
77828
77829 2006-10-06  Bruno Haible  <bruno@clisp.org>
77830
77831         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77832         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77833         int.
77834         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77835         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77836         Return an error indicator.
77837         Suggested by Eric Blake.
77838
77839 2006-10-06  Bruno Haible  <bruno@clisp.org>
77840
77841         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77842         Reported by Eric Blake.
77843
77844 2006-10-06  Bruno Haible  <bruno@clisp.org>
77845
77846         * modules/closeout (Description): Mention stderr too.
77847
77848 2006-10-06  Bruno Haible  <bruno@clisp.org>
77849         and Paul Eggert  <eggert@cs.ucla.edu>
77850
77851         * lib/closeout.c (close_stdout): Also close stderr.
77852         * lib/closeout.h: Update comment.
77853
77854 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77855
77856         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77857         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77858         * lib/dirchownmod.c: Include lchown.h.
77859         * lib/lchown.c: Don't include files that lchown.h now includes.
77860         Don't declare chown, since lchown.h now does that.
77861         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77862         (lchown): Define to rpl_chown if lchown is declared but
77863         does not exist.  Declare using a prototype if lchown is not
77864         declared.  Add a copyright notice.
77865         * lib/mkstemp.h: Include <unistd.h>.
77866         * lib/openat.c: Include lchown.h.
77867
77868         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77869         we now test for that separately.
77870         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77871         rather than O_NOFOLLOW, when testing whether it's possible to
77872         avoid a race condition reliably.
77873         * lib/savewd.c (savewd_chdir): Likewise.
77874
77875         Remove macros that are no longer needed now that stdint.h is
77876         reliable.
77877         * lib/fsusage.c (UINTMAX_MAX): Remove.
77878         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77879         * lib/utimecmp.c (SIZE_MAX): Remove.
77880
77881         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77882
77883         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77884         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77885         O_NOATIME works.
77886
77887 2006-10-05  Bruno Haible  <bruno@clisp.org>
77888
77889         * lib/gl_list.h (gl_sortedlist_search_from_to,
77890         gl_sortedlist_indexof_from_to): New declarations.
77891         (gl_list_implementation): New fields sortedlist_search_from_to,
77892         sortedlist_indexof_from_to.
77893         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77894         inline functions.
77895         * lib/gl_list.c (gl_sortedlist_search_from_to,
77896         gl_sortedlist_indexof_from_to): New functions.
77897         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77898         function.
77899         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77900         (gl_array_sortedlist_search_from_to): New function.
77901         (gl_array_list_implementation): Update.
77902         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77903         function.
77904         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77905         (gl_carray_sortedlist_search_from_to): New function.
77906         (gl_carray_list_implementation): Update.
77907         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77908         gl_linked_sortedlist_indexof_from_to): New functions.
77909         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77910         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77911         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77912         gl_tree_sortedlist_indexof_from_to): New functions.
77913         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77914         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77915         Update.
77916         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77917         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77918         Update.
77919
77920 2006-10-05  Bruno Haible  <bruno@clisp.org>
77921
77922         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77923         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77924         (struct gl_list_implementation): Add fields search_from_to,
77925         indexof_from_to. Remove fields search, indexof.
77926         (gl_list_search): Use the search_from_to method.
77927         (gl_list_search_from, gl_list_search_from_to): New functions.
77928         (gl_list_indexof): Use the indexof_from_to method.
77929         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77930         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77931         (gl_list_search_from, gl_list_search_from_to): New functions.
77932         (gl_list_indexof): Use the indexof_from_to method.
77933         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77934         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77935         gl_array_indexof. Add start_index, end_index arguments.
77936         (gl_array_search_from_to): Renamed from gl_array_search. Add
77937         start_index, end_index arguments.
77938         (gl_array_remove, gl_array_list_implementation): Update.
77939         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77940         gl_carray_indexof. Add start_index, end_index arguments.
77941         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77942         start_index, end_index arguments.
77943         (gl_carray_remove, gl_carray_list_implementation): Update.
77944         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77945         gl_linked_search. Add start_index, end_index arguments.
77946         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77947         start_index, end_index arguments.
77948         (gl_linked_remove): Update.
77949         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77950         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77951         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77952         field to 'size_t'.
77953         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77954         gl_tree_search. Add start_index, end_index arguments.
77955         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77956         start_index, end_index arguments.
77957         (gl_tree_remove): Update.
77958         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77959         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77960         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77961         function.
77962         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77963         gl_tree_search. Add start_index, end_index arguments.
77964         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77965         start_index, end_index arguments.
77966         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77967         Update.
77968         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77969
77970 2006-10-05  Bruno Haible  <bruno@clisp.org>
77971
77972         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77973
77974         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77975         fwriteerror_temp): New declarations.
77976         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77977         (descriptors): New variable.
77978         (cleanup): First, close the descriptors.
77979         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77980         fclose_temp, fwriteerror_temp): New functions.
77981
77982 2006-10-04  Jim Meyering  <jim@meyering.net>
77983
77984         * lib/fts.c (fts_open): Tiny comment change.
77985
77986 2006-10-04  Bruno Haible  <bruno@clisp.org>
77987
77988         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77989         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77990         gl_LOCK_BODY.
77991         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77992         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77993         gl_LOCK_EARLY_BODY.
77994         (gl_LOCK): Require gl_LOCK_BODY.
77995
77996 2006-10-04  Bruno Haible  <bruno@clisp.org>
77997
77998         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77999         (gl_oset_search_atleast): New declaration.
78000         (struct gl_oset_implementation): Add field 'search_atleast'.
78001         (gl_oset_search_atleast): New inline function.
78002         * lib/gl_oset.c (gl_oset_search_atleast): New function.
78003         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
78004         (gl_array_oset_implementation): Update.
78005         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
78006         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
78007         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
78008
78009 2006-10-04  Bruno Haible  <bruno@clisp.org>
78010
78011         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
78012
78013 2006-10-03  Bruno Haible  <bruno@clisp.org>
78014
78015         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
78016         from gl_avltreehash_list_implementation.
78017
78018 2006-10-03  Bruno Haible  <bruno@clisp.org>
78019
78020         * lib/gl_oset.c (gl_oset_add): Fix return type.
78021
78022 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
78023
78024         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
78025
78026 2006-10-02  Eric Blake  <ebb9@byu.net>
78027
78028         * modules/strnlen (Depends-on): Add extensions.
78029
78030 2006-10-02  Eric Blake  <ebb9@byu.net>
78031
78032         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
78033         definition in 2.60+.
78034
78035 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
78036
78037         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
78038         checks.
78039
78040 2006-10-02  Bruno Haible  <bruno@clisp.org>
78041
78042         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
78043         to the AUTOMAKE_OPTIONS.
78044         Reported by Jim Meyering.
78045
78046 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78047
78048         Work around bug in Solaris 10 /proc file system:
78049         /proc/self/fd/NNN/.. isn't the parent directory of
78050         the directory whose file descriptor is NNN.  This needs to
78051         be worked around at run time, not compile time, since a
78052         program might be built on Solaris 8, where things work, and
78053         run on Solaris 10.
78054         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
78055         to use the following interface instead:
78056         (OPENAT_BUFFER_SIZE): New macro.
78057         (openat_proc_name): New function.
78058         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
78059         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
78060         Likewise.
78061         * lib/openat-proc.c: New file.
78062         * modules/openat (Files): Add lib/openat-proc.c.
78063         (Depends-on): Add same-inode, stdbool.
78064         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
78065
78066 2006-09-29  Bruno Haible  <bruno@clisp.org>
78067
78068         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
78069         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
78070         argument. Set stdout_closed before testing for ferror, not after.
78071         (fwriteerror, fwriteerror_no_ebadf): New functions.
78072
78073 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78074
78075         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
78076
78077 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
78078
78079         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
78080         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
78081
78082 2006-09-28  Jim Meyering  <jim@meyering.net>
78083
78084         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
78085         Include <unistd.h>.
78086
78087 2006-09-28  Bruno Haible  <bruno@clisp.org>
78088
78089         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
78090         * modules/linkedhash-list (Depends-on): Likewise.
78091         * modules/rbtreehash-list (Depends-on): Likewise.
78092
78093 2006-09-28  Bruno Haible  <bruno@clisp.org>
78094
78095         * lib/strndup.h: Simplify the redefinition of strndup.
78096         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
78097         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
78098
78099 2006-09-28  Bruno Haible  <bruno@clisp.org>
78100
78101         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
78102         * lib/gl_linkedhash_list.c: Likewise.
78103         * lib/gl_rbtreehash_list.c: Likewise.
78104
78105 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78106
78107         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
78108         getaddrinfo.
78109
78110         * lib/__fpending.h: Don't include <stdio_ext.h> unless
78111         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
78112         it causes <stdio_ext.h> to cause a compile-time error.
78113         Problem reported by Nelson H. F. Beebe.
78114         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
78115         of HAVE_DECL___PENDING.
78116
78117         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
78118         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
78119         declaration.
78120
78121 2006-09-27  Jim Meyering  <jim@meyering.net>
78122
78123         This file could end up with a definition for a function
78124         named __strndup, rather than rpl_strndup on a system with
78125         incomplete weak_alias support.
78126         * lib/strndup.c (strndup): Rename from __strndup.
78127         Remove #defines that used to map __strndup to strndup.
78128         Don't use K&R prototypes.
78129         Remove LIBC-related code, since this file is not sync'd with glibc.
78130         * lib/strndup.h: Revamp, accordingly.
78131         * m4/strndup.m4: Modernize.
78132
78133 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78134
78135         * modules/savewd (Depends-on): Add 'raise'.
78136         * lib/savewd.c: Include <signal.h>, for 'raise'.
78137
78138 2006-09-26  Jim Meyering  <jim@meyering.net>
78139
78140         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
78141         when we detect Darwin 8.7.0's acl_get_file bug.
78142         Rearrange to perform the new (below) run-test while $LIBS
78143         contains any acl-related library.  Set USE_ACL at the end.
78144         (gl_ACL_GET_FILE): New function.
78145
78146 2006-09-26  Eric Blake  <ebb9@byu.net>
78147
78148         * lib/verror.c: Include <config.h> unconditionally.
78149
78150 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78151
78152         * modules/clock-time (Maintainer): Add self.
78153         * modules/getlogin_r (Depends-on): Add extensions.
78154
78155 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78156
78157         * modules/clock-time: New module.
78158         * modules/nanosleep (Depends-on): Add clock-time.
78159         * modules/gethrxtime (Depends-on): Likewise.
78160         * modules/gettime (Depends-on): Likewise.
78161         * modules/settime (Depends-on): Likewise.
78162
78163         * modules/fts-lgpl: Depend on openat.
78164         * modules/mkancesdirs: Depend on savewd.
78165         * modules/mkdir-p: Likewise.
78166
78167 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78168
78169         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
78170
78171         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
78172         `gl_have_arbitrary_file_name_length_limit' to
78173         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
78174         actually works between configure runs.
78175
78176 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78177             Bruno Haible  <bruno@clisp.org>
78178
78179         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
78180
78181 2006-09-25  Jim Meyering  <jim@meyering.net>
78182
78183         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
78184         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
78185
78186 2006-09-25  Eric Blake  <ebb9@byu.net>
78187
78188         * gnulib-tool (func_import, func_create_testdir): Fix typos in
78189         exec's in 2006-09-18 patch when shuffling fds.
78190
78191 2006-09-25  Bruno Haible  <bruno@clisp.org>
78192
78193         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
78194         Reported by Jim Meyering.
78195
78196 2006-09-24  Jim Meyering  <jim@meyering.net>
78197
78198         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
78199         compare a pointer against a literal "0".  That caused failures with
78200         at least HP-UX's hpcc.
78201
78202 2006-09-22  Simon Josefsson  <jas@extundo.com>
78203
78204         * modules/gc-sha1:
78205         * modules/gc-md4:
78206         * modules/gc-hmac-sha1:
78207         * modules/gc-hmac-md5:
78208         * modules/gc-des:
78209         * modules/gc-arcfour: Distribute more files.
78210
78211 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78212
78213         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
78214         (gl_linked_iterator_from_to): Initialize struct completely.
78215         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
78216         (gl_tree_iterator_from_to): Likewise
78217         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
78218         * lib/gl_array_list.c [lint] (gl_array_iterator)
78219         (gl_array_iterator_from_to): Likewise.
78220         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
78221         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
78222         (gl_carray_iterator_from_to): Likewise.
78223
78224         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
78225         * lib/md4.c (md4_process_block): Remove unused variable.
78226         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
78227         parentheses for clarity.
78228
78229 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78230
78231         * modules/bison-i18n (Depends-on): Add gettext.
78232
78233 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78234
78235         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
78236         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
78237         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
78238         also add missing comma that caused broken test.
78239         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
78240         stdlib.h, for `abort'.
78241         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
78242         variables.
78243         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
78244         include unistd.h if present, for `rmdir'.
78245         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
78246         variables.
78247         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
78248         in the process include standard headers for prototypes.
78249         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
78250         gets declared on GNU/Linux.
78251         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
78252         unistd.h, for `rmdir'.
78253         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
78254
78255         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
78256         always true.
78257         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
78258
78259         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
78260
78261 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78262
78263         * gnulib-tool (func_version): Create output all at once.  This
78264         may help avoid triggering unnecessary SIGPIPEs, and at any
78265         rate it doesn't hurt.
78266
78267 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78268             Bruno Haible  <bruno@clisp.org>
78269
78270         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
78271         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
78272         * m4/signed.m4 (bh_C_SIGNED): Likewise.
78273
78274         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
78275         (gl_FUNC_VASPRINTF): Invoke it.
78276
78277 2006-09-22  Bruno Haible  <bruno@clisp.org>
78278
78279         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
78280         getloadavg.c as first argument.
78281
78282 2006-09-22  Bruno Haible  <bruno@clisp.org>
78283
78284         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
78285         at the beginning of the gl_INIT macro.
78286         * modules/getloadavg (configure.ac): Pass $gl_source_base to
78287         gl_GETLOADAVG.
78288
78289 2006-09-22  Bruno Haible  <bruno@clisp.org>
78290
78291         * gnulib-tool (func_create_megatestdir): Don't include the config-h
78292         module.
78293         Suggested by Ralf Wildenhues.
78294
78295 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78296
78297         Import this patch from libc:
78298
78299         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
78300
78301         * lib/regex_internal.c (re_string_reconstruct): Handle
78302         offset < pstr->valid_raw_len && pstr->offsets_needed case.
78303         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
78304         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
78305         re_string_context_at.
78306
78307         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
78308         now requires it.
78309         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
78310         gl_REGEX now does it for us.
78311         (gl_REGEX): Add test taken from
78312         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
78313
78314         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
78315         Check that large offsets work.  Modernize Autoconf usages.
78316         Prefer "yes" to mean a good thing rather than a bad.
78317         Don't put "#define mkstemp" in config.h, as this might interfere
78318         with standard system headers that "#define mkstemp mkstemp64".
78319
78320         * modules/mkstemp (Depends-on): Add extensions, so that
78321         mkstemp is visible on some platforms.
78322         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
78323         (Include): Change to "mkstemp.h" from <stdlib.h>.
78324         (Files): Add mkstemp.h.
78325
78326         * lib/mkstemp.h: New file, since some standard headers
78327         #define mkstemp.
78328         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
78329         Include "mkstemp.h".
78330         Make the _LIBC code resemble glibc original more,
78331         e.g., use K&R style.
78332         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
78333         (mkstemp): Remove, since mkstemp.h does this for us.
78334         * lib/stdlib--.h: Include mkstemp.h.
78335
78336         Import this patch from libc:
78337
78338         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78339
78340         * lib/tempname.c (__gen_tempname): Change attempts_min
78341         into a macro.  Use preprocessor to decide how to initialize
78342         attempts [Coverity CID 67].
78343
78344 2006-09-20  Bruno Haible  <bruno@clisp.org>
78345
78346         * lib/mkdtemp.c: Import from libc.
78347         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78348                 * sysdeps/posix/tempname.c (__gen_tempname): Change
78349                 attempts_min into a macro.  Use preprocessor to decide how to
78350                 initialize attempts [Coverity CID 67].
78351         2001-11-27  Paul Eggert  <eggert@twinsun.com>
78352                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
78353                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
78354
78355 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78356
78357         * gnulib-tool (func_exit): New function, to allow to pass the
78358         exit status portably through the trap.  Use everywhere.
78359         (--help, --version): Signal a write error.
78360         (trap): catch SIGPIPE, for write errors.
78361         Exit at the end of the trap, with the correct exit status.
78362
78363 2006-09-19  Karl Berry  <karl@gnu.org>
78364
78365         * doc/gnulib.texi: note about the license texinfo files.
78366
78367 2006-09-19  Eric Blake  <ebb9@byu.net>
78368
78369         * gnulib-tool: Avoid space-tab.
78370
78371 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78372
78373         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
78374         that prevented coreutils 6.1 from building.  Problem reported
78375         by Petter Reinholdtsen.
78376
78377 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78378
78379         * gnulib-tool (avoidlist): Fix typo that broke options like
78380         --avoid=lock that are used by coreutils bootstrap.
78381
78382 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
78383
78384         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
78385         more systematically.
78386
78387 2006-09-18  Jim Meyering  <jim@meyering.net>
78388
78389         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
78390
78391 2006-09-18  Bruno Haible  <bruno@clisp.org>
78392
78393         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
78394
78395 2006-09-18  Bruno Haible  <bruno@clisp.org>
78396
78397         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
78398         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
78399         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
78400         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
78401         * m4/gettext.m4: Require autoconf >= 2.52.
78402         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
78403         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
78404         of gl_cv_header_inttypes_h.
78405
78406 2006-09-18  Bruno Haible  <bruno@clisp.org>
78407
78408         * lib/javaversion.c: Include configmake.h.
78409
78410 2006-09-18  Bruno Haible  <bruno@clisp.org>
78411
78412         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
78413         avoid that the while loops be executed in a subshell.
78414
78415 2006-09-18  Bruno Haible  <bruno@clisp.org>
78416
78417         * MODULES.html.sh (func_module): Break long lines.
78418         Suggested by Bruce Korb <bkorb@gnu.org>.
78419
78420 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78421
78422         Speed up by a factor of 1.12.
78423         * gnulib-tool (nl): New variable.
78424         (func_import): Rewrite include directive extraction to only read each
78425         directive once.
78426
78427 2006-09-17  Bruno Haible  <bruno@clisp.org>
78428
78429         * modules/javaversion (Makefile.am): Remove DEFS setting.
78430         (Depends-on): Add configmake, for PKGDATADIR definition.
78431
78432 2006-09-17  Bruno Haible  <bruno@clisp.org>
78433
78434         * gnulib-tool (func_create_testdir): Rewrite all files at once.
78435
78436 2006-09-17  Bruno Haible  <bruno@clisp.org>
78437
78438         * gnulib-tool (func_append): New function, stolen from libtool.m4.
78439         (func_modules_transitive_closure, func_modules_add_dummy,
78440         func_modules_to_filelist, func_import, func_create_testdir,
78441         func_create_megatestdir, ...): Use it wherever possible.
78442         Suggested by Ralf Wildenhues.
78443
78444 2006-09-16  Karl Berry  <karl@gnu.org>
78445
78446         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
78447         to avoid sectioning errors.
78448         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
78449         [ifinfo]: blank line after @center-ed titles.
78450         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
78451         Spell FSF address consistently with others.
78452         (These changes approved by rms.)
78453
78454 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78455
78456         Speed up by a factor of 1.61.
78457         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78458         already checked module names again.
78459
78460 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78461
78462         Speed up by a factor of 1.13.
78463         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78464         for new_files, and the input to func_add_or_update.
78465
78466 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78467
78468         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78469         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78470
78471 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78472
78473         * modules/mkancesdirs (Depends-on): Add fcntl.
78474         * modules/savewd: New file.
78475         * MODULES.html.sh (File system functions): Add savewd.
78476
78477         * modules/configmake (Makefile.am): Add support for the
78478         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78479
78480 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78481
78482         * m4/savewd.m4: New file.
78483
78484 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78485
78486         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78487         (dirchownmod): New arg FD.  All callers changed.
78488         Use FD rather than opening the directory ourself, as opening is
78489         now the caller's responsibility.
78490         * lib/dirchownmod.h: Likewise.
78491         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78492         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78493         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78494         (test_dir): Remove.
78495         (mkancesdirs): Return length of prefix of FILE that has already
78496         been made, or -2 if there is a child doing the work.  Redo
78497         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78498         ".", and treat ".." specially since it might stray back into
78499         already-created areas.  Use a subprocess if necessary.  New arg
78500         WD; all users changed.  MAKE_DIR function should now return 1
78501         if it creates a directory that is not readable.  Return -2 if
78502         a child process is spun off.
78503         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78504         Adjust signature to match code.
78505         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78506         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78507         all users changed.
78508         * lib/savewd.c, lib/savewd.h: New files.
78509
78510 2006-09-15  Jim Meyering  <jim@meyering.net>
78511
78512         * modules/rename-dest-slash: New module.
78513         * MODULES.html.sh (posix_compat): Add it here.
78514
78515         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78516
78517 2006-09-15  Jim Meyering  <jim@meyering.net>
78518
78519         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78520         file.
78521
78522         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78523
78524 2006-09-15  Jim Meyering  <jim@meyering.net>
78525
78526         * lib/rename-dest-slash.c (has_trailing_slash): Use
78527         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78528         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78529         test before testing whether SRC is a directory.
78530         Suggestions from Bruno Haible.
78531
78532         Avoid a warning about an unused variable.
78533         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78534         into the #ifdef block where it's used.
78535
78536         * lib/rename-dest-slash.c: New file.
78537
78538 2006-09-14  Bruno Haible  <bruno@clisp.org>
78539
78540         * lib/allocsa.c: Include <config.h> unconditionally.
78541         * lib/asnprintf.c: Likewise.
78542         * lib/asprintf.c: Likewise.
78543         * lib/c-strcasecmp.c: Likewise.
78544         * lib/c-strcasestr.c: Likewise.
78545         * lib/c-strncasecmp.c: Likewise.
78546         * lib/c-strstr.c: Likewise.
78547         * lib/classpath.c: Likewise.
78548         * lib/clean-temp.c: Likewise.
78549         * lib/concatpath.c: Likewise.
78550         * lib/copy-file.c: Likewise.
78551         * lib/csharpcomp.c: Likewise.
78552         * lib/csharpexec.c: Likewise.
78553         * lib/execute.c: Likewise.
78554         * lib/fatal-signal.c: Likewise.
78555         * lib/findprog.c: Likewise.
78556         * lib/fwriteerror.c: Likewise.
78557         * lib/gl_array_list.c: Likewise.
78558         * lib/gl_array_oset.c: Likewise.
78559         * lib/gl_avltree_list.c: Likewise.
78560         * lib/gl_avltree_oset.c: Likewise.
78561         * lib/gl_avltreehash_list.c: Likewise.
78562         * lib/gl_carray_list.c: Likewise.
78563         * lib/gl_linked_list.c: Likewise.
78564         * lib/gl_linkedhash_list.c: Likewise.
78565         * lib/gl_list.c: Likewise.
78566         * lib/gl_oset.c: Likewise.
78567         * lib/gl_rbtree_list.c: Likewise.
78568         * lib/gl_rbtree_oset.c: Likewise.
78569         * lib/gl_rbtreehash_list.c: Likewise.
78570         * lib/imaxabs.c: Likewise.
78571         * lib/imaxdiv.c: Likewise.
78572         * lib/javacomp.c: Likewise.
78573         * lib/javaexec.c: Likewise.
78574         * lib/javaversion.c: Likewise.
78575         * lib/linebreak.c: Likewise.
78576         * lib/localcharset.c: Likewise.
78577         * lib/lock.c: Likewise.
78578         * lib/mbchar.c: Likewise.
78579         * lib/mbswidth.c: Likewise.
78580         * lib/mkdtemp.c: Likewise.
78581         * lib/pipe.c: Likewise.
78582         * lib/printf-args.c: Likewise.
78583         * lib/printf-parse.c: Likewise.
78584         * lib/progname.c: Likewise.
78585         * lib/progreloc.c: Likewise.
78586         * lib/readlink.c: Likewise.
78587         * lib/sh-quote.c: Likewise.
78588         * lib/stpcpy.c: Likewise.
78589         * lib/stpncpy.c: Likewise.
78590         * lib/strcasecmp.c: Likewise.
78591         * lib/strcasestr.c: Likewise.
78592         * lib/strcspn.c: Likewise.
78593         * lib/striconv.c: Likewise.
78594         * lib/strncasecmp.c: Likewise.
78595         * lib/strnlen1.c: Likewise.
78596         * lib/strstr.c: Likewise.
78597         * lib/strtok_r.c: Likewise.
78598         * lib/tls.c: Likewise.
78599         * lib/tmpdir.c: Likewise.
78600         * lib/unicodeio.c: Likewise.
78601         * lib/unsetenv.c: Likewise.
78602         * lib/vasnprintf.c: Likewise.
78603         * lib/vasprintf.c: Likewise.
78604         * lib/wait-process.c: Likewise.
78605         * lib/xallocsa.c: Likewise.
78606         * lib/xsetenv.c: Likewise.
78607         * lib/xstriconv.c: Likewise.
78608
78609 2006-09-13  Simon Josefsson  <jas@extundo.com>
78610
78611         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78612         that internally, suggested by Ralf Wildenhues
78613         <Ralf.Wildenhues@gmx.de>.
78614
78615 2006-09-13  Simon Josefsson  <jas@extundo.com>
78616
78617         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78618         @LIBOBJS@.
78619         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78620
78621 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78622
78623         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78624         longer worry about uses that don't define HAVE_CONFIG_H.
78625         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78626         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78627         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78628         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78629         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78630         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78631         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78632         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78633         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78634         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78635         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78636         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78637         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78638         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78639         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78640         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78641         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78642         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78643         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78644         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78645         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78646         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78647         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78648         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78649         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78650         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78651         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78652         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78653         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78654         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78655         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78656         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78657         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78658         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78659         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78660         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78661         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78662         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78663         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78664         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78665         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78666         Likewise.
78667
78668 2006-09-13  Eric Blake  <ebb9@byu.net>
78669
78670         * lib/getopt.c: Fix typo in last commit.
78671
78672 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78673
78674         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78675         dgettext.
78676
78677 2006-09-12  Jim Meyering  <jim@meyering.net>
78678
78679         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78680         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78681         Reported by Nelson H. F. Beebe.
78682
78683 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78684
78685         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78686         program_invocation_name and program_invocation_short_name are
78687         initialized.
78688         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78689         and program_invocation_short_name to argp.h, so they are visible
78690         to user programs.
78691         * lib/argp.h: Likewise
78692
78693 2006-09-10  Bruno Haible  <bruno@clisp.org>
78694
78695         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78696         m4/inttypes_h.m4, m4/uintmax_t.m4.
78697
78698 2006-09-10  Bruno Haible  <bruno@clisp.org>
78699
78700         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78701         gl_AC_TYPE_UINTMAX_T.
78702
78703 2006-09-10  Bruno Haible  <bruno@clisp.org>
78704
78705         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78706
78707 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78708
78709         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78710         convention.  Text proposed by Bruno Haible.
78711         (struct argp_option): Document the use of N_() wrappers.
78712
78713         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78714         '\v', and translate the two parts separately, instead of feeding
78715         the whole string to gettext.  This allows to exclude
78716         '\v' from the strings visible to the translator by writing doc
78717         strings as N_("..") "\v" N_("..").
78718
78719 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78720
78721         * config/srclist.txt: Undo latest change; the bug was fixed.
78722
78723 2006-09-09  Bruno Haible  <bruno@clisp.org>
78724
78725         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78726         assignments if building a library without libtool.
78727         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78728         in func_emit_lib_Makefile_am.
78729         (func_import): When building a static library libfoo.a, arrange to
78730         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78731         (func_create_testdir): Likewise.
78732         * modules/gc (configure.ac, Makefile.am): If building statically,
78733         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78734         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78735         * modules/striconv (configure.ac, Makefile.am): Likewise.
78736         Based on a suggestion by Ralf Wildenhues.
78737
78738 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78739
78740         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78741         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78742         Also:
78743
78744         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78745         Add year_2050_test to catch glibc bug 2821
78746         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78747
78748         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78749         Prefer #ifdef to #if.
78750
78751         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78752         Return from 'main' instead of calling 'exit'.
78753
78754 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78755
78756         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78757         returned the maximum time_t value rather than (time_t) -1.
78758         Problem originally reported by William Bardwell
78759         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78760
78761         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78762         Moved to here ...
78763         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78764         ... from here.
78765
78766 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78767
78768         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78769         2821 is fixed.
78770
78771 2006-09-08  Jim Meyering  <jim@meyering.net>
78772
78773         Don't make generated files read-only.  That would bother too many
78774         people.  However, do retain the ability to work when targets are
78775         read-only: remove the destination and temporary files before writing
78776         them (when generated via sed or echo), or by using the -f option for
78777         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78778         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78779         * modules/byteswap, modules/configmake, modules/fcntl:
78780         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78781         * modules/localcharset, modules/netinet_in, modules/poll:
78782         * modules/stdbool, modules/stdint, modules/sys_select:
78783         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78784
78785 2006-09-08  Jim Meyering  <jim@meyering.net>
78786
78787         Avoid new build failure on FreeBSD 6.0.
78788         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78789         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78790         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78791
78792 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78793
78794         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78795
78796 2006-09-07  Jim Meyering  <jim@meyering.net>
78797
78798         Fix global typo in last change: use chmod u-w, not chmod u-x.
78799         Spotted by Paul Eggert and Bruce Korb.
78800         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78801         * modules/byteswap, modules/configmake, modules/fcntl:
78802         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78803         * modules/localcharset, modules/netinet_in, modules/poll:
78804         * modules/stdbool, modules/stdint, modules/sys_select:
78805         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78806
78807 2006-09-06  Jim Meyering  <jim@meyering.net>
78808
78809         Make generated files be read-only.
78810         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78811         Ensure that each generated file is now read-only.
78812         * modules/argz: Likewise.
78813         * modules/arpa_inet: Likewise.
78814         * modules/byteswap: Likewise.
78815         * modules/configmake: Likewise.
78816         * modules/fcntl: Likewise.
78817         * modules/fnmatch: Likewise.
78818         * modules/getopt: Likewise.
78819         * modules/glob: Likewise.
78820         * modules/inttypes: Likewise.
78821         * modules/netinet_in: Likewise.
78822         * modules/poll: Likewise.
78823         * modules/stdbool: Likewise.
78824         * modules/stdint: Likewise.
78825         * modules/sys_select: Likewise.
78826         * modules/sys_socket: Likewise.
78827         * modules/sys_stat: Likewise.
78828         * modules/sysexits: Likewise.
78829         * modules/localcharset: Same as above, but continue using temporary
78830         file named "t-$@" (why different?) rather than the "$@-t" used
78831         everywhere else.
78832
78833         * modules/sysexits (Makefile.am): Replace literal occurrences
78834         of "sysexit.h" more readable, and more consistent, "$@".
78835
78836 2006-09-06  Bruno Haible  <bruno@clisp.org>
78837
78838         * modules/striconv: New file.
78839         * modules/xstriconv: New file.
78840         * MODULES.html.sh (Internationalization functions): Add striconv,
78841         xstriconv.
78842
78843 2006-09-06  Bruno Haible  <bruno@clisp.org>
78844
78845         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78846         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78847         not using libtool correctly.
78848
78849 2006-09-06  Bruno Haible  <bruno@clisp.org>
78850
78851         * lib/striconv.h: New file.
78852         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78853         iconvstring.c.
78854         * lib/xstriconv.h: New file.
78855         * lib/xstriconv.c: New file.
78856
78857 2006-09-06  Bruno Haible  <bruno@clisp.org>
78858
78859         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78860         lib_..._LDFLAGS.
78861
78862 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78863
78864         * lib/argz_.h: Sync from Libtool.
78865
78866         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78867                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78868
78869         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78870
78871 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78872
78873         * modules/trim: New file.
78874
78875 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78876
78877         * lib/trim.h: New file.
78878         * lib/trim.c: New file.
78879
78880 2006-09-05  Bruno Haible  <bruno@clisp.org>
78881
78882         * MODULES.html.sh (String handling): Add trim.
78883
78884 2006-09-04  Karl Berry  <karl@gnu.org>
78885
78886         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78887         until next release.
78888
78889 2006-09-03  Bruno Haible  <bruno@clisp.org>
78890
78891         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78892         correctly.
78893
78894 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78895
78896         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78897         not gl_GETLOADAVG.  Omit unneeded semicolons.
78898         Problems reported by Ralf Wildenhues in
78899         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78900         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78901         at the end, which is the usual gnulib style.
78902
78903         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78904         of doing all the work ourselves.
78905         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78906         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78907
78908 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78909
78910         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78911         Problem reported by Ralf Wildenhues in
78912         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78913
78914         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78915         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78916
78917 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78918
78919         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78920         yesterday's patch by changing test -n to test -z.
78921
78922 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78923
78924         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78925         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78926         the former is now obsolescent.
78927
78928         * modules/chdir-long (Depends-on): Add fcntl.
78929
78930 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78931
78932         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78933         obsolescent, and programs should use gnulib instead.
78934         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78935         but with prefixes changed.
78936
78937 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78938
78939         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78940         or stdbool.h, because they might not exist while configuring.
78941
78942         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78943         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78944         does that for us.
78945         (O_DIRECTORY): Remove.
78946
78947 2006-08-31  Eric Blake  <ebb9@byu.net>
78948
78949         * gnulib-tool: Don't let emacs change spaces to TAB.
78950
78951 2006-08-31  Bruno Haible  <bruno@clisp.org>
78952
78953         * gnulib-tool: When calling func_import more than once, do it in a
78954         subshell.
78955         Reported by Eric Blake <ebb9@byu.net>.
78956
78957 2006-08-31  Bruno Haible  <bruno@clisp.org>
78958
78959         * gnulib-tool (nl): Remove variable.
78960         (sed_transform_lib_file): Use more robust test for config-h module.
78961         (func_import): Fix typo in 2006-08-25 patch.
78962
78963 2006-08-31  Bruno Haible  <bruno@clisp.org>
78964
78965         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78966         specified, augment Makefile.am variables instead of assigning them.
78967
78968 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78969
78970         Work around a bug in both the Linux and SunOS 64-bit kernels:
78971         nanosleep mishandles sleeps for longer than 2**31 seconds.
78972         Problem reported by Frank v Waveren in
78973         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78974         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78975         Check for nanosleep bug.
78976         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78977
78978 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78979
78980         Work around a bug in both the Linux and SunOS 64-bit kernels:
78981         nanosleep mishandles sleeps for longer than 2**31 seconds.
78982         Problem reported by Frank v Waveren in
78983         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78984         * lib/nanosleep.c (BILLION): New constant.
78985         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78986         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78987         implementation.
78988
78989 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78990
78991         * modules/nanosleep (Depends-on): Add gettime.
78992
78993 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78994         and Simon Josefsson  <jas@extundo.com>
78995         and Oskar Liljeblad  <oskar@osk.mine.nu>
78996
78997         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78998         * gnulib-tool (func_import): New license type 'unmodifiable license
78999         text'.
79000         * modules/fdl: Use it.  Longer description.
79001         * module/gpl, module/lgpl: New files.
79002
79003 2006-08-30  Jim Meyering  <jim@meyering.net>
79004
79005         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
79006         shadowing the parameter.
79007
79008 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79009
79010         Sync from Libtool:
79011
79012         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79013
79014         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
79015         sharing with gnulib.  Report by Eric Blake.
79016
79017 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79018
79019         * modules/isapipe: New file.
79020         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
79021
79022 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79023
79024         * modules/configmake (Makefile.am): Add a comment, and omit
79025         the CONFIGMAKE_ prefix from generated macro names.  Suggested
79026         by Bruno Haible.
79027
79028 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79029
79030         * m4/isapipe.m4: New file.
79031
79032 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79033
79034         * lib/isapipe.c, lib/isapipe.h: New files.
79035
79036 2006-08-29  Jim Meyering  <jim@meyering.net>
79037
79038         * modules/configmake (Makefile.am): Make configmake.h depend on
79039         Makefile.  Otherwise, a stale configmake.h could hang around.
79040
79041 2006-08-29  Eric Blake  <ebb9@byu.net>
79042
79043         * lib/error.c (error_at_line, print_errno_message): Match libc, after
79044         resolution of upstream bug 3044.
79045
79046 2006-08-29  Bruno Haible  <bruno@clisp.org>
79047
79048         * modules/localcharset (Depends-on): Add configmake.
79049         (Makefile.am): Remove setting of LIBDIR through DEFS.
79050
79051 2006-08-29  Bruno Haible  <bruno@clisp.org>
79052
79053         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
79054         defined.
79055
79056 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79057
79058         * modules/fcntl: New file.
79059         * modules/chdir-safer (Depends-on): Add fcntl.
79060         * modules/fts: Likewise.
79061         * modules/mkdir-p: Likewise.
79062
79063         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
79064         This undoes the most recent change, since we're now addressing the
79065         problem in a different way.
79066
79067         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
79068         into output, since the output might be called Makefile.am even
79069         if $makefile_name is something different.
79070         (func_import): Use $makefile_am rather than
79071         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
79072         empty.
79073
79074         * modules/inttypes (Files): Add m4/inttypes-h.m4.
79075
79076 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79077
79078         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
79079         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
79080         recent change to stdint.m4, since we're now addressing the problem in a
79081         different way.
79082
79083 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79084
79085         * m4/fcntl_h.m4: New file.
79086
79087 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79088
79089         * lib/fcntl_.h: New file.
79090         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
79091         the fcntl module.
79092         * lib/dirchownmod.c: Likewise.
79093         * lib/fts.c: Likewise.
79094
79095         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
79096         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
79097         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
79098         just before including <inttypes.h>, to avoid circular inclusion.
79099
79100 2006-08-28  Jim Meyering  <jim@meyering.net>
79101
79102         * doc/visibility.texi: Actually read and correct the grammar of the
79103         sentence affected by yesterday's change.
79104
79105 2006-08-28  Eric Blake  <ebb9@byu.net>
79106
79107         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
79108         needs wrapper.
79109
79110 2006-08-28  Eric Blake  <ebb9@byu.net>
79111
79112         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
79113
79114 2006-08-28  Eric Blake  <ebb9@byu.net>
79115
79116         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
79117
79118 2006-08-28  Bruno Haible  <bruno@clisp.org>
79119
79120         * modules/c-strstr: New file, from GNU gettext.
79121         * MODULES.html.sh (String handling): Add c-strstr.
79122
79123 2006-08-28  Bruno Haible  <bruno@clisp.org>
79124
79125         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
79126         macros.
79127         Reported by Eric Blake.
79128
79129 2006-08-28  Bruno Haible  <bruno@clisp.org>
79130
79131         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
79132         (VASNPRINTF): Return a string of length > INT_MAX without failing.
79133         * lib/vasprintf.c: Include errno.h, limits.h.
79134         (EOVERFLOW): New fallback definition.
79135         (vasprintf): Test here whether the string length is > INT_MAX.
79136         * lib/vsnprintf.c: Include errno.h, limits.h.
79137         (EOVERFLOW): New fallback definition.
79138         (vsnprintf): Fix bug when generated string was too long for the buffer.
79139         Test here whether the string length is > INT_MAX.
79140
79141 2006-08-28  Bruno Haible  <bruno@clisp.org>
79142
79143         * lib/inttypes_.h (SCNX*): Remove definitions.
79144         Reported by Eric Blake.
79145
79146 2006-08-28  Bruno Haible  <bruno@clisp.org>
79147
79148         * lib/c-strstr.h: New file, from GNU gettext.
79149         * lib/c-strstr.c: New file, from GNU gettext.
79150
79151 2006-08-28  Bruno Haible  <bruno@clisp.org>
79152
79153         * gnulib-tool: Reorder some statements.
79154
79155 2006-08-28  Bruno Haible  <bruno@clisp.org>
79156
79157         * gnulib-tool: New option --makefile-name.
79158         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
79159         $makefile_name.
79160         (func_import): Write $makefile_name to the cache file, and read it from
79161         there unless explicitly specified. Use $makefile_name as file name
79162         instead of Makefile.am. Adjust the recommendations accordingly.
79163
79164 2006-08-28  Bruno Haible  <bruno@clisp.org>
79165
79166         * gnulib-tool (func_verify_module): Check against misapplying patch.
79167
79168 2006-08-28  Bruno Haible  <bruno@clisp.org>
79169
79170         * gnulib-tool (func_relativize, func_relconcat): New functions.
79171         Give an error if --local-dir is given with --update.
79172         Remove trailing slashes from $local_gnulib_dir.
79173         (func_import): Store the relativized $local_gnulib_dir in
79174         gnulib-cache.m4, and read it from there if not specified explicitly.
79175
79176 2006-08-28  Bruno Haible  <bruno@clisp.org>
79177
79178         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
79179         is the current directory. Respect also $local_gnulib_dir.
79180
79181 2006-08-28  Bruno Haible  <bruno@clisp.org>
79182             Simon Josefsson  <jas@extundo.com>
79183
79184         BeOS portability.
79185         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
79186
79187 2006-08-27  Jim Meyering  <jim@meyering.net>
79188
79189         * doc/visibility.texi: Remove duplicate word: "pointer".
79190
79191 2006-08-26  Bruno Haible  <bruno@clisp.org>
79192
79193         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
79194         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
79195         (Makefile.am): Create inttypes.h from inttypes_.h.
79196         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
79197
79198         * modules/imaxabs: New file.
79199
79200         * modules/imaxdiv: New file.
79201
79202 2006-08-26  Bruno Haible  <bruno@clisp.org>
79203
79204         * m4/inttypes.m4: New file.
79205         * m4/_inttypes_h.m4: Remove file.
79206         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
79207         PRI_MACROS_BROKEN.
79208         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
79209
79210         * m4/imaxabs.m4: New file.
79211
79212         * m4/imaxdiv.m4: New file.
79213
79214 2006-08-26  Bruno Haible  <bruno@clisp.org>
79215
79216         * lib/inttypes_.h: New file.
79217         * lib/inttypes.h: Remove file.
79218         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
79219
79220         * lib/imaxabs.c: New file.
79221
79222         * lib/imaxdiv.c: New file.
79223
79224 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79225
79226         New config-h module, so that "make" output needn't be cluttered
79227         by -DHAVE_CONFIG_H.
79228         * MODULES.html.sh (Support for building libraries and executables):
79229         Add config-h.
79230         * modules/config-h: New file.
79231         * gnulib-tool (nl, sed_transform_lib_file): New vars.
79232         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
79233         the config-h module is used.
79234
79235         New configmake module, so that "make" output needn't be cluttered
79236         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
79237         * MODULES.html.sh (Support for building libraries and executables):
79238         Add configmake.
79239         * modules/configmake: New file.
79240
79241 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79242
79243         * m4/config-h.m4: New file.
79244
79245 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79246
79247         * config/srclist.txt: Add elisp-comp.
79248
79249 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79250
79251         * MODULES.html.sh (Support for building libraries and executables):
79252         Add elisp-comp.
79253         * build-aux/elisp-comp: New file.
79254         * modules/elisp-comp: New file.
79255
79256 2006-08-24  Bruno Haible  <bruno@clisp.org>
79257
79258         * gnulib-tool (func_create_testdir): Use non-default values of
79259         sourcebase and m4base.
79260
79261 2006-08-24  Bruno Haible  <bruno@clisp.org>
79262
79263         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
79264         HTML structure.
79265
79266 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79267
79268         * modules/openat (Depends-on): Add lchown.
79269
79270 2006-08-23  Bruno Haible  <bruno@clisp.org>
79271
79272         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
79273         of gl_LOCK_EARLY instead of gl_LOCK.
79274
79275 2006-08-23  Bruno Haible  <bruno@clisp.org>
79276
79277         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
79278         on OSF/1 to no.
79279         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
79280
79281 2006-08-23  Bruno Haible  <bruno@clisp.org>
79282
79283         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
79284         as unusable.
79285
79286         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
79287         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
79288         (gl_LOCK): New macro.
79289
79290 2006-08-22  Simon Josefsson  <jas@extundo.com>
79291
79292         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
79293         to md5 module.
79294
79295 2006-08-22  Simon Josefsson  <jas@extundo.com>
79296
79297         * MODULES.html.sh: Add "Support for maintaining and release
79298         projects".
79299
79300         * build-aux/gnupload: New file, from coreutils.
79301
79302 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79303
79304         Avoid the need for AC_LIBSOURCES in m4 macros.
79305         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
79306         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
79307         * modules/check-version (EXTRA_DIST): Add check-version.h.
79308         * modules/crc (EXTRA_DIST): Add crc.h.
79309         * modules/des (EXTRA_DIST): Add des.h.
79310         * modules/gc (EXTRA_DIST): Add gc.h.
79311         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
79312         * modules/getline (EXTRA_DIST): Add getline.h.
79313         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
79314         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
79315         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
79316         * modules/md2 (EXTRA_DIST): Add md2.h.
79317         * modules/md4 (EXTRA_DIST): Add md4.h.
79318         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
79319         * modules/read-file (EXTRA_DIST): Add read-file.h.
79320         * modules/readline (EXTRA_DIST): Add readline.h.
79321         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
79322         rijndael-api-fst.h.
79323
79324 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79325
79326         * m4/rijndael.m4 (gl_ARCFOUR):
79327         * m4/arctwo.m4 (gl_ARCTWO):
79328         * m4/check-version.m4 (gl_CHECK_VERSION):
79329         * m4/crc.m4 (gl_CRC):
79330         * m4/des.m4 (gl_DES):
79331         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
79332         * m4/gc.m4 (gl_GC):
79333         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
79334         * m4/getline.m4 (gl_FUNC_GETLINE):
79335         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
79336         * m4/hmac-md5.m4 (gl_HMAC_MD5):
79337         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
79338         * m4/md2.m4 (gl_MD2):
79339         * m4/md4.m4 (gl_MD4):
79340         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
79341         * m4/read-file.m4 (gl_FUNC_READ_FILE):
79342         * m4/readline.m4 (gl_FUNC_READLINE):
79343         * m4/rijndael.m4 (gl_RIJNDAEL):
79344         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79345         to get the necessary .h files and whatnot.
79346
79347 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79348
79349         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
79350         gnulib rather than the other way around.
79351         * config/srclistvars.sh (COREUTILS): Remove.
79352
79353 2006-08-22  Jim Meyering  <jim@meyering.net>
79354
79355         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
79356
79357         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
79358
79359 2006-08-22  Eric Blake  <ebb9@byu.net>
79360
79361         * modules/regexprops-generic: New file.
79362         * MODULES.html.sh (Support for building documentation): List it.
79363
79364 2006-08-22  Eric Blake  <ebb9@byu.net>
79365
79366         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
79367         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
79368         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
79369         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
79370
79371 2006-08-22  Bruno Haible  <bruno@clisp.org>
79372
79373         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
79374         and lib_LTLIBRARIES like the other lib_* variables.
79375
79376 2006-08-22  Bruno Haible  <bruno@clisp.org>
79377
79378         * build-aux/x-to-1.in: New file, from GNU gettext.
79379
79380 2006-08-22  Bruno Haible  <bruno@clisp.org>
79381
79382         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
79383         <utmpx.h> exists.
79384
79385 2006-08-22  Bruno Haible  <bruno@clisp.org>
79386
79387         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
79388         <utmpx.h> exists.
79389
79390 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79391
79392         BeOS portability.
79393         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
79394         exist.
79395         Problem reported by Bruno Haible.
79396
79397 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79398
79399         Avoid the need for AC_LIBSOURCES in m4 macros.
79400         * modules/acl (EXTRA_DIST): Add acl.h.
79401         * modules/argmatch (Files): Add m4/argmatch.m4.
79402         (configure.ac): Add gl_ARGMATCH.
79403         (EXTRA_DIST): Renamed from lib_SOURCES, for
79404         consistency with the other modules.  Remove argmatch.c.
79405         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
79406         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
79407         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
79408         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
79409         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
79410         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
79411         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
79412         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
79413         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
79414         * modules/closeout (EXTRA_DIST): Add closeout.h.
79415         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
79416         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
79417         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
79418         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
79419         dirname.h; remove basename.c and stripslash.c.
79420         * modules/exclude (EXTRA_DIST): Add exclude.h.
79421         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
79422         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
79423         * modules/file-type (EXTRA_DIST): Add file-type.h.
79424         * modules/filemode (EXTRA_DIST): Add filemode.h.
79425         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
79426         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79427         * modules/fpending (EXTRA_DIST): Add __fpending.h.
79428         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
79429         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
79430         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
79431         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
79432         * modules/getdate (EXTRA_DIST): Add getdate.c.
79433         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
79434         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
79435         * modules/getpass (EXTRA_DIST): Add getpass.h.
79436         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
79437         * modules/group-member (EXTRA_DIST): Add group-member.h.
79438         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
79439         * modules/hash (EXTRA_DIST): Add hash.h.
79440         * modules/human (EXTRA_DIST): Add human.h.
79441         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
79442         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
79443         * modules/lchown (EXTRA_DIST): Add lchown.h.
79444         * modules/long-options (EXTRA_DIST): Add long-options.h.
79445         * modules/lstat (EXTRA_DIST): Add lstat.h.
79446         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
79447         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
79448         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
79449         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
79450         * modules/memxor (EXTRA_DIST): Add memxor.h.
79451         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
79452         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
79453         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
79454         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
79455         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79456         * modules/physmem (EXTRA_DIST): Add physmem.h.
79457         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79458         * modules/posixver (EXTRA_DIST): Add posixver.h.
79459         * modules/quote (EXTRA_DIST): Add quote.h.
79460         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79461         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79462         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79463         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79464         regex_internal.h regexec.c.
79465         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79466         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79467         * modules/same (EXTRA_DIST): Add same.h.
79468         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79469         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79470         * modules/savedir (EXTRA_DIST): Add savedir.h.
79471         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79472         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79473         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79474         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79475         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79476         * modules/strdup (EXTRA_DIST): Add strdup.h.
79477         * modules/strftime (EXTRA_DIST): Add strftime.h.
79478         * modules/strndup (EXTRA_DIST): Add strndup.h.
79479         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79480         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79481         * modules/time_r (EXTRA_DIST): Add time_r.h.
79482         * modules/timespec (EXTRA_DIST): Add timespec.h.
79483         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79484         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79485         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79486         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79487         * modules/userspec (EXTRA_DIST): Add userspec.h.
79488         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79489         * modules/utimens (EXTRA_DIST): Add utimens.h.
79490         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79491         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79492         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79493         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79494         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79495         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79496         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79497         * modules/yesno (EXTRA_DIST): Add yesno.h.
79498
79499 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79500
79501         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79502
79503         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79504         * m4/dev-ino.m4, same-inode.m4: Remove.
79505
79506         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79507         * m4/acl.m4 (AC_FUNC_ACL):
79508         * m4/backupfile.m4 (gl_BACKUPFILE):
79509         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79510         * m4/canon-host.m4 (gl_CANON_HOST):
79511         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79512         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79513         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79514         * m4/cloexec.m4 (gl_CLOEXEC):
79515         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79516         * m4/closeout.m4 (gl_CLOSEOUT):
79517         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79518         * m4/dirname.m4 (gl_DIRNAME):
79519         * m4/exclude.m4 (gl_EXCLUDE):
79520         * m4/exitfail.m4 (gl_EXITFAIL):
79521         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79522         * m4/file-type.m4 (gl_FILE_TYPE):
79523         * m4/filemode.m4 (gl_FILEMODE):
79524         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79525         * m4/fpending.m4 (gl_FUNC_FPENDING):
79526         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79527         * m4/fts.m4 (gl_FUNC_FTS):
79528         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79529         * m4/getdate.m4 (gl_GETDATE):
79530         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79531         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79532         * m4/getpass.m4 (gl_FUNC_GETPASS):
79533         * m4/gettime.m4 (gl_GETTIME):
79534         * m4/getugroups.m4 (gl_GETUGROUPS):
79535         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79536         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79537         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79538         * m4/hash.m4 (gl_HASH):
79539         * m4/idcache.m4 (gl_IDCACHE):
79540         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79541         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79542         * m4/long-options.m4 (gl_LONG_OPTIONS):
79543         * m4/lstat.m4 (gl_FUNC_LSTAT):
79544         * m4/md5.m4 (gl_MD5):
79545         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79546         * m4/memcoll.m4 (gl_MEMCOLL):
79547         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79548         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79549         * m4/memxor.m4 (gl_MEMXOR):
79550         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79551         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79552         * m4/modechange.m4 (gl_MODECHANGE):
79553         * m4/mountlist.m4 (gl_MOUNTLIST):
79554         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79555         * m4/openat.m4 (gl_FUNC_OPENAT):
79556         * m4/pathmax.m4 (gl_PATHMAX):
79557         * m4/physmem.m4 (gl_PHYSMEM):
79558         * m4/posixtm.m4 (gl_POSIXTM):
79559         * m4/posixver.m4 (gl_POSIXVER):
79560         * m4/quote.m4 (gl_QUOTE):
79561         * m4/quotearg.m4 (gl_QUOTEARG):
79562         * m4/readtokens.m4 (gl_READTOKENS):
79563         * m4/readutmp.m4 (gl_READUTMP):
79564         * m4/regex.m4 (gl_REGEX):
79565         * m4/safe-read.m4 (gl_SAFE_READ):
79566         * m4/safe-write.m4 (gl_SAFE_WRITE):
79567         * m4/same.m4 (gl_SAME):
79568         * m4/save-cwd.m4 (gl_SAVE_CWD):
79569         * m4/savedir.m4 (gl_SAVEDIR):
79570         * m4/settime.m4 (gl_SETTIME):
79571         * m4/sha1.m4 (gl_SHA1):
79572         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79573         * m4/stat-macros.m4 (gl_STAT_MACROS):
79574         * m4/stat-time.m4 (gl_STAT_TIME):
79575         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79576         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79577         * m4/strdup.m4 (gl_FUNC_STRDUP):
79578         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79579         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79580         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79581         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79582         * m4/time_r.m4 (gl_TIME_R):
79583         * m4/timespec.m4 (gl_TIMESPEC):
79584         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79585         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79586         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79587         * m4/userspec.m4 (gl_USERSPEC):
79588         * m4/utimecmp.m4 (gl_UTIMECMP):
79589         * m4/utimens.m4 (gl_UTIMENS):
79590         * m4/xalloc.m4 (gl_XALLOC):
79591         * m4/xgetcwd.m4 (gl_XGETCWD):
79592         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79593         * m4/xreadlink.m4 (gl_XREADLINK):
79594         * m4/xstrtod.m4 (gl_XSTRTOD):
79595         * m4/yesno.m4 (gl_YESNO):
79596         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79597         to get the necessary .h files and whatnot.
79598
79599 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79600             Bruno Haible  <bruno@clisp.org>
79601
79602         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79603         /bin/sh understanding of '!' conditional negation.
79604
79605 2006-08-21  Jim Meyering  <jim@meyering.net>
79606
79607         * modules/openat (Depends-on): Really alphabetize.
79608
79609         * modules/acl (Depends-on): Add error and quote.
79610
79611         * check-module (find_included_lib_files): Add at-func.c to the
79612         ok-to-include-more-than-once white list.
79613
79614         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79615
79616 2006-08-21  Bruno Haible  <bruno@clisp.org>
79617
79618         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79619         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79620         Reported by Martin Lambers <marlam@marlam.de>.
79621
79622 2006-08-21  Bruno Haible  <bruno@clisp.org>
79623
79624         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79625         specify an installation location, don't emit a noinst_LIBRARIES or
79626         noinst_LTLIBRARIES assignment.
79627
79628 2006-08-21  Bruno Haible  <bruno@clisp.org>
79629
79630         BeOS portability.
79631         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79632         BeOS has mbrtowc() but no <wctype.h>.
79633
79634 2006-08-21  Bruno Haible  <bruno@clisp.org>
79635
79636         BeOS portability.
79637         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79638         exist.
79639
79640 2006-08-21  Bruno Haible  <bruno@clisp.org>
79641
79642         BeOS portability.
79643         * lib/mbchar.h: Include <wctype.h> only if it exists.
79644
79645 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79646
79647         Remove files that are no longer needed by their respective modules.
79648         * m4/obstack.m4: Remove.
79649         * m4/strerror_r.m4: Remove.
79650         * m4/uint32_t.m4: Remove.
79651         * m4/uintptr_t.m4: Remove.
79652         * m4/ullong_max.m4: Remove.
79653         * m4/xstrtoimax.m4: Remove.
79654         * m4/xstrtoumax.m4: Remove.
79655
79656         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79657         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79658         dependencies now capture this.
79659
79660         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79661         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79662         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79663         * m4/human.m4 (gl_HUMAN): Likewise.
79664         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79665         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79666
79667         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79668
79669         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79670         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79671         stdint.
79672         * m4/human.m4 (gl_HUMAN): Likewise.
79673         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79674         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79675         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79676         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79677         * m4/xstrtol (gl_XSTRTOL): Likewise.
79678
79679         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79680         AC_TYPE_LONG_LONG_INT.
79681         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79682         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79683         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79684         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79685
79686         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79687         on stdbool.
79688
79689         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79690         (gl_PREREQ_XSTRTOUL): Remove.
79691
79692         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79693
79694         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79695         mode.
79696
79697 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79698
79699         Add and change modules to make it easier for coreutils to use
79700         gnulib-tool.
79701         * modules/backupfile (Files): Remove m4/d-ino.m4.
79702         (Depends-on): Add d-ino.
79703         * modules/cycle-check (Depends-on): Add stdint.
79704         (lib_SOURCES): Add cycle-check.h.
79705         * modules/d-ino: New module.
79706         * modules/d-type: New module.
79707         * modules/error (Files): Remove m4/strerror_r.m4.
79708         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79709         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79710         m4/inttypes_h.m4, m4/uintmax_t.m4.
79711         (Depends-on): Add stdint.
79712         (lib_SOURCES): Add fsusage.h.
79713         * modules/getcwd (Files): Remove d-ino.m4.
79714         (Depends-on): Add d-ino.
79715         * modules/getndelim2 (Depends-on): Add stdint.
79716         * modules/glob (Files): Remove m4/d-type.m4.
79717         (Depends-on): Add d-type.
79718         * modules/host-os: New module.
79719         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79720         m4/inttypes_h.m4, m4/uintmax_t.m4.
79721         * Depends-on: Add stdint.
79722         (lib_SOURCES): Add human.h.
79723         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79724         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79725         m4/uintmax_t.m4, m4/ulonglong.m4.
79726         (Depends-on): Add stdint.
79727         (EXTRA_DIST): Add inttostr.h.
79728         * modules/lchmod: New module.
79729         * modules/link-follow: New module.
79730         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79731         (Depends-on): Add lchmod.
79732         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79733         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79734         (Depends-on): Add stdint.
79735         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79736         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79737         (Depends-on): Add stdint.
79738         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79739         * modules/perl: New module.
79740         * modules/regex (Depends-on): Add stdint.
79741         * modules/rmdir-errno: New module.
79742         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79743         m4/intmax_t.m4.
79744         (Depends-on): Add stdint.
79745         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79746         m4/uintmax_t.m4.
79747         (Depends-on): Add stdint.
79748         * modules/unlink-busy: New module.
79749         * modules/utimecmp (Depends-on): Add stdint.
79750         * modules/uptime: New module.
79751         * modules/winsz-ioctl: New module.
79752         * modules/winsz-termios: New module.
79753         * modules/xnanosleep (Depends-on): Add nanosleep.
79754         * modules/ullong_max: Remove.
79755         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79756         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79757         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79758         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79759         (Depends-on): Add inttypes.
79760         (lib_SOURCES): Add xstrtol.h.
79761         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79762         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79763         * MODULES.html.sh: Move 'assert' into the assert section.
79764         Move 'dummy' into the linking section.
79765         Remove ullong_max.
79766         Add section for compatibility checks for POSIX:2001 functions,
79767         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79768         winsz-ioctl, and winsz-termios into it.
79769         Add lchmod.
79770         Add top-level Misc section and put host-os, perl, and uptime
79771         into it.
79772
79773 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79774
79775         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79776         now assume the stdint module.  Do not include inttypes.h.
79777         * lib/fsusage.h: Likewise.
79778         * lib/getndelim2.c: Likewise.
79779         * lib/human.h: Likewise.
79780         * lib/inttostr.h: Likewise.
79781         * lib/obstack.c: Likewise.
79782         * lib/regex_internal.h: Likewise.
79783         * lib/tempname.c: Likewise.
79784         * lib/utimecmp.c: Likewise.
79785         * lib/xstrtol.h: Likewise.
79786
79787         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79788
79789         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79790         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79791         * lib/xtime.h: Likewise.
79792
79793 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79794
79795         * modules/openat (Files): Add lib/fchmodat.c.
79796         Fixes problem reported by Jay Youngman.
79797
79798 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79799
79800         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79801         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79802
79803 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79804             Bruno Haible  <bruno@clisp.org>
79805
79806         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79807         and is a script that invokes bison. Tighten the code. Add comments.
79808
79809 2006-08-18  Jim Meyering  <jim@meyering.net>
79810
79811         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79812         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79813         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79814         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79815
79816 2006-08-18  Bruno Haible  <bruno@clisp.org>
79817
79818         * modules/bison-i18n: New file.
79819         * MODULES.html.sh (Internationalization functions): Add it.
79820
79821 2006-08-18  Bruno Haible  <bruno@clisp.org>
79822
79823         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79824         sys/statvfs.h. When getmntinfo was found, check its declaration and
79825         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79826
79827 2006-08-18  Bruno Haible  <bruno@clisp.org>
79828
79829         * m4/bison-i18n.m4: New file, from bison.
79830
79831 2006-08-18  Bruno Haible  <bruno@clisp.org>
79832
79833         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79834         (ME_DUMMY): Treat "kernfs" as a dummy.
79835         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79836
79837 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79838
79839         Update from coreutils.
79840
79841         2006-08-15  Jim Meyering  <jim@meyering.net>
79842
79843         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79844
79845         2006-01-17  Jim Meyering  <jim@meyering.net>
79846
79847         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79848
79849         2006-01-11  Jim Meyering  <jim@meyering.net>
79850
79851         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79852         Check for the lchmod function.
79853
79854 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79855
79856         Update from coreutils.
79857
79858         * lib/__fpending.h: Add copyright notice.
79859         * lib/fprintftime.h: Likewise.
79860         * lib/savedir.c: Use (C) in copyright notice.
79861         * lib/savedir.h: Likewise.
79862
79863         2006-08-15  Jim Meyering  <jim@meyering.net>
79864
79865         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79866         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79867         in support of the EXPECTED_ERRNO macro.
79868         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79869         definitions.  Instead, define the appropriate symbols and include
79870         "at-func.c".
79871         * lib/mkdirat.c (mkdirat): Likewise.
79872         * lib/fchmodat.c (fchmodat): Likewise.
79873         (ENOSYS): Remove definition.
79874         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79875         it.  Don't include "unistd--.h" -- it wasn't ever used.
79876
79877         2006-01-17  Jim Meyering  <jim@meyering.net>
79878
79879         Rewrite fts.c not to change the current working directory,
79880         by using openat, fstatat, fdopendir, etc..
79881
79882         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79883         (HAVE_OPENAT_SUPPORT): Define.
79884         [_LIBC] (fchdir): Don't undef or define; no longer used.
79885         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79886         Now, this `function' always succeeds, and consumes its file descriptor
79887         parameter -- so callers must not close such FDs.  Update callers.
79888         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79889         (diropen): Add parameter, SP.  Adjust all callers.
79890         Implement using diropen_fd, rather than open.
79891         (fts_open): Initialize new member, fts_cwd_fd.
79892         Remove fts_rft-setting code.
79893         (fts_close): Close fts_cwd_fd, if necessary.
79894         (__opendir2): Define in terms of opendir or opendirat,
79895         depending on whether the FST_NOCHDIR flag is set.
79896         (fts_build): Since fts_safe_changedir consumes its FD, and since
79897         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79898         and close the dup'd file descriptor upon failure.
79899         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79900         (fts_safe_changedir): Tweak semantics to reflect that this function
79901         now calls cwd_advance_fd and hence consumes its FD argument.
79902         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79903         [struct FTS] (fts_rft): Remove now-unused member.
79904         [struct FTS] (fts_cycle.state): Improve comment.
79905
79906         * lib/openat.c (openat_needs_fchdir): New function.
79907         * lib/openat.h (openat_needs_fchdir): Declare it.
79908
79909 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79910
79911         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79912         Problem and fix reported by Pádraig Brady in
79913         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79914
79915 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79916
79917         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79918
79919 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79920
79921         * lib/memcoll.c (memcoll): Optimize for the common case where the
79922         arguments are bytewise equal.
79923
79924 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79925
79926         * doc/regexprops-generic.texi: Add a copyright notice.
79927
79928 2006-08-15  Bruno Haible  <bruno@clisp.org>
79929
79930         * modules/tmpdir (License): Change to LGPL.
79931
79932 2006-08-15  Bruno Haible  <bruno@clisp.org>
79933
79934         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79935         module.
79936
79937 2006-08-14  Simon Josefsson  <jas@extundo.com>
79938
79939         * config/srclist.txt: Add gnupload.
79940
79941 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79942
79943         Change copyright notice from LGPL 2 to GPL 2, since that's the
79944         standard form used in the gnulib repository.
79945         * tests/test-lock.c: Likewise.
79946         * tests/test-stdint.c: Likewise.
79947         * tests/test-tls.c: Likewise.
79948
79949         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79950         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79951         Add copyright notice.
79952
79953         * check-module: Add copyright notice.  Output a copyright
79954         notice if "--version" is specified.
79955         * modules/COPYING: New file.
79956         * tests/test-getaddrinfo.c: Add copyright notice.
79957         * tests/test-verify.c: Likewise.
79958
79959 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79960
79961         Change copyright notice from LGPL 2 to GPL 2, since that's the
79962         standard form used in the gnulib repository.
79963         * lib/lock.c: LGPL -> GPL.
79964         * lib/lock.h: Likewise.
79965         * lib/strnlen1.c: Likewise.
79966         * lib/strnlen1.h: Likewise.
79967         * lib/tls.c: Likewise.
79968         * lib/tls.h: Likewise.
79969         * lib/tmpdir.c: Likewise.
79970
79971         * lib/TODO: Remove; this belongs only in coreutils.
79972
79973 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79974
79975         Add copyright notices to long-enough files that lack them, since
79976         otherwise the files aren't clearly free.  Use the same notice that
79977         getdate.texi already uses.
79978         * doc/alloca-opt.texi: Add copyright notice.
79979         * doc/alloca.texi: Likewise.
79980         * doc/ctime.texi: Likewise.
79981         * doc/functions.texi: Likewise.
79982         * doc/gcd.texi: Likewise.
79983         * doc/gnulib-tool.texi: Likewise.
79984         * doc/inet_ntoa.texi: Likewise.
79985         * doc/visibility.texi: Likewise.
79986
79987         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79988         * doc/quote.texi: Add copyright notice.
79989
79990         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79991         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79992         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79993         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79994         is now obsolete, and give a pointer to the Sun list.
79995         Add copyright notice.
79996
79997 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79998
79999         * config/srclistvars.sh: Add copyright notice.
80000
80001 2006-08-14  Eric Blake  <ebb9@byu.net>
80002
80003         Import the following change from libc:
80004
80005         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
80006
80007         Upstream bug 2997.
80008         * lib/misc/error.c: Add space between program name and message if file
80009         name is missing.
80010
80011 2006-08-12  Karl Berry  <karl@gnu.org>
80012
80013         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
80014         remove, these originate in gnulib now.
80015
80016 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80017
80018         * doc/Makefile (standards.info standards.html standards.dvi):
80019         Also depend on make-stds.texi.
80020
80021 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80022
80023         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
80024         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
80025
80026         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
80027         in wchar_t.  Problem reported by Eric Blake.
80028
80029         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
80030         LEN is smaller than SIZE.  Suggested by Bruno Haible.
80031         Also, help the compiler to keep LEN in a register.
80032
80033 2006-08-11  Eric Blake  <ebb9@byu.net>
80034
80035         * users.txt: Sort.  Add tar.
80036
80037 2006-08-11  Bruno Haible  <bruno@clisp.org>
80038
80039         * users.txt: New file.
80040
80041 2006-08-11  Bruno Haible  <bruno@clisp.org>
80042
80043         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
80044         before <wchar.h>. Needed for OSF/1 and BSD/OS.
80045
80046 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
80047
80048         * modules/snprintf (Depends-on): Remove minmax.
80049         (Maintainer): Add self and Bruno.
80050
80051 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
80052
80053         * lib/.cppi-disable: Add snprintf.h, socket_.h.
80054         * lib/snprintf.c: Include <errno.h> and <limits.h>.
80055         (EOVERFLOW): Define if the system does not.
80056         Do not include "minmax.h"; it wasn't used.
80057         (snprintf): Don't assume size_t promotes to an unsigned type.
80058         Fix bug when generated string was too long for the buffer: the
80059         buffer's contents are supposed to be the initial prefix of the
80060         output.  Don't assume vasnprintf returns EOVERFLOW if the size
80061         exceeds INT_MAX; do the check ourselves.
80062
80063         Import the following changes from libc:
80064
80065         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
80066
80067         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
80068         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
80069         set wc to the byte which couldn't be converted.
80070         (re_string_reconstruct): Don't clear valid_raw_len before calling
80071         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
80072         tip_context using re_string_context_at.
80073
80074         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
80075
80076         * lib/posix/regex.h: g++ still cannot handled [restrict].
80077
80078         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
80079
80080         * lib/posix/regex.h: Remove special handling for VMS.
80081
80082 2006-08-10  Jim Meyering  <jim@meyering.net>
80083
80084         * modules/same-inode: New module.
80085         * modules/dev-ino: New module.
80086         * modules/cycle-check: Depend on these modules, rather than simply
80087         including their .h files.
80088         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
80089         required via m4/cycle-check.m4.
80090         * modules/same: Depend on new same-inode module, rather than
80091         including same-inode.h.
80092         * modules/chdir-safer: New file.
80093
80094         * modules/chown (Depends-on): Add stat-macros.
80095
80096 2006-08-10  Jim Meyering  <jim@meyering.net>
80097
80098         * m4/cycle-check.m4: New file.
80099         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
80100         * m4/dev-ino.m4, m4/same-inode.m4: New files.
80101
80102 2006-08-10  Eric Blake  <ebb9@byu.net>
80103
80104         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
80105         in from original proposal.
80106
80107 2006-08-10  Eric Blake  <ebb9@byu.net>
80108         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
80109
80110         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
80111         namespace.
80112
80113 2006-08-10  Bruno Haible  <bruno@clisp.org>
80114
80115         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
80116         as well.
80117
80118 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80119
80120         Sync from coreutils.
80121
80122         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
80123
80124         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
80125         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
80126
80127 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80128
80129         * modules/restrict: Remove; no longer needed now that we assume
80130         Autoconf 2.59 or later.
80131         * MODULES.html.sh: Remove 'restrict'.
80132         * modules/argp (Depends-on): Remove 'restrict'.
80133         * modules/base64 (Depends-on): Likewise.
80134         * modules/gc (Depends-on): Likewise.
80135         * modules/getaddrinfo (Depends-on): Likewise.
80136         * modules/glob (Depends-on): Likewise.
80137         * modules/inet_ntop (Depends-on): Likewise.
80138         * modules/inet_pton (Depends-on): Likewise.
80139         * modules/memxor (Depends-on): Likewise.
80140         * modules/regex (Depends-on): Likewise.
80141         * modules/strtok_r (Depends-on): Likewise.
80142         * modules/time_r (Depends-on): Likewise.
80143
80144 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80145
80146         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
80147         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
80148         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80149         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
80150         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
80151         * m4/memxor.m4 (gl_MEMXOR): Likewise.
80152         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
80153         gl_C_RESTRICT replaced by AC_C_RESTRICT.
80154
80155         Merge from coreutils.
80156         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
80157         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
80158         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
80159         * m4/time_r.m4 (gl_TIME_R): Likewise.
80160
80161 2006-08-09  Karl Berry  <karl@gnu.org>
80162
80163         * config/srclist.txt: no more gettext-tools, per Bruno.
80164
80165 2006-08-08  Eric Blake  <ebb9@byu.net>
80166
80167         * modules/verror: New module.
80168         * MODULES.html.sh: Document it.
80169
80170 2006-08-08  Eric Blake  <ebb9@byu.net>
80171
80172         * lib/verror.h, lib/verror.c: New files.
80173
80174 2006-08-08  Eric Blake  <ebb9@byu.net>
80175
80176         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
80177         verror_at_line output complies with GNU Coding Standards even when
80178         file is NULL.
80179
80180 2006-08-07  Bruno Haible  <bruno@clisp.org>
80181
80182         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
80183         versions of AIX.
80184         Reported by Ralf Wildenhues.
80185
80186 2006-08-07  Bruno Haible  <bruno@clisp.org>
80187
80188         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
80189         in an AC_DEFUN. Needed so that the autoconf snippets can use
80190         AC_REQUIRE.
80191
80192 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80193
80194         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80195         Initialize pkgdata_DATA.
80196         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
80197         overriding it.
80198
80199 2006-08-06  Eric Blake  <ebb9@byu.net>
80200
80201         * lib/error.h: Fold in some upstream changes from glibc.
80202         * lib/error.c: Likewise.
80203
80204 2006-08-04  Bruno Haible  <bruno@clisp.org>
80205
80206         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80207         Make the mostlyclean-local rule depend on mostlyclean-generic.
80208         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
80209
80210 2006-07-31  Bruno Haible  <bruno@clisp.org>
80211
80212         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
80213         <stdlib.h>, <string.h>.
80214
80215 2006-07-30  Bruno Haible  <bruno@clisp.org>
80216
80217         * modules/readlink (License): Change to LGPL.
80218
80219 2006-07-30  Bruno Haible  <bruno@clisp.org>
80220
80221         * modules/javaversion (Makefile.am): Distribute javaversion.java and
80222         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
80223         set PKGDATADIR to point to it.
80224
80225 2006-07-30  Bruno Haible  <bruno@clisp.org>
80226
80227         * modules/csharpexec (configure.ac): Comment out macro invocation.
80228         * modules/javaexec (configure.ac): Likewise.
80229         * modules/javacomp-script (configure.ac): Likewise.
80230
80231         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
80232
80233 2006-07-30  Bruno Haible  <bruno@clisp.org>
80234
80235         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
80236         linked-list.
80237
80238 2006-07-30  Bruno Haible  <bruno@clisp.org>
80239
80240         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
80241
80242 2006-07-30  Bruno Haible  <bruno@clisp.org>
80243
80244         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80245         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
80246         get removed.
80247
80248 2006-07-29  Bruno Haible  <bruno@clisp.org>
80249
80250         Make it possible for gnulib-tool to work with locally modified or
80251         augmented gnulib repositories.
80252         * gnulib-tool (func_usage): Document --local-dir option.
80253         (local_gnulib_dir): New variable.
80254         Handle --local-dir option.
80255         (func_lookup_file): New function.
80256         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
80257         (func_get_description, func_get_filelist, func_get_description,
80258         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
80259         func_get_automake_snippet, func_get_include_directive,
80260         func_get_license, func_get_maintainer): Use func_lookup_file.
80261         (func_import, func_create_testdir): Use func_lookup_file.
80262
80263 2006-07-29  Bruno Haible  <bruno@clisp.org>
80264
80265         * modules/setenv (Depends-on): Add unistd.
80266
80267 2006-07-29  Bruno Haible  <bruno@clisp.org>
80268
80269         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
80270
80271 2006-07-29  Bruno Haible  <bruno@clisp.org>
80272
80273         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
80274
80275 2006-07-29  Bruno Haible  <bruno@clisp.org>
80276
80277         * gnulib-tool (import, update): If there is no Makefile.am, look at
80278         aclocal.m4, instead of bailing out.
80279
80280 2006-07-29  Bruno Haible  <bruno@clisp.org>
80281
80282         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
80283         Categorize the options by when they are useful.
80284
80285 2006-07-29  Bruno Haible  <bruno@clisp.org>
80286
80287         * gnulib-tool (func_usage): Document option --no-libtool.
80288         Handle option --no-libtool.
80289         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
80290         for changed semantics of $libtool variable.
80291         (func_import): Likewise. If libtool is not used, show this through
80292         an option --no-libtool.
80293         (func_create_testdir): Update.
80294
80295 2006-07-29  Bruno Haible  <bruno@clisp.org>
80296
80297         * gnulib-tool (func_import): Extend error message about missing
80298         --doc-base.
80299
80300 2006-07-29  Bruno Haible  <bruno@clisp.org>
80301
80302         * gnulib-tool (func_import): Don't create the $docbase directory if
80303         there is no file to store there.
80304
80305 2006-07-29  Bruno Haible  <bruno@clisp.org>
80306
80307         * gnulib-tool (autoconf_minversion): If a --dir option is given and
80308         relevant, look for configure.ac there, not in the current directory.
80309         Also use a simple search for AC_PREREQ, not "autoconf --trace".
80310
80311 2006-07-29  Bruno Haible  <bruno@clisp.org>
80312
80313         * gnulib-tool (SORT): New variable.
80314         (func_usage): Undocument --assume-autoconf option.
80315         Remove --assume-autoconf option handling.
80316         (autoconf_minversion): Determine from the contents of configure.ac.
80317         (func_import): Remove autoconf_minversion handling.
80318         Suggested by Eric Blake.
80319
80320 2006-07-29  Bruno Haible  <bruno@clisp.org>
80321
80322         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
80323
80324 2006-07-29  Bruno Haible  <bruno@clisp.org>
80325
80326         * config/srclist.txt (*setenv.[ch]): Remove rules.
80327
80328 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80329
80330         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
80331
80332 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80333
80334         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
80335         arpa/inet.h.
80336
80337 2006-07-28  Simon Josefsson  <jas@extundo.com>
80338
80339         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
80340         * modules/inet_pton (Depends-on): Likewise.
80341
80342 2006-07-28  Simon Josefsson  <jas@extundo.com>
80343
80344         * m4/netinet_in_h.m4: New file.
80345
80346 2006-07-28  Simon Josefsson  <jas@extundo.com>
80347
80348         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
80349         #include's.
80350
80351 2006-07-28  Simon Josefsson  <jas@extundo.com>
80352
80353         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
80354         #include's.
80355
80356 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
80357
80358         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
80359         setgid on directories only if they set these bits.
80360         * lib/modechange.h: Remove obsolete comment about masks.
80361
80362 2006-07-28  Eric Blake  <ebb9@byu.net>
80363
80364         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
80365         macro expansion.
80366
80367 2006-07-28  Bruno Haible  <bruno@clisp.org>
80368
80369         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
80370
80371 2006-07-28  Bruno Haible  <bruno@clisp.org>
80372
80373         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
80374
80375 2006-07-28  Bruno Haible  <bruno@clisp.org>
80376
80377         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
80378         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
80379         Define fallbacks.
80380         Avoids link error on FreeBSD 4.x.
80381         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80382
80383         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
80384         encoding.
80385         * lib/mbswidth.c (iswcntrl): Likewise.
80386
80387 2006-07-27  Bruno Haible  <bruno@clisp.org>
80388
80389         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
80390         test.
80391
80392 2006-07-27  Bruno Haible  <bruno@clisp.org>
80393
80394         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
80395         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
80396         defined.
80397
80398 2006-07-26  Eric Blake  <ebb9@byu.net>
80399
80400         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
80401
80402 2006-07-26  Eric Blake  <ebb9@byu.net>
80403
80404         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
80405         like mingw that lack mkstemp.
80406         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
80407         avoid compilation warning on mingw.
80408
80409 2006-07-26  Bruno Haible  <bruno@clisp.org>
80410
80411         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
80412         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
80413         INT_FAST*_MIN, INTPTR_MIN.
80414
80415 2006-07-25  Bruno Haible  <bruno@clisp.org>
80416
80417         * modules/version-etc (Depends-on): Add stdarg.
80418
80419 2006-07-25  Bruno Haible  <bruno@clisp.org>
80420
80421         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
80422         complex commands.
80423
80424 2006-07-25  Bruno Haible  <bruno@clisp.org>
80425
80426         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
80427         defined in <stdarg.h> or config.h.
80428
80429 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80430
80431         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
80432         (gl_STDIO_SAFER): Remove.
80433
80434 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80435
80436         * MODULES.html.sh (File stream based Input/Output):
80437         Add fopen-safer, tmpfile-safer; remove stdio-safer.
80438         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
80439         * modules/fopen-safer, modules/tmpfile-safer: New files.
80440         * modules/stdio-safer: Remove.
80441
80442 2006-07-24  Bruno Haible  <bruno@clisp.org>
80443
80444         * modules/tmpdir: New file.
80445         * MODULES.html.sh (File system functions): Add it.
80446
80447 2006-07-24  Bruno Haible  <bruno@clisp.org>
80448
80449         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
80450         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
80451
80452 2006-07-24  Bruno Haible  <bruno@clisp.org>
80453
80454         * modules/clean-temp: New file.
80455
80456 2006-07-24  Bruno Haible  <bruno@clisp.org>
80457
80458         * m4/tmpdir.m4: New file, from GNU gettext.
80459
80460 2006-07-24  Bruno Haible  <bruno@clisp.org>
80461
80462         * lib/tmpdir.h: New file, from GNU gettext.
80463         * lib/tmpdir.c: New file, from GNU gettext.
80464
80465 2006-07-24  Bruno Haible  <bruno@clisp.org>
80466
80467         * lib/clean-temp.h: New file, from GNU gettext.
80468         * lib/clean-temp.c: New file, from GNU gettext.
80469
80470 2006-07-23  Eric Blake  <ebb9@byu.net>
80471
80472         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80473         (Depends-on): Add binary-io.
80474
80475 2006-07-23  Eric Blake  <ebb9@byu.net>
80476
80477         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80478
80479 2006-07-23  Eric Blake  <ebb9@byu.net>
80480
80481         * lib/tmpfile-safer.c: New file.
80482         * lib/stdio-safer.h (fopen_safer): Add prototype.
80483         * lib/stdio--.h (tmpfile): Make safer.
80484
80485 2006-07-23  Bruno Haible  <bruno@clisp.org>
80486
80487         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80488         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80489         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80490         gl_linked_remove_at): Use it.
80491
80492 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80493         and Simon Josefsson <jas@extundo.com>
80494
80495         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80496
80497         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80498
80499 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80500
80501         * modules/close-stream: New file.
80502         * modules/closeout (Description): Make it clear that it exits
80503         with a diagnostic on error.
80504         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80505         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80506
80507 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80508
80509         * m4/close-stream.m4: New file.
80510
80511 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80512
80513         * lib/close-stream.c, lib/close-stream.h: New files.
80514
80515 2006-07-22  Bruno Haible  <bruno@clisp.org>
80516
80517         Merge from GNU gettext 0.15.
80518
80519         2006-05-01  Bruno Haible  <bruno@clisp.org>
80520
80521                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80522
80523         2006-07-22  Bruno Haible  <bruno@clisp.org>
80524
80525                 * modules/javaversion: New file.
80526                 * MODULES.html.sh (Java): Add javaversion.
80527
80528         2006-03-12  Bruno Haible  <bruno@clisp.org>
80529
80530                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80531
80532         2005-12-04  Bruno Haible  <bruno@clisp.org>
80533
80534                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80535                 (untested).
80536
80537         2006-06-21  Bruno Haible  <bruno@clisp.org>
80538
80539                 Avoid warnings from recent versions of mcs.
80540                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80541                 -o, -L, -r any more. Use options documented since mcs-1.0
80542                 instead. Similarly for -g.
80543
80544         2005-12-04  Bruno Haible  <bruno@clisp.org>
80545
80546                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80547                 .resources, not .resource.
80548
80549         2005-07-09  Bruno Haible  <bruno@clisp.org>
80550
80551                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80552                 add a .dll suffix.
80553                 Reported by Mark Junker <mjscod@gmx.de>.
80554
80555         2006-07-22  Bruno Haible  <bruno@clisp.org>
80556
80557                 * modules/gettext: Upgrade to gettext-0.15.
80558                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80559                 m4/visibility.m4.
80560                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80561
80562 2006-07-22  Bruno Haible  <bruno@clisp.org>
80563
80564         Merge from GNU gettext 0.15.
80565
80566         2006-03-25  Bruno Haible  <bruno@clisp.org>
80567
80568                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80569
80570         2006-07-21  Bruno Haible  <bruno@clisp.org>
80571
80572                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80573                 "1.1".
80574
80575         2006-05-09  Bruno Haible  <bruno@clisp.org>
80576
80577                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80578                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80579                 for the conftestver execution.
80580
80581         2006-05-01  Bruno Haible  <bruno@clisp.org>
80582
80583                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80584                 optional target-version argument. Verify that the compiler
80585                 groks source of the specified source-version, or add -source
80586                 option as necessary. Verify that the compiler produces
80587                 bytecode in the specified target-version, or add -target and
80588                 -source options as necessary. Make the result of the test
80589                 available as variable CONF_JAVAC. Also log error output in
80590                 config.log.
80591
80592         2006-03-11  Bruno Haible  <bruno@clisp.org>
80593
80594                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80595
80596         2006-05-09  Bruno Haible  <bruno@clisp.org>
80597
80598                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80599                 CLASSPATH_SEPARATOR to a semicolon.
80600
80601         2006-03-12  Bruno Haible  <bruno@clisp.org>
80602
80603                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80604                 available as variable CONF_JAVA, for subsequent autoconf
80605                 tests. Also log error output in config.log.
80606
80607         2006-07-19  Bruno Haible  <bruno@clisp.org>
80608
80609                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80610                 that getline works on glibc2 systems. Needed to avoid trouble
80611                 in relocatable.c.
80612                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80613
80614         2005-12-04  Bruno Haible  <bruno@clisp.org>
80615
80616                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80617                 launcher (untested).
80618
80619         2005-12-04  Bruno Haible  <bruno@clisp.org>
80620
80621                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80622
80623         2006-07-22  Bruno Haible  <bruno@clisp.org>
80624
80625                 * gettext.m4: Update from GNU gettext-0.15.
80626                 * nls.m4: Likewise.
80627                 * po.m4: Likewise.
80628                 * inttypes-pri.m4: Likewise.
80629                 * inttypes-h.m4: Renamed from inttypes.m4.
80630                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80631
80632 2006-07-22  Bruno Haible  <bruno@clisp.org>
80633
80634         Merge from GNU gettext 0.15.
80635
80636         2005-07-05  Bruno Haible  <bruno@clisp.org>
80637
80638                 * printf-args.c (printf_fetchargs): Work around broken
80639                 definition of wint_t on mingw.
80640
80641         2005-02-12  Bruno Haible  <bruno@clisp.org>
80642
80643                 * xallocsa.h: Add extern "C" for C++.
80644
80645         2006-05-17  Bruno Haible  <bruno@clisp.org>
80646
80647                 Cygwin portability.
80648                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80649
80650         2006-04-30  Bruno Haible  <bruno@clisp.org>
80651
80652                 * progreloc.c: Include <mach-o/dyld.h> if available.
80653                 (find_executable): Use _NSGetExecutablePath when possible.
80654
80655         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80656
80657                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80658                 function.
80659
80660         2005-12-29  Bruno Haible  <bruno@clisp.org>
80661
80662                 * progreloc.c (set_program_name_and_installdir): Fix
80663                 compilation error.
80664
80665         2005-12-04  Bruno Haible  <bruno@clisp.org>
80666
80667                 Cygwin portability.
80668                 * progreloc.c: Include <windows.h> also on Cygwin.
80669                 (find_executable): Add support for Cygwin.
80670                 (set_program_name_and_installdir): Handle also platforms with
80671                 nonempty EXEEXT.
80672
80673         2006-07-11  Bruno Haible  <bruno@clisp.org>
80674
80675                 * javacomp.c: Fix a comment.
80676                 Reported by Jim Meyering.
80677
80678         2006-04-30  Bruno Haible  <bruno@clisp.org>
80679
80680                 * javacomp.h (compile_java_class): Add source_version,
80681                 target_version arguments.
80682                 * javacomp.c: Rewritten to choose only a compiler that
80683                 respects the specified source_version and target_version.
80684
80685         2006-06-27  Bruno Haible  <bruno@clisp.org>
80686
80687                 Assume correct S_ISDIR macro.
80688                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80689
80690         2006-07-22  Bruno Haible  <bruno@clisp.org>
80691
80692                 * javaversion.h: New file, from GNU gettext.
80693                 * javaversion.c: New file, from GNU gettext.
80694                 * javaversion.java: New file, from GNU gettext.
80695                 * javaversion.class: New file, from GNU gettext.
80696
80697         2006-05-17  Bruno Haible  <bruno@clisp.org>
80698
80699                 Cygwin portability.
80700                 * javaexec.c (execute_java_class): Test for jview program
80701                 also on Cygwin.
80702
80703         2006-04-09  Bruno Haible  <bruno@clisp.org>
80704
80705                 * fatal-signal.c: Don't include string.h.
80706                 (at_fatal_signal): Use a copying loop instead of memcpy.
80707
80708         2005-12-04  Bruno Haible  <bruno@clisp.org>
80709
80710                 * csharpexec.c: Add support for 'clix' launcher (untested).
80711                 (execute_csharp_using_sscli): New function.
80712                 (execute_csharp_program): Call it.
80713
80714         2006-06-21  Bruno Haible  <bruno@clisp.org>
80715
80716                 Avoid warnings from recent versions of mcs.
80717                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80718                 -o, -L, -r any more. Use options documented since mcs-1.0
80719                 instead. Similarly for -g.
80720
80721         2005-07-09  Bruno Haible  <bruno@clisp.org>
80722
80723                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80724                 add a .dll suffix.
80725                 Reported by Mark Junker <mjscod@gmx.de>.
80726
80727         2006-06-17  Bruno Haible  <bruno@clisp.org>
80728
80729                 * config.charset: Update for NetBSD 3.0.
80730
80731         2006-05-17  Bruno Haible  <bruno@clisp.org>
80732
80733                 Cygwin portability.
80734                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80735
80736         2006-05-16  Bruno Haible  <bruno@clisp.org>
80737
80738                 * localcharset.c [CYGWIN]: Include <windows.h>.
80739                 (get_charset_aliases): For Cygwin, return the same CPxxx
80740                 aliases list as under WIN32.
80741                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80742                 the environment variables. Fall back to GetACP().
80743
80744         2006-04-05  Bruno Haible  <bruno@clisp.org>
80745
80746                 * config.charset: Update Juan Manuel Guerrero's address.
80747
80748         2005-02-12  Bruno Haible  <bruno@clisp.org>
80749
80750                 * allocsa.h: Add extern "C" for C++.
80751
80752         2005-02-10  Bruno Haible  <bruno@clisp.org>
80753
80754                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80755                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80756
80757         2006-07-22  Bruno Haible  <bruno@clisp.org>
80758
80759                 * gettext.h: Update to GNU gettext-0.15.
80760
80761 2006-07-22  Bruno Haible  <bruno@clisp.org>
80762
80763         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80764         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80765         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80766
80767 2006-07-21  Eric Blake  <ebb9@byu.net>
80768
80769         * modules/stdlib-safer: New file.
80770         * MODULES.html.sh (File stream based Input/Output): Add
80771         stdlib-safer.
80772
80773 2006-07-21  Eric Blake  <ebb9@byu.net>
80774
80775         * lib/stdlib-safer.h: New file from coreutils, required by
80776         stdlib--.h.
80777
80778 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80779
80780         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80781
80782 2006-07-20  Bruno Haible  <bruno@clisp.org>
80783
80784         * gnulib-tool: Recognize new option --assume-autoconf.
80785         (autoconf_minversion): New variable.
80786         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80787
80788 2006-07-20  Bruno Haible  <bruno@clisp.org>
80789
80790         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80791
80792 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80793
80794         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80795         Reindent and repaginate.
80796
80797 2006-07-19  Derek Price  <derek@ximbiot.com>
80798
80799         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80800         Correct grammar.
80801
80802 2006-07-17  Bruno Haible  <bruno@clisp.org>
80803
80804         * modules/list: New file.
80805         * modules/array-list: New file.
80806         * modules/carray-list, modules/carray-list-tests: New files.
80807         * modules/linked-list, modules/linked-list-tests: New files.
80808         * modules/avltree-list, modules/avltree-list-tests: New files.
80809         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80810         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80811         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80812         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80813         * modules/oset: New file.
80814         * modules/array-oset: New file.
80815         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80816         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80817         * tests/test-carray_list.c: New file.
80818         * tests/test-linked_list.c: New file.
80819         * tests/test-avltree_list.c: New file.
80820         * tests/test-rbtree_list.c: New file.
80821         * tests/test-linkedhash_list.c: New file.
80822         * tests/test-avltreehash_list.c: New file.
80823         * tests/test-rbtreehash_list.c: New file.
80824         * tests/test-avltree_oset.c: New file.
80825         * tests/test-rbtree_oset.c: New file.
80826         * MODULES.html.sh (Container data structures): New section.
80827
80828 2006-07-17  Bruno Haible  <bruno@clisp.org>
80829
80830         * m4/gl_list.m4: New file.
80831
80832 2006-07-17  Bruno Haible  <bruno@clisp.org>
80833
80834         * lib/gl_list.h: New file.
80835         * lib/gl_list.c: New file.
80836         * lib/gl_array_list.h: New file.
80837         * lib/gl_array_list.c: New file.
80838         * lib/gl_carray_list.h: New file.
80839         * lib/gl_carray_list.c: New file.
80840         * lib/gl_linked_list.h: New file.
80841         * lib/gl_linked_list.c: New file.
80842         * lib/gl_anylinked_list1.h: New file.
80843         * lib/gl_anylinked_list2.h: New file.
80844         * lib/gl_avltree_list.h: New file.
80845         * lib/gl_avltree_list.c: New file.
80846         * lib/gl_anyavltree_list1.h: New file.
80847         * lib/gl_anyavltree_list2.h: New file.
80848         * lib/gl_rbtree_list.h: New file.
80849         * lib/gl_rbtree_list.c: New file.
80850         * lib/gl_anyrbtree_list1.h: New file.
80851         * lib/gl_anyrbtree_list2.h: New file.
80852         * lib/gl_anytree_list1.h: New file.
80853         * lib/gl_anytree_list2.h: New file.
80854         * lib/gl_linkedhash_list.h: New file.
80855         * lib/gl_linkedhash_list.c: New file.
80856         * lib/gl_anyhash_list1.h: New file.
80857         * lib/gl_anyhash_list2.h: New file.
80858         * lib/gl_avltreehash_list.h: New file.
80859         * lib/gl_avltreehash_list.c: New file.
80860         * lib/gl_rbtreehash_list.h: New file.
80861         * lib/gl_rbtreehash_list.c: New file.
80862         * lib/gl_anytreehash_list1.h: New file.
80863         * lib/gl_anytreehash_list2.h: New file.
80864
80865         * lib/gl_oset.h: New file.
80866         * lib/gl_oset.c: New file.
80867         * lib/gl_array_oset.h: New file.
80868         * lib/gl_array_oset.c: New file.
80869         * lib/gl_avltree_oset.h: New file.
80870         * lib/gl_avltree_oset.c: New file.
80871         * lib/gl_rbtree_oset.h: New file.
80872         * lib/gl_rbtree_oset.c: New file.
80873         * lib/gl_anytree_oset.h: New file.
80874
80875 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80876
80877         * m4/mkancesdirs.m4: New file.
80878         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80879         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80880         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80881         it.
80882
80883 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80884
80885         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80886         * lib/mkancesdirs.h: New files.
80887         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80888         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80889         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80890         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80891         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80892         callers changed.  Revamp internals significantly, by not
80893         attempting to create directories that are temporarily more
80894         permissive than the final results.  Do not attempt to use
80895         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80896         This removes some race conditions, fixes some bugs, and simplifies
80897         things.  Use new dirchownmod function to do owner and mode changes.
80898         * lib/mkdir-p.h: Likewise.
80899         * lib/modechange.c (octal_to_mode): New function.
80900         (struct mode_change): New member mentioned.
80901         (make_node_op_equals): New arg mentioned.  All callers changed.
80902         (mode_compile): Keep track of which mode bits the user has explicitly
80903         mentioned.
80904         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80905         New arg PMODE_BITS, to keep track of which mode bits the user
80906         mentioned; it treats S_ISUID and S_ISGID speciall.
80907         All callers changed.
80908         * lib/modechange.h: Likewise.
80909
80910 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80911
80912         * MODULES.html.sh: Add mkancestors.
80913         * modules/mkancesdirs: New module.
80914         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80915         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80916         The chdir-safer and afs files are now orphans; I'll remove them
80917         unless someone speaks up.
80918         Add lib/dirchownmod.c, lib/dirchownmod.h.
80919         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80920         Add lchown, mkancesdirs.
80921         (Maintainer): Add self.
80922
80923 2006-07-15  Karl Berry  <karl@gnu.org>
80924
80925         * gnulib-tool: help message wording/arrangement.
80926
80927 2006-07-14  Simon Josefsson  <jas@extundo.com>
80928
80929         * doc/gnulib.texi (Libtool and Windows): New section.
80930
80931 2006-07-12  Simon Josefsson  <jas@extundo.com>
80932
80933         * modules/gendocs (License): Fix license, approved by Karl.
80934
80935 2006-07-12  Eric Blake  <ebb9@byu.net>
80936
80937         * MODULES.html.sh: Add gendocs.
80938
80939 2006-07-11  Eric Blake  <ebb9@byu.net>
80940
80941         * modules/fdl: New module, to install doc/fdl.texi.
80942         * MODULES.html.sh: Add new section for documentation modules.
80943         * gnulib-tool: Avoid space-tab.
80944         (--doc-base): New option, to manage files from doc.
80945
80946 2006-07-11  Eric Blake  <ebb9@byu.net>
80947
80948         * m4/absolute-header.m4: Fix comments to match recent change.
80949
80950 2006-07-11  Eric Blake  <ebb9@byu.net>
80951
80952         * gnulib-tool: List --doc-base before --tests-base.
80953
80954 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80955
80956         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80957
80958 2006-07-11  Bruno Haible  <bruno@clisp.org>
80959
80960         * README: Mention where to put documentation.
80961
80962 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80963
80964         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80965
80966 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80967
80968         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80969         to stdint.m4.
80970
80971 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80972
80973         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80974         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80975         "no/such/file/stdint.h" when there is no such file, so that
80976         the resulting C code can be parsed by dodgy compilers.
80977         Problems reported by Bob Proulx.
80978
80979 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80980
80981         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80982         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80983         macros into the GNU _D_EXACT_NAMLEN.
80984         * lib/savedir.c:  Likewise.
80985         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80986
80987 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80988         and Paul Eggert  <eggert@cs.ucla.edu>
80989
80990         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80991         * m4/savedir.m4:
80992         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80993         macros into the GNU _D_EXACT_NAMLEN.
80994
80995 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80996
80997         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80998         around the absolute name, to work around a problem with the HP-UX
80999         11.23 native C compiler, reported by Bob Proulx.
81000
81001 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81002
81003         * doc/maintain.texi, make-stds.texi: Sync from
81004         <http://savannah.gnu.org/projects/gnustandards>.
81005
81006 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81007
81008         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
81009
81010 2006-07-09  Jim Meyering  <jim@meyering.net>
81011
81012         * m4/glob.m4: Remove a doubled word in a comment.
81013
81014 2006-07-09  Jim Meyering  <jim@meyering.net>
81015
81016         * lib/argp-pv.c: Remove a doubled word in a comment.
81017         * lib/check-version.c (check_version): Likewise.
81018         * lib/javacomp.c (compile_java_class): Likewise.
81019
81020 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
81021
81022         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
81023         for the benefit of people using Autoconf 2.60.  If you want to
81024         support older Autoconf versions you can copy m4/onceonly_2_57.m4
81025         (or m4/onceonly.m4, if pre-2.57) manually.
81026
81027 2006-07-08  Jim Meyering  <jim@meyering.net>
81028
81029         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
81030         comment.
81031         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
81032         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
81033         comment.
81034
81035 2006-07-08  Jim Meyering  <jim@meyering.net>
81036
81037         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
81038
81039 2006-07-07  Simon Josefsson  <jas@extundo.com>
81040
81041         * tests/test-crc.c: Change expected crc value, the test vector
81042         were probably computed using the old broken crc.c?
81043
81044 2006-07-06  Simon Josefsson  <jas@extundo.com>
81045
81046         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
81047         now the canonical place for the M4 file).
81048
81049         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
81050         from the sys_socket dependency now.
81051
81052         * modules/inet_pton (Files): Ditto.
81053
81054         * modules/inet_ntop (Files): Ditto.
81055
81056 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81057
81058         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
81059         not gl_PREREQ_GETUSERSHELL.
81060
81061 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81062
81063         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
81064         with only one argument, for Autoconf 2.60.
81065         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
81066         expand to nothing, so add a shell command to avoid syntax error.
81067         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81068
81069 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81070
81071         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
81072
81073 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81074
81075         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
81076         no longer needed.  Check for isblank decl.
81077         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
81078         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
81079         of existence.
81080
81081 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81082
81083         * lib/getloadavg.c: Use __VMS, not VMS.
81084         * lib/getopt.c: Likewise.
81085         * lib/getpagesize.h: Likewise.
81086         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
81087         and probably does not work.
81088
81089 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81090
81091         * lib/.cppi-disable: Add wcwidth.
81092         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
81093         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
81094         (ISGRAPH): Remove.  All uses changed to isgraph.
81095         (FOLD) [!defined _LIBC]: Remove special case.
81096         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
81097         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
81098         HAVE_ISBLANK.
81099         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
81100         case.
81101
81102 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81103
81104         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
81105         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
81106         brackets.  Other minor changes to suppress some compiler
81107         warnings.
81108
81109 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81110         and Paul Eggert  <eggert@cs.ucla.edu>
81111
81112         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
81113         of invoking obsolescent AC_HEADER_DIRENT macro.
81114         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
81115         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
81116         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81117         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
81118         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
81119         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
81120         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
81121         * m4/readdir.m4: Remove; no longer needed.
81122
81123 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81124         and Paul Eggert  <eggert@cs.ucla.edu>
81125
81126         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
81127         Don't worry about this obsolete case any more.
81128         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
81129         directories.
81130         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
81131         worry about this obsolete case any more.
81132         * lib/fts.c: Likewise.
81133         * lib/getcwd.c: Likewise.
81134         * lib/glob.h: Likewise.
81135         * lib/savedir.c: Likewise.
81136
81137 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81138
81139         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
81140         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
81141         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
81142         needed.
81143         All uses removed.
81144         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81145         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81146         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
81147         needed.
81148         * m4/getdate.m4 (gl_GETDATE): Likewise.
81149         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81150         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81151         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81152         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81153         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81154         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81155         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
81156         needed.
81157
81158 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81159
81160         * lib/memcasecmp.c: Include <limits.h>.
81161         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
81162         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
81163         Don't assume isdigit succeeds only on '0' through '9'.
81164
81165 2006-07-05  Eric Blake  <ebb9@byu.net>
81166
81167         * modules/getaddrinfo (Depends-on): Add snprintf.
81168
81169 2006-07-05  Eric Blake  <ebb9@byu.net>
81170
81171         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
81172         to avoid 'header present but could not be compiled' on cygwin.
81173
81174 2006-07-05  Eric Blake  <ebb9@byu.net>
81175
81176         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
81177         missing from netdb.h.
81178         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
81179
81180 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81181
81182         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
81183         no longer needed.
81184         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
81185         * m4/getdate.m4 (gl_GETDATE): Likewise.
81186         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81187         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81188         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81189         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81190         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81191
81192 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81193
81194         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
81195         All uses of is_space replaced by isspace.
81196         * lib/exit.h: Don't talk about STDC_HEADERS.
81197         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
81198         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
81199         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
81200         replaced by isprint etc.
81201         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
81202         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81203         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
81204         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
81205         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
81206         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81207
81208 2006-07-05  Bruno Haible  <bruno@clisp.org>
81209
81210         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
81211         the function exists, before testing against AIX.
81212         Reported by Martin Lambers <marlam@marlam.de>.
81213
81214 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81215
81216         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
81217         From Mark D. Baushke.
81218
81219 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81220
81221         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
81222         to the absolute name, not just one, to bypass Sun C 5.8's
81223         "warning: #include of /usr/include/... may be non-portable".
81224
81225 2006-07-04  Eric Blake  <ebb9@byu.net>
81226
81227         * modules/dirname-tests: New test module.
81228         * tests/test-dirname.c: New file, replacing dirname.c
81229         TEST_DIRNAME section that was recently deleted.
81230
81231 2006-07-04  Bruno Haible  <bruno@clisp.org>
81232
81233         Assume ANSI C header files and <ctype.h> functions.
81234         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
81235         (mbsnwidth): Use isprint, iscntrl instead.
81236
81237 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81238
81239         Merge from coreutils.
81240         * MODULES.html.sh: Add xstrtold.
81241         * modules/xstrtold: New file.
81242         * modules/cycle-check (Files): Add lib/same-inode.h.
81243         * modules/dirname (Files): Add m4/double-slash-root.m4.
81244         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
81245         * modules/mkdir-p (Files): Add lib/same-inode.h.
81246         * modules/same (Files): Add lib/same-inode.h.
81247
81248 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81249
81250         * m4/absolute-header.m4: Renamed from full-header-path.m4.
81251         This is to keep the terminology clean; POSIX talks about
81252         "absolute pathnames", not "full pathnames", but the GNU
81253         Coding Standards say to use "path" for something else;
81254         so use "absolute" to keep both sides happy.
81255         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
81256         Set gl_absolute_header, not gl_full_header_path.
81257         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
81258         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
81259         All uses changed.
81260
81261         Merge from coreutils.
81262
81263         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81264
81265         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
81266         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
81267         want to require the building of c-strtod.o.
81268         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
81269         needs -lm directly.
81270         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
81271
81272         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81273
81274         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
81275         --as-needed option if available.  Problem reported by Albert Chin in
81276         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
81277         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
81278         cc merely issues a bunch of annoying warnings for --as-needed
81279         (this problem was reported by Bob Proulx).  Also, try linking with
81280         -lm to detect a bug in binutils 2.16 (this problem was reported
81281         by Ralf Wildenhues).
81282
81283         2006-06-18  Jim Meyering  <jim@meyering.net>
81284
81285         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
81286         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
81287         macro.
81288         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
81289         also check for glibc-2.4's abort-inducing bug.
81290
81291         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
81292         Low-probability clean-up should be to use rmdir to get rid of
81293         the just-created directory, not unlink.
81294
81295         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
81296         configure fail, and request a bug report to inform us about it.
81297         Add a comment that, barring reports to the contrary, in 2007 we'll
81298         assume ftruncate is universally available.
81299
81300         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81301
81302         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
81303
81304         2006-03-12  Jim Meyering  <jim@meyering.net>
81305
81306         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
81307         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
81308         * m4/same.m4 (gl_SAME): Likewise.
81309         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
81310
81311         2006-03-11  Eric Blake  <ebb9@byu.net>
81312
81313         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
81314         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
81315         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
81316         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
81317
81318 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81319
81320         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
81321         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
81322         reported by Mark D. Baushke, one in
81323         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
81324
81325         Merge from coreutils.
81326
81327         * lib/.cppi-disable: Add stdint_.h.
81328         * lib/.cvsignore: Add stdint.h.
81329
81330         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81331
81332         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
81333         both double and long double versions.
81334         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
81335         * lib/xstrtold.c: New file.
81336         * lib/xstrtod.h (xstrtold): New decl.
81337
81338         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81339
81340         * lib/filemode.c (setst): Remove.
81341         (strmode): Rewrite to avoid setst.  This makes the code shorter,
81342         (arguably) clearer, and the generated code is a bit smaller on my
81343         Debian GNU/Linux stable x86 host.
81344
81345         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81346
81347         * lib/filemode.c: Include "filemode.h" first, to test the interface.
81348         Assume that filemode.h includes sys/types.h and sys/stat.h.
81349         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
81350         (ftypelet): Reorder to put common cases first, for efficiency.
81351         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
81352         to do 'M'.
81353         (strmode): Renamed from mode_string, and now stores 12 bytes instead
81354         of 10, for compatibility with FreeBSD.  All callers changed.
81355         (filemodestring): Now stores 12 bytes instead of 10, and sets file
81356         types that can't be deduced solely from st_mode.  First arg is now a
81357         const pointer.
81358         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
81359         (strmode): Renamed from mode_string.
81360         (filemodestring): New decl.
81361         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
81362         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
81363         needed.
81364         (S_ISPORT, S_ISWHT): New macros, if not already defined.
81365
81366         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81367
81368         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
81369         fsusage.h now does that.  Include fsusage.h first, to test interface.
81370         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
81371         at most one method (the old code could have generated decls that
81372         didn't conform to C89, not that this was ever exercised).
81373         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
81374
81375         2006-03-19  Jim Meyering  <jim@meyering.net>
81376
81377         Work even in a chroot where d_ino values for entries in "/"
81378         don't match the stat.st_ino values for the same names.
81379         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
81380         number, iterate through all entries again, using lstat instead.
81381         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
81382         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
81383
81384         * lib/getcwd.c (__getcwd): Clarify a comment.
81385         Use memcpy in place of a call to strcpy.
81386
81387         2006-03-12  Jim Meyering  <jim@meyering.net>
81388
81389         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
81390         matches that of the current directory (which we're about to chdir ".."
81391         out of), then save the dev-ino of the parent, instead.
81392
81393         * lib/same-inode.h (SAME_INODE): New file/macro.
81394         * lib/chdir-safer.c (SAME_INODE): Remove definition.
81395         Include "same-inode.h", instead.
81396         * lib/same.c: Likewise.
81397         * lib/cycle-check.h: Include "same-inode.h".
81398         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
81399         * lib/cycle-check.c (SAME_INODE): Remove definition.
81400         * lib/root-dev-ino.h: Include "same-inode.h".
81401
81402         2006-03-11  Eric Blake  <ebb9@byu.net>
81403
81404         * lib/same.c (same_name): s/base_name/last_component/
81405         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
81406         * lib/filenamecat.c (file_name_concat): Likewise.
81407
81408         2006-03-11  Eric Blake  <ebb9@byu.net>,
81409                     Paul Eggert  <eggert@cs.ucla.edu>
81410
81411         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
81412         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
81413         drive prefix.
81414         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
81415         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
81416         (last_component): New method.
81417         * lib/dirname.c (dir_len): Determine when drive letters need a
81418         subsequent slash.  Preserve // when it is special.
81419         (dir_name): Don't append dot when drive letter is absolute.
81420         [TEST_DIRNAME]: Move into a full-blown gnulib test.
81421         * lib/basename.c (base_name): New semantics - malloc the result.
81422         Preserve // when it is special.  Preserve relative files that look
81423         like drive letters.
81424         (base_len): Preserve // when it is special.
81425         (last_component): New method, similar to old base_name semantics.
81426         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
81427         base_name.  Strip redundant slashes from ///.
81428
81429 2006-07-03  Jim Meyering  <jim@meyering.net>
81430
81431         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
81432         macro is used before the first cycle_check call.
81433
81434 2006-07-03  Eric Blake  <ebb9@byu.net>
81435
81436         * modules/dirname (Depends-on): Add xstrndup.
81437
81438 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81439
81440         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
81441         test cases, so that config.log is a bit easier to follow.
81442
81443 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81444
81445         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
81446         both are 64 bits, since this seems to be the tradition, and this
81447         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
81448         we ever run into a host that prefers long long to long in this
81449         case, we'll need another configure-time test.  Problem reported by
81450         Jim Meyering.
81451
81452 2006-07-02  Eric Blake  <ebb9@byu.net>
81453
81454         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
81455
81456 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81457
81458         * modules/inttypes (Depends-on): No longer depends on stdint.
81459         * modules/stdint (Description): Say more about assumptions.
81460         Say that the fast types might differ.  Say macros are used.
81461         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81462         (Makefile.am): Revise list of substituted symbols to match
81463         new stdint.m4.
81464         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81465         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81466         * tests/test-stdint.c (verify_same_types)
81467         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81468         the code conforms to C99/C89.
81469         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81470         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81471
81472 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81473
81474         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81475         but fix a bug, by requiring at least 64 bits.
81476         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81477         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81478         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81479         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81480
81481         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81482         changes.  Make 2.59 a prerequisite.  Check and substitute for
81483         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81484         inttypes.h.  Do not use special include files; just use the
81485         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81486         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81487         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81488         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81489         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81490         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81491         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81492         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81493         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81494         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81495         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81496         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81497         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81498         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81499         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81500         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81501         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81502         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81503         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81504         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81505         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81506         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81507         not check for things that C99 does not require, e.g., int8_t.  If
81508         a test isn't needed unless <stdint.h> isn't working, and is
81509         unlikely to be needed for any other reason, then don't do it
81510         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81511         size_t, since we assume C89 freestanding at least.  Do not check
81512         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81513         the right thing even if the types are not defined.  Instead use:
81514         (gl_STDINT_TYPE_PROPERTIES): New macro.
81515         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81516         testing whether <sys/types.h> clashes, as Autoconf does this for
81517         us now.  All uses removed.
81518         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81519         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81520         (gl_CHECK_TYPE_SAME):
81521         Remove; no longer needed.
81522         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81523         exists, since we'll return 0 anyway in that case.
81524         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81525
81526 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81527
81528         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81529         possible collision with system files.
81530         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81531         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81532         WCHAR_MIN and WCHAR_MAX in this case.
81533         (<stddef.h>): Do not include; no longer needed.
81534         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81535         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81536         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81537         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81538         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81539         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81540         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81541         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81542         !defined(__c99))]: Include in this case too, since it's harmless
81543         now.
81544         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81545         dangerous to do so.
81546         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81547         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81548         (_STDINT_MIN, _STDINT_MAX): New macros.
81549         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81550         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81551         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81552         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81553         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81554         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81555         macros, not typedefs; this simplifies things quite a bit.
81556         Use long int for all types narrower than int64_t.
81557         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81558         Define in terms of long long int or int64_t or long int,
81559         not int64_t or int32_t.  This saves some compile-time testing.
81560         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81561         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81562         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81563         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81564         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81565         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81566         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81567         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81568         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81569         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81570         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81571         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81572         undef any previous version and define our own version, for
81573         simplicity and consistency with the new macros for types.
81574         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81575         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81576         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81577         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81578         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81579         @WINT_T_SUFFIX@ to keep things simple here.
81580         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81581         Simplify by assuming typical 8/16/32/64 host, since we're
81582         already doing that elsewhere anyway.
81583         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81584         and assume long long int is 64 bits if available.  This
81585         speeds up 'configure'.
81586
81587 2006-07-01  Eric Blake  <ebb9@byu.net>
81588
81589         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81590         Reported by Andreas Buening.
81591
81592 2006-07-01  Eric Blake  <ebb9@byu.net>
81593
81594         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81595
81596 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81597
81598         * lib/getaddrinfo.c: fixed typo
81599
81600 2006-06-29  Jim Meyering  <jim@meyering.net>
81601
81602         * modules/strftime (Maintainer): Add my name, since with the
81603         FPRINTFTIME changes strftime.c has forked from glibc.
81604
81605 2006-06-29  Eric Blake  <ebb9@byu.net>
81606
81607         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81608
81609 2006-06-29  Eric Blake  <ebb9@byu.net>
81610
81611         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81612
81613 2006-06-29  Eric Blake  <ebb9@byu.net>
81614
81615         * lib/stat_.h: New file.
81616
81617 2006-06-29  Eric Blake  <ebb9@byu.net>
81618
81619         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81620         unused static function.
81621
81622 2006-06-29  Eric Blake  <ebb9@byu.net>
81623
81624         * doc/functions.texi (Function Portability): Document missing lstat
81625         on mingw.
81626
81627 2006-06-29  Eric Blake  <ebb9@byu.net>
81628
81629         * MODULES.html.sh: Add sys_stat.
81630         * modules/sys_stat: New module.
81631         * modules/mkstemp (Depends-on): Add sys_stat.
81632
81633 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81634
81635         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81636
81637 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81638
81639         * m4/c-bs-a.m4: Removed.
81640
81641 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81642
81643         * lib/strftime.c: Assume strftime() exists.
81644
81645 2006-06-29  Derek Price  <derek@ximbiot.com>
81646
81647         * modules/c-bs-a: Removed - \a is C89.
81648         * MODULES.html.sh: Remove c-bs-a.
81649
81650 2006-06-29  Bruno Haible  <bruno@clisp.org>
81651
81652         * modules/wcwidth (License): Change to LGPL.
81653
81654 2006-06-28  Simon Josefsson  <jas@extundo.com>
81655
81656         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81657         on _WIN32.
81658
81659         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81660         getnameinfo.
81661
81662 2006-06-28  Simon Josefsson  <jas@extundo.com>
81663
81664         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81665
81666 2006-06-28  Simon Josefsson  <jas@extundo.com>
81667
81668         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81669         functions there.  It will succeed on Windows XP, but on Windows
81670         2000 and (presumably) earlier, it will fail, and use the internal
81671         re-implementation.
81672         (use_win32_p): New function.
81673         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81674         Support AI_NUMERICSERV to disable getservbyname.
81675         (getnameinfo): New function, only supports
81676         NI_NUMERICHOST|NI_NUMERICSERV for now.
81677
81678         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81679         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81680         getnameinfo.
81681
81682 2006-06-28  Eric Blake  <ebb9@byu.net>
81683
81684         * modules/wcwidth: New file.
81685         * modules/mbchar (Depends-on): Add wcwidth.
81686         * modules/mbswidth (Depends-on): Add wcwidth.
81687         * MODULES.html.sh: Add wcwidth.
81688
81689 2006-06-28  Eric Blake  <ebb9@byu.net>
81690
81691         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81692         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81693
81694 2006-06-28  Eric Blake  <ebb9@byu.net>
81695
81696         * lib/xvasprintf.h: Fix comments.
81697
81698 2006-06-28  Eric Blake  <ebb9@byu.net>
81699
81700         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81701         * lib/mbswidth.c (wcwidth): Move from here...
81702         * lib/wcwidth.h: ...to this new file.
81703
81704 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81705
81706         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81707
81708         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81709         it's obsolete.
81710         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81711
81712 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81713
81714         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81715         Autoconf 2.60 says this stuff was obsolete.
81716
81717 2006-06-28  Bruno Haible  <bruno@clisp.org>
81718
81719         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81720
81721 2006-06-28  Bruno Haible  <bruno@clisp.org>
81722
81723         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81724         gt_TYPE_WCHAR_T.
81725
81726 2006-06-28  Bruno Haible  <bruno@clisp.org>
81727
81728         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81729         declaration for wcwidth.
81730         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81731
81732 2006-06-28  Bruno Haible  <bruno@clisp.org>
81733
81734         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81735         (mkdir): Define using _mkdir.
81736
81737 2006-06-28  Bruno Haible  <bruno@clisp.org>
81738
81739         * lib/getaddrinfo.h: Fix POSIX URL.
81740         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81741         _WIN32.
81742         (use_win32_p): Make static.
81743         (getaddrinfo): Reject service name if it is empty or does not consist
81744         solely of decimal digits, or if its value is > 65535.
81745         (getnameinfo): Remove useless casts.
81746
81747 2006-06-27  Simon Josefsson  <jas@extundo.com>
81748
81749         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81750         Eggert and Martin Lambers.
81751
81752 2006-06-27  Simon Josefsson  <jas@extundo.com>
81753
81754         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81755         Eggert and Martin Lambers.
81756
81757 2006-06-27  Bruno Haible  <bruno@clisp.org>
81758
81759         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81760         result to 0, not to empty.
81761         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81762
81763 2006-06-27  Bruno Haible  <bruno@clisp.org>
81764
81765         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81766
81767 2006-06-26  Simon Josefsson  <jas@extundo.com>
81768
81769         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81770         present.
81771
81772 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81773
81774         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81775         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81776         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81777
81778 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81779
81780         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81781
81782 2006-06-26  Bruno Haible  <bruno@clisp.org>
81783
81784         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81785
81786 2006-06-26  Bruno Haible  <bruno@clisp.org>
81787
81788         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81789
81790 2006-06-26  Bruno Haible  <bruno@clisp.org>
81791
81792         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81793         SGI C compiler in pre-C99 mode.
81794         Suggested by Mark D. Baushke and Larry Jones.
81795
81796 2006-06-26  Bruno Haible  <bruno@clisp.org>
81797
81798         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81799         WCHAR_MAX.
81800         Reported by Mark D. Baushke and Larry Jones.
81801
81802 2006-06-26  Bruno Haible  <bruno@clisp.org>
81803
81804         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81805         in pre-C99 mode.
81806         Suggested by Mark D. Baushke and Larry Jones.
81807
81808 2006-06-23  Simon Josefsson  <jas@extundo.com>
81809             Bruno Haible  <bruno@clisp.org>
81810
81811         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81812         Emit mostlyclean-local rule.
81813         (func_emit_tests_Makefile_am): Likewise.
81814         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81815
81816 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81817
81818         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81819
81820 2006-06-23  Bruno Haible  <bruno@clisp.org>
81821
81822         * tests/test-stdint.c: Update to match ISO C 99 Technical
81823         Corrigendum 1.
81824
81825 2006-06-23  Bruno Haible  <bruno@clisp.org>
81826
81827         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81828
81829 2006-06-23  Bruno Haible  <bruno@clisp.org>
81830
81831         * lib/stdint_.h: Treat IRIX like OpenBSD.
81832
81833 2006-06-23  Bruno Haible  <bruno@clisp.org>
81834
81835         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81836         ISO C 99 Technical Corrigendum 1.
81837
81838 2006-06-22  Simon Josefsson  <jas@extundo.com>
81839
81840         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81841         MinGW.
81842
81843 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81844
81845         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81846         needed.  Some compiler complained about some of them.  Problem reported
81847         by Larry Jones in
81848         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81849
81850 2006-06-21  Simon Josefsson  <jas@extundo.com>
81851
81852         * tests/test-getaddrinfo.c: New file.
81853
81854         * modules/getaddrinfo-tests: New file.
81855
81856         * MODULES.html.sh: Add inet_pton.
81857
81858         * modules/inet_pton: New file.
81859
81860 2006-06-21  Simon Josefsson  <jas@extundo.com>
81861
81862         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81863         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81864         of using the (limited) gnulib implementation on Windows XP.
81865
81866         * m4/inet_pton.m4: New file.
81867
81868 2006-06-21  Simon Josefsson  <jas@extundo.com>
81869
81870         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81871         variable.
81872
81873         * lib/socket_.h: Don't define WINVER.
81874
81875         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81876         slightly modified to work in gnulib.
81877
81878 2006-06-21  Simon Josefsson  <jas@extundo.com>
81879
81880         * doc/gnulib.texi (Windows sockets): Add.
81881
81882 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81883
81884         * lib/read-file.c (fread_file): Start with buffer allocation of
81885         0 bytes rather than 1 byte; this simplifies the code.
81886         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81887         code to free buffer and save/restore errno.
81888         (internal_read_file): Remove unused local.
81889
81890 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81891
81892         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81893         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81894         Problem reported by Denis Excoffier in
81895         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81896
81897 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81898
81899         * modules/sys_socket, modules/socklen: Include sys/types since
81900         FreeBSD 4.x's sys/socket.h needs it.
81901
81902 2006-06-19  Simon Josefsson  <jas@extundo.com>
81903
81904         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81905
81906 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81907
81908         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81909
81910 2006-06-19  Bruno Haible  <bruno@clisp.org>
81911
81912         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81913         and FULL_PATH_INTTYPES_H in angle brackets.
81914         Reported by Mark D. Baushke <mdb@gnu.org>.
81915
81916 2006-06-17  Eric Blake  <ebb9@byu.net>
81917
81918         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81919         errno.
81920
81921 2006-06-17  Bruno Haible  <bruno@clisp.org>
81922
81923         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81924         <sys/inttypes.h>.
81925
81926 2006-06-17  Bruno Haible  <bruno@clisp.org>
81927
81928         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81929         whether errno is declared. Assume <errno.h> declares errno.
81930
81931 2006-06-17  Bruno Haible  <bruno@clisp.org>
81932
81933         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81934
81935 2006-06-17  Bruno Haible  <bruno@clisp.org>
81936
81937         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81938         problem on Solaris 2.5.1.
81939
81940 2006-06-16  Eric Blake  <ebb9@byu.net>
81941
81942         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81943         * lib/unicodeio.c [!defined errno]: Likewise.
81944         * lib/strtol.c [!defined errno]: Likewise.
81945         * lib/strtod.c [!defined errno]: Likewise.
81946
81947 2006-06-15  Eric Blake  <ebb9@byu.net>
81948
81949         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81950
81951 2006-06-15  Eric Blake  <ebb9@byu.net>
81952
81953         * config/srclist.txt (ssize_t.m4): Lose sync.
81954
81955 2006-06-15  Bruno Haible  <bruno@clisp.org>
81956
81957         * modules/stdint (Files): Include m4/full-header-path.m4,
81958         m4/size_max.m4, m4/wchar_t.m4.
81959         (Makefile.am): Many more substitutions.
81960         * modules/stdint-tests: New file.
81961         * tests/test-stdint.c: New file.
81962
81963 2006-06-15  Bruno Haible  <bruno@clisp.org>
81964
81965         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81966         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81967         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81968         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81969         gl_CHECK_TYPE_SAME): New macros.
81970
81971 2006-06-15  Bruno Haible  <bruno@clisp.org>
81972
81973         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81974
81975 2006-06-15  Bruno Haible  <bruno@clisp.org>
81976
81977         * lib/stdint_.h: Rewritten to be fully auto-configured.
81978         Fixes bug on HP-UX/IA64.
81979
81980 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81981
81982         * lib/getdate.y (__attribute__): Don't define if already defined.
81983         Problem reported by Larry Jones.
81984         * lib/utimens.c (__attribute__): Likewise.
81985
81986 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81987
81988         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81989         reported by Andreas Schwab.
81990
81991 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81992             Bruno Haible  <bruno@clisp.org>
81993
81994         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81995         check for the declaration of strnlen and a run test that exposes the
81996         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81997         rpl_strndup.
81998
81999 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82000             Bruno Haible  <bruno@clisp.org>
82001
82002         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
82003
82004 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82005
82006         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
82007         compile test, for Tru64 4.0D.
82008
82009 2006-05-28  Karl Berry  <karl@gnu.org>
82010
82011         * config/srclist.txt (printf-args.c): lose sync.
82012
82013 2006-05-26  Martin Lambers  <marlam@marlam.de>
82014
82015         * lib/getpass.c: Updates the test for the native W32 API, and adds
82016         missing includes, thus fixing compilation warnings.
82017
82018 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82019
82020         * lib/exclude.c (exclude_fnmatch): New function.
82021         (excluded_file_name): Call exclude_fnmatch.
82022         * lib/exclude.h (excluded_file_name): New prototype
82023
82024 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
82025
82026         * lib/tempname.c (small_open, large_open): New macros.
82027         (__open, __open64) [!_LIBC]: Remove.
82028         (__gen_tempname): Use small_open and large_open instead of __open
82029         and __open64.  This fixes a portability bug on HP-UX 11.11i
82030         reported by Simon Wing-Tang in
82031         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
82032
82033 2006-05-24  Bruno Haible  <bruno@clisp.org>
82034
82035         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
82036         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
82037         Reported by Thorsten Maerz <torte@netztorte.de> via
82038         Aaron Stone <aaron@serendipity.cx>.
82039
82040 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82041
82042         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
82043         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
82044         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
82045         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
82046         not really conditional on the cache.
82047         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
82048
82049 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82050
82051         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
82052         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
82053         (my_usleep): Don't mishandle maximum value.
82054
82055 2006-05-19  Jim Meyering  <jim@meyering.net>
82056
82057         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
82058
82059 2006-05-17  Bruno Haible  <bruno@clisp.org>
82060
82061         Cygwin portability.
82062         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
82063
82064 2006-05-17  Bruno Haible  <bruno@clisp.org>
82065
82066         * lib/stdint_.h: Fix recognition of Cygwin.
82067
82068 2006-05-15  Bruno Haible  <bruno@clisp.org>
82069
82070         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
82071         on libtool patch by Ralf Wildenhues.
82072
82073 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82074
82075         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
82076         test for C99 conformance; (bool) 0.5 is an integer constant
82077         expression, but (bool) -0.5 is not.  Problem reported by Fedor
82078         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
82079
82080 2006-05-11  Simon Josefsson  <jas@extundo.com>
82081
82082         * m4/xvasprintf.m4: Fix obvious typo.
82083
82084 2006-05-11  Jim Meyering  <jim@meyering.net>
82085
82086         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
82087         James Lemley.
82088
82089 2006-05-10  Simon Josefsson  <jas@extundo.com>
82090
82091         * lib/md4.c: Typo fix, update copyright years.
82092         (K1, K2): Don't use L because it turn computations into 64-bit on
82093         64-bit platforms.
82094
82095 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
82096
82097         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
82098         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
82099         unwanted sign propagation, e.g., on hosts with 64-bit int.
82100         There still are some problems with reeelly weird theoretical hosts
82101         (e.g., 33-bit int) but it's not worth worrying about now.
82102         * lib/sha1.c (rol): Likewise.
82103         (K1, K2, K3, K4): Remove unnecessary L suffix.
82104
82105 2006-05-10  Bruno Haible  <bruno@clisp.org>
82106
82107         * lib/des.c: Cast to avoid warnings.
82108
82109 2006-05-09  Bruno Haible  <bruno@clisp.org>
82110
82111         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
82112         (Depends-on): Depend also on xsize, stdarg.
82113         (configure.ac): Add gl_XVASPRINTF.
82114
82115 2006-05-09  Bruno Haible  <bruno@clisp.org>
82116
82117         * m4/xvasprintf.m4: New file.
82118
82119 2006-05-09  Bruno Haible  <bruno@clisp.org>
82120
82121         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
82122         (EOVERFLOW): Define fallback value.
82123         (xstrcat): New function.
82124         (xvasprintf): Recognize the special case of a string concatenation.
82125
82126 2006-05-08  Eric Blake  <ebb9@byu.net>
82127
82128         * gnulib-tool (func_version): Base copyright year on CVS date.
82129         (func_emit_copyright_notice): New function.
82130         (func_emit_lib_Makefile_am): Use it.
82131         (func_emit_tests_Makefile_am): Likewise.
82132         (func_import): Likewise.
82133
82134 2006-05-08  Bruno Haible  <bruno@clisp.org>
82135
82136         * modules/stdarg: New file.
82137         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
82138
82139 2006-05-08  Bruno Haible  <bruno@clisp.org>
82140
82141         * m4/stdarg.m4: New file, from GNU gettext.
82142
82143 2006-05-08  Bruno Haible  <bruno@clisp.org>
82144
82145         * config/srclist.txt (build-aux/config.rpath): different from latest
82146         release.
82147
82148 2006-05-08  Bruno Haible  <bruno@clisp.org>
82149
82150         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
82151
82152 2006-05-05  Jim Meyering  <jim@meyering.net>
82153
82154         * m4/warning.m4: New file, derived from bison's file by the same name.
82155
82156 2006-05-03  Bruno Haible  <bruno@clisp.org>
82157
82158         * lib/stdint_.h: Shorter URL.
82159         * lib/inttypes.h: Likewise.
82160
82161 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82162
82163         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
82164
82165 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82166
82167         * lib/verify.h: Document the internals better.  Most of this change
82168         was written by Bruno Haible.
82169
82170 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82171
82172         * doc/verify.texi: New file, partly based on a proposal by
82173         Bruno Haible.
82174
82175 2006-05-02  Bruno Haible  <bruno@clisp.org>
82176
82177         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
82178         test from here...
82179         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
82180
82181 2006-04-29  Bruno Haible  <bruno@clisp.org>
82182
82183         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
82184         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
82185
82186 2006-04-29  Bruno Haible  <bruno@clisp.org>
82187
82188         * gnulib-tool: Make --update option actually work.
82189
82190 2006-04-29  Bruno Haible  <bruno@clisp.org>
82191
82192         * doc/gcd.texi: New file.
82193         * doc/gnulib.texi: Include it.
82194
82195 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
82196
82197         * lib/getdate.y (get_date): When adding relative date, start with the
82198         initial time, not with the result of the first mktime call.
82199
82200 2006-04-25  Bruno Haible  <bruno@clisp.org>
82201
82202         * gnulib-tool (func_import): Output the include directives in three
82203         blocks, sorted separately.
82204         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82205
82206 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82207
82208         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
82209         to define main with arguments, for C++.  Reported by Eric Blake.
82210         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
82211         Prefer 'int main ()' to 'int main (void)', for C++.
82212         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
82213         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
82214         for 'main', for C99 and C++.
82215
82216 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82217
82218         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
82219         Don't assume that exit status -1 is valid.
82220         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82221         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
82222         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
82223         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
82224         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
82225         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
82226         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
82227         functions can be used without declaring them, or that you can
82228         exit with status -1.
82229         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
82230
82231 2006-04-24  Karl Berry  <karl@gnu.org>
82232
82233         * config/srclist.txt (longdouble.m4): sync lost.
82234
82235 2006-04-24  Eric Blake  <ebb9@byu.net>
82236
82237         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
82238
82239 2006-04-24  Bruno Haible  <bruno@clisp.org>
82240
82241         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
82242         poll() implementation in AIX.
82243         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82244
82245 2006-04-24  Bruno Haible  <bruno@clisp.org>
82246
82247         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
82248         assigned exactly once.
82249
82250 2006-04-23  Claudio Fontana  <claudio@gnu.org>
82251             Bruno Haible  <bruno@clisp.org>
82252
82253         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
82254         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
82255         for AM_CPPFLAGS.
82256
82257 2006-04-23  Bruno Haible  <bruno@clisp.org>
82258
82259         * modules/copy-file: Depend on unistd.
82260         * modules/execute: Likewise.
82261         * modules/fatal-signal: Likewise.
82262         * modules/findprog: Likewise.
82263         * modules/mkdtemp : Likewise.
82264         * modules/pipe: Likewise.
82265         * modules/wait-process: Likewise.
82266
82267 2006-04-23  Bruno Haible  <bruno@clisp.org>
82268
82269         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
82270         condition was already detected.
82271         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82272
82273 2006-04-23  Bruno Haible  <bruno@clisp.org>
82274
82275         * lib/copy-file.c: Include <unistd.h> unconditionally.
82276         * lib/execute.c: Likewise.
82277         * lib/fatal-signal.c: Likewise.
82278         * lib/findprog.c: Likewise.
82279         * lib/mkdtemp.c: Likewise.
82280         * lib/pipe.h: Likewise.
82281         * lib/pipe.c: Likewise.
82282         * lib/wait-process.h: Likewise.
82283
82284 2006-04-23  Bruno Haible  <bruno@clisp.org>
82285
82286         * gnulib-tool (func_usage): Fix --import description. Document
82287         --update.
82288         (func_import): Create temporary file in a temporary directory, if
82289         --dry-run is specified. Silence errors from 'grep' when there are no
82290         m4 files in $m4dir.
82291         (func_create_testdir): Silence errors from 'grep' when there are no
82292         m4 files in $m4dir.
82293         Reported by Karl Berry <karl@freefriends.org>.
82294
82295 2006-04-20  Bruno Haible  <bruno@clisp.org>
82296
82297         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
82298         one argument, so that the code will be portable to Autoconf 2.60.
82299         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
82300         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
82301         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
82302
82303 2006-04-19  Derek Price  <derek@ximbiot.com>
82304             Eric Blake  <ebb9@byu.net>
82305
82306         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
82307         rather than "/full/path.h".  Update comment to match.  Shorten &
82308         generalize m4_translit call via AS_TR_CPP.
82309
82310 2006-04-19  Derek Price  <derek@ximbiot.com>
82311             Eric Blake  <ebb9@byu.net>
82312
82313         * lib/inttypes.h: Correct grammar in comment.
82314
82315 2006-04-18  Derek Price  <derek@ximbiot.com>
82316             Paul Eggert  <eggert@cs.ucla.edu>
82317
82318         * modules/inttypes: New file.
82319         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
82320
82321 2006-04-18  Derek Price  <derek@ximbiot.com>
82322             Paul Eggert  <eggert@cs.ucla.edu>
82323
82324         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
82325         New files.
82326
82327 2006-04-18  Derek Price  <derek@ximbiot.com>
82328             Paul Eggert  <eggert@cs.ucla.edu>
82329
82330         * lib/inttypes.h: New file.
82331         * lib/strtoimax.c: Assume <inttypes.h>.
82332
82333 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
82334
82335         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
82336         isn't mounted.  Problem reported by Kir Kolyshkin.
82337
82338 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82339
82340         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
82341         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
82342         Derek R. Price.
82343         * lib/regex.h (RE_DUP_MAX): Update comment to match current
82344         implementation.
82345
82346 2006-04-12  Eric Blake  <ebb9@byu.net>
82347
82348         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
82349         is now done automatically by the corresponding Autoconf macro.
82350
82351 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
82352
82353         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
82354         time_r.h.
82355
82356 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82357
82358         Merge regex changes from libc, removing some of our
82359         POSIX-conformance changes that were rejected and redoing them in a
82360         less-intrusive way.
82361
82362         * lib/regcomp.c (re_compile_internal, init_dfa):
82363         Length arg is now size_t, not Idx.  All uses changed.
82364         (peek_token): Forward decl now says internal_function.
82365         (__re_error_msgid, __re_error_msgid_idx):
82366         Now static rather than extern with attribute_hidden.
82367         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
82368         For some reason libc prefers K&R style defns for external functions.
82369         (regerror) [!defined _LIBC]: Likewise.
82370         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
82371         (seek_collating_symbol_entry, lookup_collation_sequence_value):
82372         (build_range_exp, build_collating_symbol):
82373         Use K&R-style defn.
82374         (re_compile_fastmap): Use '\0' to memset, not 0.
82375         (utf8_sb_map): Make the calculations more obvious.
82376         (init_dfa, parse_bracket_exp, build_charclass_op):
82377         Call calloc and cast result, as glibc does.
82378         (init_word_char, fetch_token, peek_token, peek_token_bracket):
82379         (build_range_exp, build_collating_symbol):
82380         Now internal functions.
82381
82382         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
82383
82384         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
82385         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
82386         Don't depend on VMS; depend on __VMS instead, for POSIX
82387         namespace cleanness.
82388         (regoff_t): Define to ssize_t, not long int.
82389
82390         Remove the REG_ macros named below.  Instead, make the old names
82391         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
82392         __USE_GNU_REGEX.
82393         (REG_BACKSLASH_ESCAPE_IN_LISTS):
82394         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
82395         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
82396         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
82397         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
82398         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
82399         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
82400         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
82401         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
82402         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
82403         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
82404         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
82405         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
82406         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
82407         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
82408         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
82409         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
82410         (REG_NREGS):
82411         Remove.  All uses replaced by the old RE_* names.
82412         (RE_BACKSLASH_ESCAPE_IN_LISTS):
82413         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
82414         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
82415         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
82416         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
82417         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
82418         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
82419         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
82420         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
82421         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
82422         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
82423         Don't bother having these macros be independent of each others'
82424         values, since they no longer exist in the POSIX name space.
82425
82426         Rename the following member names back to their old names,
82427         unless !__USE_GNU_REGEX.  All uses changed back.
82428         (buffer): Renamed from re_buffer.
82429         (allocated): Renamed from re_allocated.
82430         (used): Renamed from re_used.
82431         (syntax): Renamed from re_syntax.
82432         (fastmap): Renamed from re_fastmap.
82433         (translate): Renamed from re_translate.
82434         (can_be_null): Renamed from re_can_be_null.
82435         (regs_allocated): Renamed from re_regs_allocated.
82436         (fastmap_accurate): Renamed from re_fastmap_accurate.
82437         (no_sub): Renamed from re_no_sub.
82438         (not_bol): Renamed from re_not_bol.
82439         (not_eol): Renamed from re_not_eol.
82440         (newline_anchor): Renamed from re_newline_anchor.
82441         (num_regs): Renamed from rm_num_regs.
82442         (start): Renamed from rm_start.
82443         (end): Renamed from rm_end.
82444
82445         (free_state): Move up a bit.
82446
82447         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
82448         #define to be empty.
82449         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
82450         when that is what is intended.
82451         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
82452         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
82453         (MAX): New macro.
82454         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
82455         All uses changed back to re_malloc, etc.  It's now the caller's
82456         responsibility to check for overflow; all callers changed.
82457         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82458         (re_x2nrealloc): Remove.
82459         (free_state): Remove decl.
82460
82461         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82462         (re_set_registers, re_exec):
82463         Use K&R-style defn.
82464
82465         2006-01-31  Roland McGrath  <roland@redhat.com>
82466
82467         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82468         Reported by Mike Frysinger <vapier@gentoo.org>.
82469
82470         2006-01-15  Andreas Jaeger  <aj@suse.de>
82471
82472         [BZ #1950]
82473         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82474         build_wcs_upper_buffer change.
82475         (build_wcs_upper_buffer): Change return type.
82476
82477         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82478
82479         * lib/regex_internal.h: Include <stdint.h> if available.
82480
82481         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82482
82483         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82484
82485         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82486
82487         * lib/regcomp.c: Adjust for changed secondary hash function.
82488
82489         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82490
82491         * lib/regex.h: Pretty printing.
82492         Clean up namespace a bit.
82493
82494         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82495
82496         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82497         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82498
82499         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82500                     Ulrich Drepper  <drepper@redhat.com>
82501
82502         [BZ #1302]
82503         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82504         changed.
82505         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82506
82507         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82508
82509         [BZ #281]
82510         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82511         * lib/regcomp.c: Remove unnecessary uses of
82512         unsigned RE_TRANSLATE_TYPE.
82513         * lib/regex_internal.h: Likewise.
82514         * lib/regex_internal.c: Likewise.
82515         * lib/regexec.c: Likewise.
82516         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82517
82518         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82519
82520         * lib/regexec.c (find_recover_state): Remove unnecessary
82521         initialization.
82522         (transit_state_bkref): Make DFA a const pointer.
82523         (get_subexp): Likewise.
82524         (check_arrival): Likewise.
82525         (update_cur_sifted_state): Likewise.
82526         (re_search_internal): Likewise.
82527         (prune_impossible_nodes): Likewise.
82528         (acquire_init_state_context): Likewise.
82529         (proceed_next_node): Likewise.
82530         (set_regs): Likewise.
82531         (free_fail_stack_return): Likewise.
82532         (check_arrival_expand_ecl): Mark DFA parameter as const.
82533         (check_arrival_expand_ecl_sub): Likewise.
82534         (check_subexp_limits): Likewise.
82535         (sub_epsilon_src_nodes):  Likewise.
82536         (add_epsilon_src_nodes):  Likewise.
82537         (merge_state_array): Likewise.
82538         (update_regs): Likewise.
82539         (build_trtable): Likewise.
82540         (sift_states_backward): Mark MCTX parameter as const.
82541         (build_sifted_states): Likewise.
82542         (update_cur_sifted_state): Likewise.
82543         (sift_states_mkref): Likewise.
82544         (check_arrival_expand_ecl): Mark eclosure as const.
82545         (check_dst_limits_calc_pos_1): Likewise.
82546         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82547         pointer.
82548
82549         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82550
82551         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82552         (transit_state_sb): Likewise.
82553         (transit_state_mb): Likewise.
82554         (sift_states_iter_mb): Likewise.
82555         (check_arrival_add_next_nodes): Likewise.
82556         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82557         [_LIBC] (re_search_2_stub): Use mempcpy.
82558
82559         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82560         mbrtowc for very simple UTF-8 case.
82561
82562         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82563         a pointer-to-const.
82564         (re_acquire_state_context): Likewise.
82565         * lib/regex_internal.h: Adjust prototypes.
82566
82567         * lib/regex.c: Prevent using C++ compilers.
82568
82569         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82570         (re_acquire_state_context): Likewise.
82571
82572 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82573
82574         * modules/regex (Depends-on): Add ssize_t.
82575
82576 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82577
82578         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82579         translation table.
82580
82581 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82582
82583         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82584
82585 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82586             Bruno Haible  <bruno@clisp.org>
82587
82588         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82589         <sys/types.h> and <inttypes.h>.
82590
82591 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82592
82593         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82594         `__error_t_defined', so argp.h will not typedef the former.
82595
82596 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82597
82598         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82599         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82600         glibc names.  Even if glibc is changed to conform to POSIX, the
82601         traditional names will be available anyway, since regex depends on
82602         the extensions module.  Also, fix a longstanding typo in the
82603         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82604         reported by Emanuele Giaquinta.  Also, change sense of cached
82605         variable, so that the message makes sense.
82606
82607 2006-03-24  Simon Josefsson  <jas@extundo.com>
82608
82609         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82610         including some doc fixes.
82611         (base64_encode_alloc): Fix +1 bug on allocation failures.
82612
82613 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82614
82615         * lib/base64.c (base64_encode): Do not read past end of array with
82616         unsanitized input on systems with CHAR_BIT > 8.
82617
82618 2006-03-24  Eric Blake  <ebb9@byu.net>
82619
82620         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82621
82622 2006-03-22  Karl Berry  <karl@gnu.org>
82623
82624         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82625         * config/srclistvars.sh (COREUTILS): new var.
82626
82627 2006-03-17  Jim Meyering  <jim@meyering.net>
82628
82629         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82630         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82631
82632 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82633
82634         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82635         no longer needs it.  Instead, check that regoff_t is as least
82636         as wide as ptrdiff_t.
82637
82638         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82639         so that our regex.h stays compatible with the installed regex.
82640         This is helpful for installers who configure --without-included-regex.
82641         Problem reported by Emanuele Giaquinta.
82642
82643 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82644
82645         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82646         Typedef to long int, not to off_, as POSIX will likely change
82647         in that direction.
82648
82649 2006-03-15  Eric Blake  <ebb9@byu.net>
82650
82651         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82652
82653 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82654
82655         * lib/argp-help.c (validate_uparams): Fix typo
82656         * lib/argp-parse.c (argp_default_options): Consistently begin help
82657         messages with a lowercase letter.
82658
82659 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82660
82661         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82662         overrun buffers and shouldn't be used (much as gets shouldn't be
82663         used).
82664         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82665
82666 2006-03-08  Simon Josefsson  <jas@extundo.com>
82667
82668         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82669         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82670
82671 2006-03-08  Simon Josefsson  <jas@extundo.com>
82672
82673         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82674         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82675
82676 2006-03-08  Simon Josefsson  <jas@extundo.com>
82677
82678         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82679         signal that configure disabled the device.
82680
82681 2006-03-08  Simon Josefsson  <jas@extundo.com>
82682
82683         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82684         languages.
82685
82686 2006-03-07  Simon Josefsson  <jas@extundo.com>
82687
82688         * modules/getopt (Depends-on): Add unistd.
82689
82690         * modules/unistd: New file.
82691
82692 2006-03-07  Simon Josefsson  <jas@extundo.com>
82693
82694         * modules/gc-random: New file.
82695
82696 2006-03-07  Simon Josefsson  <jas@extundo.com>
82697
82698         * m4/unistd_h.m4: New file.
82699
82700 2006-03-07  Simon Josefsson  <jas@extundo.com>
82701
82702         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82703         test to be side-effect free by storing the result in the cache
82704         variable gl_cv_lib_readline, and moving the assignment of
82705         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82706         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82707
82708 2006-03-07  Simon Josefsson  <jas@extundo.com>
82709
82710         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82711         error on missing devices (the functions will return an error).
82712
82713         * m4/gc.m4: Move random stuff to gc-random.m4
82714
82715 2006-03-07  Simon Josefsson  <jas@extundo.com>
82716
82717         * lib/unistd_.h: New file.
82718
82719 2006-03-07  Simon Josefsson  <jas@extundo.com>
82720
82721         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82722
82723 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82724
82725         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82726         Problem reported by Juan Manuel Guerrero.
82727
82728 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82729
82730         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82731         the unistd module.
82732         * lib/getlogin_r.c: Likewise.
82733         * lib/getlogin_r.h: Likewise.
82734         * lib/glob.c: Likewise.
82735         * lib/pagealign_alloc.c: Likewise.
82736         * lib/unistd_.h: Remove; no longer needed.
82737
82738 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82739
82740         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82741         Add unistd.
82742         * modules/c-stack (Depends-on): Add unistd.
82743         * modules/getlogin_r: Likewise.
82744         * modules/glob: Likewise.
82745         * modules/pagealign_alloc: Likewise.
82746         * modules/unistd (Files): Remove lib/unistd_.h.
82747         (EXTRA_DIST): Remove.
82748         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82749         need unistd_.h.
82750         (MOSTLYCLEANFILES): Remove unistd.h-t.
82751
82752 2006-03-03  Simon Josefsson  <jas@extundo.com>
82753
82754         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82755
82756 2006-03-03  Simon Josefsson  <jas@extundo.com>
82757
82758         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82759         libidn and bison.
82760
82761 2006-03-03  Simon Josefsson  <jas@extundo.com>
82762
82763         * build-aux/maint.mk: Add indent target.
82764
82765 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82766
82767         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82768         our replacement poll.h in any case, to avoid a differing
82769         declaration from a system header.  Seen on AIX.
82770
82771 2006-03-01  Simon Josefsson  <jas@extundo.com>
82772
82773         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82774         <kasal@ucw.cz>.
82775
82776 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82777
82778         * modules/gettime (Depends-on): Add extensions module.
82779         * modules/nanosleep (Depends-on): Likewise.
82780         * modules/settime (Depends-on): Likewise.
82781
82782 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82783
82784         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82785         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82786         pedantically.
82787         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82788         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82789
82790         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82791         not "==".  Reported by Ralf Wildenhues.
82792
82793 2006-03-01  Karl Berry  <karl@gnu.org>
82794
82795         * doc/Copyright/request-*: new files, synced from gnuorg.
82796
82797 2006-03-01  Karl Berry  <karl@gnu.org>
82798
82799         * config/srclist.txt (Copyright/*): new entries.
82800
82801 2006-02-28  Simon Josefsson  <jas@extundo.com>
82802
82803         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82804
82805 2006-02-27  Simon Josefsson  <jas@extundo.com>
82806
82807         * lib/base64.h: Indent #define's.  From Jim Meyering
82808         <jim@meyering.net>.
82809
82810 2006-02-27  Jim Meyering  <jim@meyering.net>
82811
82812         Revert the change of 2006-02-24, so these files can continue
82813         to be sync'd from gettext.
82814         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82815         of `config.h'.
82816
82817 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82818
82819         * modules/intprops: New file.
82820         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82821         Add intprops.
82822         * modules/getloadavg (Files): Remove lib/intprops.h.
82823         (Depends-on): Add intprops.
82824         * modules/human: Likewise.
82825         * modules/inttostr: Likewise.
82826         * modules/openat: Likewise.
82827         * modules/sig2str: Likewise.
82828         * modules/userspec: Likewise.
82829         * modules/utimecmp: Likewise.
82830         * modules/xnanosleep: Likewise.
82831         * modules/xstrtol: Likewise.
82832
82833 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82834
82835         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82836         * modules/lock-tests (TESTS): Use $(EXEEXT).
82837         * modules/tls-tests: Likewise.
82838         * modules/argp-tests: Likewise.
82839         (check_PROGRAMS): New var, replacing...
82840         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82841
82842 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82843
82844         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82845         `config.h'.
82846
82847 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82848
82849         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82850
82851 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82852
82853         Sync from coreutils.
82854         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82855         gl_CHDIR_SAFER.
82856
82857 2006-02-22  Jim Meyering  <jim@meyering.net>
82858
82859         Sync from coreutils.
82860         * m4/chdir-safer.m4: New file.
82861
82862 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82863
82864         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82865         AT_FDCWD exceeds INT_MAX.
82866         * lib/openat.h (AT_FDCWD): Likewise.
82867
82868 2006-02-17  Eric Blake  <address@hidden>
82869
82870         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82871
82872 2006-02-16  Simon Josefsson  <jas@extundo.com>
82873
82874         * modules/getaddrinfo (Depends-on): Add sys_socket.
82875
82876 2006-02-15  Simon Josefsson  <jas@extundo.com>
82877
82878         * build-aux/maint.mk: Add dsyntax-check rule.
82879
82880 2006-02-15  Eric Blake  <ebb9@byu.net>
82881
82882         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82883         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82884         'present but cannot compile' warnings on cygwin.
82885         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82886         use ws2tcpip.h if sys/socket.h works.
82887         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82888         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82889
82890 2006-02-14  Simon Josefsson  <jas@extundo.com>
82891
82892         * modules/maintainer-makefile (Files): Rename.
82893
82894         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82895         and (the local) Makefile.cfg to maint-cfg.mk.
82896
82897         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82898         to the latter.
82899
82900         * modules/maintainer-makefile: New module.
82901
82902         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82903         severaly stripped to make it possible to build it up from scratch
82904         with reliable tests.
82905
82906         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82907         fixes to permit overriding the default actions when configure and
82908         makefile are not available.
82909
82910 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82911
82912         Sync from coreutils.
82913         * modules/lstat (Depends-on): Don't depend on xalloc.
82914         (License): Change from GPL to LGPL, since this is now simply a
82915         replacement for a libc function.
82916
82917 2006-02-14  Jim Meyering  <jim@meyering.net>
82918
82919         Sync from coreutils.
82920
82921         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82922         failure on deficient systems, and simplify gnulib lgpl dependencies.
82923         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82924         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82925
82926         * lib/xalloc-die.c: Remove unused definition of N_.
82927
82928 2006-02-14  Jim Meyering  <jim@meyering.net>
82929
82930         Sync from coreutils.
82931         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82932         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82933         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82934         double-quote uses of that variable, to accommodate the rare case in
82935         which getmntent is available in none of the libraries checked.  This
82936         happens at least on FreeBSD 5.0.
82937
82938 2006-02-13  Simon Josefsson  <jas@extundo.com>
82939
82940         * gnulib-tool (Usage): Fix --import, from
82941         karl@freefriends.org (Karl Berry).
82942
82943 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82944
82945         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82946
82947 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82948
82949         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82950         "autoupdate" on 2005-12-12.
82951
82952 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82953
82954         * modules/closeout (Depends-on): Remove atexit.
82955
82956 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82957
82958         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82959         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82960
82961 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82962
82963         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82964         __EXTENSIONS__ if this causes compilation to fail.  Problem
82965         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82966         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82967
82968 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82969
82970         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82971         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82972         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82973         All uses changed.
82974
82975 2006-01-26  Simon Josefsson  <jas@extundo.com>
82976
82977         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82978         prototype is visible on mingw32.
82979
82980         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82981         for mingw32.
82982
82983         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82984         mingw32).
82985
82986 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82987
82988         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82989         attempt to open for write; this always fails, at least on POSIX
82990         hosts.  This reinstates the 2006-01-09 change, which was
82991         inadvertently removed.
82992
82993 2006-01-26  Bruno Haible  <bruno@clisp.org>
82994
82995         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82996         Reported by Paul Eggert.
82997
82998 2006-01-26  Bruno Haible  <bruno@clisp.org>
82999             Paul Eggert  <eggert@cs.ucla.edu>
83000
83001         * lib/stdbool_.h (_Bool)
83002         [(! (defined __cplusplus || defined __BEOS__)
83003           && !defined __GNUC__
83004           && !(defined __HP_cc || defined __xlc__
83005                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
83006                || defined __sgi))]:
83007         #define to signed char in these cases too; this simplifies
83008         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
83009         etc., separately) and makes it more conservative.
83010
83011 2006-01-25  Simon Josefsson  <jas@extundo.com>
83012
83013         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
83014         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
83015         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
83016
83017 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83018
83019         * lib/argp-namefrob.h: Bugfix. Remove stray #
83020
83021 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
83022
83023         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
83024         so that we test the test.
83025         Check for yet another HP-UX cc bug involving *bool |= bool.
83026
83027 2006-01-25  Karl Berry  <karl@gnu.org>
83028
83029         * config/srclist.txt (vasnprintf.c): sync lost.
83030
83031 2006-01-25  Jim Meyering  <jim@meyering.net>
83032
83033         Sync from the stable (b5) branch of coreutils:
83034
83035         * lib/fts.c (fts_children): Don't let close() clobber errno from
83036         failed fchdir().
83037
83038         * lib/fts.c (fts_stat): When following a symlink-to-directory,
83039         don't necessarily interpret stat-fails+lstat-succeeds as indicating
83040         a dangling symlink.  That can also happen at least for ELOOP.
83041         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
83042         FYI, this bug predates the inclusion of fts.c in coreutils.
83043
83044         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
83045         in their own block, so pre-c99 compilers don't object.
83046
83047         Avoid the double-free (first in fts_read, second in fts_close) that
83048         would occur when an `active' directory is made inaccessible (e.g.,
83049         via chmod a-x) during a traversal.
83050         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83051         before returning.  Reproduce this failure by
83052         mkdir -p a/b; cd a; chmod a-x . b
83053         Reported by Stavros Passas.
83054
83055 2006-01-25  Jim Meyering  <jim@meyering.net>
83056
83057         * lib/fileblocks.c: Remove more useless parentheses.
83058         * lib/readutmp.h: Likewise.
83059
83060 2006-01-25  Bruno Haible  <bruno@clisp.org>
83061
83062         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
83063         warnings.
83064         Reported by Paul Eggert.
83065
83066 2006-01-25  Bruno Haible  <bruno@clisp.org>
83067
83068         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
83069         rid of a trap command. For Solaris sh.
83070         Reported by Mark D. Baushke <mdb@gnu.org>.
83071
83072 2006-01-24  Simon Josefsson  <jas@extundo.com>
83073
83074         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
83075         Bruno.
83076
83077 2006-01-24  Karl Berry  <karl@gnu.org>
83078
83079         * config/srclist.txt (argp-namefrob.h): sync lost.
83080
83081 2006-01-24  Jim Meyering  <jim@meyering.net>
83082
83083         * modules/openat (Files): Add lib/intprops.h.
83084         From Mark D. Baushke.
83085
83086 2006-01-24  Jim Meyering  <jim@meyering.net>
83087
83088         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
83089         Reported by Mark D. Baushke.
83090
83091 2006-01-24  Jim Meyering  <jim@meyering.net>
83092
83093         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
83094
83095 2006-01-24  Bruno Haible  <bruno@clisp.org>
83096
83097         * modules/strnlen (Maintainer): Change from glibc to all.
83098
83099 2006-01-24  Bruno Haible  <bruno@clisp.org>
83100
83101         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
83102         Patch by Paul Eggert.
83103
83104 2006-01-24  Bruno Haible  <bruno@clisp.org>
83105
83106         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
83107         already has it.
83108         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
83109         2005-11-26.
83110
83111         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
83112         'signed char' to avoid problems with the built-in _Bool type.
83113         Reported by Paul Eggert on 2005-11-26.
83114
83115 2006-01-24  Bruno Haible  <bruno@clisp.org>
83116
83117         * gnulib-tool (func_import): Avoid constructing complicated sed
83118         expressions inside backquote.
83119         Report and solution by Mark D. Baushke <mdb@gnu.org>.
83120
83121 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
83122
83123         These changes imported from libc.
83124         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
83125         test and two separate function calls.
83126         * lib/strndup.c (__strndup): Add libc_hidden_def.
83127
83128 2006-01-23  Simon Josefsson  <jas@extundo.com>
83129
83130         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
83131         Remove the test_*_SOURCES variable: automake infers it by default.
83132         * modules/tls-tests: Likewise.
83133
83134 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83135
83136         Work around porting bugs reported by Dieter in
83137         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
83138         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
83139         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
83140         Include "getopt.h" first, to check interface.
83141         (getenv): Declare only if defined HAVE_DECL_GETENV &&
83142         !HAVE_DECL_GETENV.
83143         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
83144         (__strndup): Revert to K&R-style function dfns, the glibc style.
83145         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
83146         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
83147         Include strnlen.h first, to get prototype properly.
83148         (strnlen): Renamed from __strnlen.
83149         Remove weak alias.
83150
83151 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83152
83153         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
83154
83155 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83156
83157         * config/srclist.txt: Adjust to reflect glibc reorganization.
83158         This affects only comments.
83159
83160 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83161
83162          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
83163          Reported by Bruce Korb <bkorb@gnu.org>.
83164
83165 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
83166
83167         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
83168         to pacify gcc -Wswitch-default.
83169
83170 2006-01-22  Bruno Haible  <bruno@clisp.org>
83171
83172         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
83173         temporary buffer for sprintf, take into account the precision also
83174         for 'd', 'i', 'u', 'o', 'x', 'X'.
83175
83176 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83177
83178         * modules/argp-tests: New module
83179         * tests/test-argp.c: New file
83180         * tests/test-argp-2.sh: New file
83181
83182 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83183
83184         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
83185         (__argp_base_name): Removed
83186         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
83187         typo.
83188         (__argp_base_name): Provide macro definition or extern declaration
83189         depending on the configuration
83190
83191 2006-01-20  Simon Josefsson  <jas@extundo.com>
83192
83193         * modules/inet_ntop (Depends-on): Depend on sys_socket.
83194
83195 2006-01-20  Simon Josefsson  <jas@extundo.com>
83196
83197         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
83198
83199 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83200
83201         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
83202         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
83203         Suggested by Bruno Haible.
83204
83205 2006-01-20  Karl Berry  <karl@gnu.org>
83206
83207         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
83208         until changes propagate, I guess.
83209
83210 2006-01-19  Simon Josefsson  <jas@extundo.com>
83211
83212         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
83213
83214 2006-01-19  Simon Josefsson  <jas@extundo.com>
83215
83216         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
83217
83218 2006-01-19  Simon Josefsson  <jas@extundo.com>
83219
83220         * gnulib-tool: Set check_PROGRAMS.
83221
83222         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83223         modules/des-tests, modules/gc-arcfour-tests,
83224         modules/gc-arctwo-tests, modules/gc-des-tests,
83225         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83226         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83227         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83228         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83229         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83230         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
83231         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
83232         test_*_SOURCES.
83233
83234 2006-01-18  Simon Josefsson  <jas@extundo.com>
83235
83236         * modules/socklen (Depends-on): Depend on sys_socket.
83237
83238 2006-01-18  Simon Josefsson  <jas@extundo.com>
83239
83240         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83241         modules/des-tests, modules/gc-arcfour-tests,
83242         modules/gc-arctwo-tests, modules/gc-des-tests,
83243         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83244         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83245         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83246         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83247         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83248         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
83249         $(EXEEXT) to automake TESTS variable, for mingw32.
83250
83251 2006-01-17  Simon Josefsson  <jas@extundo.com>
83252
83253         * modules/socklen (Include): Need sys/socket.h.
83254
83255 2006-01-17  Bruno Haible  <bruno@clisp.org>
83256
83257         * modules/ssize_t (Include): Add <sys/types.h>.
83258
83259 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
83260
83261         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
83262         it's not portable and it doesn't work with cross-compiles.
83263         Problem reported by Bruno Haible.  Fix missing-$ typo in
83264         'test "gl_cv_ignore_unused_libraries" ...' that prevented
83265         -zignore from being used with Sun's C compiler.
83266
83267 2006-01-12  Simon Josefsson  <jas@extundo.com>
83268
83269         * lib/base64.c: Fix warning, reported by Bruno Haible
83270         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
83271
83272 2006-01-12  Bruno Haible  <bruno@clisp.org>
83273
83274         * modules/ldd: New file.
83275         * build-aux/ldd.sh.in: New file.
83276         * MODULES.html.sh (Support for building libraries and executables): Add
83277         ldd.
83278
83279 2006-01-12  Bruno Haible  <bruno@clisp.org>
83280
83281         * m4/ldd.m4: New file.
83282
83283 2006-01-12  Bruno Haible  <bruno@clisp.org>
83284
83285         * gnulib-tool (func_import, func_create_testdir): Don't go into an
83286         endless loop while replacing $auxdir with build-aux.
83287
83288 2006-01-11  Simon Josefsson  <jas@extundo.com>
83289
83290         * lib/stdint_.h (SIZE_MAX): Add missing (.
83291
83292 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
83293
83294         Sync from coreutils.
83295         * lib/md5.c: Fix commentary typos.
83296         (alignof, UNALIGNED_P): No need for a GCC-specific version.
83297         * lib/md5.h (__attribute__): Remove; unused.
83298         * lib/sha1.c: Fix commentary to match md5 better.
83299         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
83300         so that we don't need to worry about alignment.  All uses changed.
83301         This merges the 2005-10-28 md5 change into sha1.
83302
83303 2006-01-11  Jim Meyering  <jim@meyering.net>
83304
83305         Sync from coreutils.
83306         * lib/md5.c (OP): Fix spacing.
83307
83308 2006-01-11  Bruno Haible  <bruno@clisp.org>
83309
83310         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83311         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
83312         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
83313
83314 2006-01-11  Bruno Haible  <bruno@clisp.org>
83315
83316         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83317         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
83318         the "early" section as well.
83319
83320 2006-01-11  Bruno Haible  <bruno@clisp.org>
83321
83322         Avoid "ar: no archive members specified" error on MacOS X.
83323         * gnulib-tool (func_modules_add_dummy): New function.
83324         (func_import, func_create_testdir): Invoke it.
83325
83326 2006-01-11  Bruno Haible  <bruno@clisp.org>
83327
83328         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
83329         with $auxdir in AC_CONFIG_FILES statements.
83330
83331 2006-01-11  Bruno Haible  <bruno@clisp.org>
83332
83333         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
83334         Initialize also noinst_HEADERS to empty.
83335
83336 2006-01-11  Bruno Haible  <bruno@clisp.org>
83337
83338         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
83339         variables.
83340         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
83341         autoreconf.
83342
83343 2006-01-11  Bruno Haible  <bruno@clisp.org>
83344
83345         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
83346         overridable by the user.
83347         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83348
83349 2006-01-10  Simon Josefsson  <jas@extundo.com>
83350
83351         * modules/sys_socket: New file.
83352
83353 2006-01-10  Simon Josefsson  <jas@extundo.com>
83354
83355         * m4/sys_socket_h.m4: New file.
83356
83357 2006-01-10  Simon Josefsson  <jas@extundo.com>
83358
83359         * lib/socket_.h: New file.
83360
83361 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83362
83363         * modules/readutmp (Maintainer): Add myself.
83364
83365 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83366
83367         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
83368         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
83369         People who are still concerned with buggy memcmp implementations
83370         can invoke gl_FUNC_MEMCMP themselves.
83371
83372 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83373
83374         * lib/regex_internal.h (BITSET_WORD_BITS):
83375         Work around a bug in 64-bit PGC (before version 6.1-2), where the
83376         preprocessor mishandles large unsigned values as if they were signed.
83377         Problem reported by Claudio Fontana in
83378         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
83379
83380 2006-01-10  Jim Meyering  <jim@meyering.net>
83381
83382         Avoid the double-free (first in fts_read, second in fts_close) that
83383         would occur when an `active' directory is made inaccessible (e.g.,
83384         via chmod a-x) during a traversal.
83385         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83386         before returning.  Reproduce this failure by
83387         mkdir -p a/b; cd a; chmod a-x . b
83388         Reported by Stavros Passas.
83389
83390         Sync from coreutils.
83391         * lib/sha1.c: Tweak grammar in a comment.
83392
83393 2006-01-10  Jim Meyering  <jim@meyering.net>
83394
83395         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
83396         Patch by Joerg Sonnenberger.
83397
83398 2006-01-10  Bruno Haible  <bruno@clisp.org>
83399
83400         * modules/readutmp: Depend on module free.
83401         * modules/strtok_r: Depend on module restrict.
83402
83403 2006-01-10  Bruno Haible  <bruno@clisp.org>
83404
83405         * modules/gettext (configure.ac): Add an invocation of
83406         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
83407
83408 2006-01-10  Bruno Haible  <bruno@clisp.org>
83409
83410         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
83411         Reported by Werner Lemberg <wl@gnu.org>.
83412
83413 2006-01-10  Bruno Haible  <bruno@clisp.org>
83414
83415         * lib/localcharset.c: Update from GNU gettext.
83416
83417 2006-01-10  Bruno Haible  <bruno@clisp.org>
83418
83419         * lib/argp.h (__const): Remove macro. Use const instead.
83420         * lib/argp-fmtstream.h (__const): Likewise.
83421         * lib/glob_.h (__const): Remove macro.
83422         * lib/glob-libc.h: Use const instead of __const.
83423
83424 2006-01-10  Bruno Haible  <bruno@clisp.org>
83425
83426         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
83427         variable.
83428         Needed to avoid an automake error regarding the 'gettext' module.
83429
83430 2006-01-09  Simon Josefsson  <jas@extundo.com>
83431
83432         * modules/inet_ntop (Depends-on): Add restrict.
83433
83434 2006-01-09  Simon Josefsson  <jas@extundo.com>
83435
83436         * modules/gc-rijndael-tests (License): Put under LGPL.
83437
83438         * modules/gc-des-tests (License): Likewise.
83439
83440         * modules/gc-arcfour-tests (License): Likewise.
83441
83442         * modules/gc-arctwo-tests (License): Likewise.
83443
83444         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
83445
83446         * modules/gc-hmac-sha1-tests (Files): Likewise.
83447
83448         * modules/gc-hmac-md5-tests (License): Likewise.
83449
83450         * modules/gc-sha1-tests (License): Likewise.
83451
83452         * modules/gc-md5-tests (License): Likewise.
83453
83454         * modules/gc-md4-tests (License): Likewise.
83455
83456         * modules/gc-md2-tests (License): Likewise.
83457
83458         * modules/gc-tests (License): Likewise.
83459
83460         * modules/des-tests (License): Likewise.
83461
83462         * modules/md4-tests (License): Likewise.
83463
83464         * modules/md2-tests (License): Likewise.
83465
83466 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83467
83468         Sync from coreutils:
83469
83470         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83471         * modules/lib-ignore: New file.
83472         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83473         chdir-safer.m4, lchmod.m4.
83474         * modules/openat: Add mkdirat.c, openat-priv.h.
83475
83476 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83477
83478         Sync from coreutils.
83479         * m4/lib-ignore.m4: New file.
83480         * m4/lchmod.m4: New file.
83481
83482 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83483
83484         Sync from coreutils.
83485         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83486         for write access: POSIX says that must fail.
83487         * lib/fts.c (diropen): Likewise.
83488         * lib/save-cwd.c (save_cwd): Likewise.
83489         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83490         well, for minor improvements on hosts that lack O_DIRECTORY.
83491         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83492         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83493         Fall back on chown if open failed with EACCES.
83494
83495         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83496         Report an error at compile-time if only a 1-second nominal clock
83497         resolution is found.
83498
83499         * lib/lchmod.h: New file.
83500         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83501         (make_dir_parents): Use lchown rather than chown, and
83502         lchmod rather than chmod.
83503
83504         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83505         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83506         "proc" reported by n0dalus.
83507
83508         * lib/mountlist.c: Include <limits.h>.
83509         (dev_from_mount_options)
83510         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83511         New function.  It no longer assumes "dev=" has the System V meaning
83512         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83513         (read_file_system_list)
83514         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83515         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83516         dev= in that case.
83517
83518         * lib/posixtm.h (PDS_PRE_2000): New macro.
83519         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83520         allow_century.  All usages changed.  Reject dates outside the range
83521         1969-1999 if PDS_PRE_2000 is used.
83522
83523 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83524
83525         Sync from coreutils.
83526         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83527         (Time of day items): Mention the possibility of leap seconds.
83528         Problem reported by Dr. David Alan Gilbert.
83529
83530 2006-01-09  Jim Meyering  <jim@meyering.net>
83531
83532         Sync from coreutils.
83533
83534         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83535
83536         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83537
83538         * lib/modechange.c (mode_compile): Reject an invalid mode string
83539         that starts with an octal digit.  From Andreas Gruenbacher.
83540
83541         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83542         and dup to open_safer and dup_safer, respectively.
83543         (openat_permissive): Fix typo in comment.
83544
83545         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83546         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83547         (_): Remove; no longer needed.
83548         (openat): Renamed from rpl_openat; no need for rpl_openat
83549         since openat.h renames openat for us.
83550         Replace most of the body with a call to openat_permissive,
83551         to avoid duplicate code.
83552         Port to (probably hypothetical) environments were mode_t is
83553         wider than int.
83554         (openat_permissive): Require mode arg, so that we can check
83555         types better.  Put it just after flags.  Change cwd failure
83556         indicator from pointer-to-bool to pointer-to-errno-value.
83557         All callers changed.
83558         Invoke openat_save_fail and/or openat_restore_fail if
83559         cwd_errno is null, so that openat can call us.
83560         (openat_permissive, fdopendir, fstatat, unlinkat):
83561         Simplify errno handling to avoid some duplicate code,
83562         as it's OK to set errno on success.
83563         * lib/openat.h: Revamp code so that function macros depend on
83564         __OPENAT_PREFIX only, not also on AT_FDCWD.
83565         (openat_ro): Remove.  Caller changed to use openat_permissive.
83566         (openat_permissive): Now a macro, if not a function.
83567         (openat_restore_fail, openat_save_fail): Now always functions,
83568         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83569
83570         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83571         and openat.c.
83572         * lib/mkdirat.c: Include openat-priv.h.
83573         Remove definitions of macros defined therein.
83574         * lib/openat.c: Likewise.
83575
83576         * lib/mkdirat.c (mkdirat): New file and function.
83577         * lib/openat.h (mkdirat): Declare.
83578
83579         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83580
83581         * lib/openat.h (openat_permissive): Declare.
83582         (openat_ro): Define.
83583
83584         * lib/openat.c (EXPECTED_ERRNO): New macro.
83585         (openat_permissive): New function -- used in remove.c rewrite.
83586         (all functions): Set errno just before returning, only if there
83587         was an actual failure.
83588         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83589
83590         Emulate openat-family functions using Linux's procfs, if possible.
83591         Idea and some code based on Ulrich Drepper's glibc changes.
83592
83593         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83594         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83595         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83596         before falling back on save_cwd and restore_cwd.
83597         (fdopendir, fstatat, unlinkat): Likewise.
83598
83599         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83600         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83601
83602         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83603         as second argument to va_arg.  Otherwise, some versions of gcc
83604         warn that `if this code is reached, the program will abort'.
83605
83606 2006-01-09  Jim Meyering  <jim@meyering.net>
83607
83608         Sync from coreutils.
83609         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83610         Require openat-priv.h.
83611
83612 2006-01-09  Bruno Haible  <bruno@clisp.org>
83613
83614         * modules/strnlen (Include): Use strnlen.h.
83615
83616 2006-01-09  Bruno Haible  <bruno@clisp.org>
83617
83618         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83619
83620 2006-01-09  Bruno Haible  <bruno@clisp.org>
83621
83622         * lib/sysexit_.h (EX_OK): New macro.
83623         Suggested by Martin Lambers <marlam@marlam.de>.
83624
83625 2006-01-09  Bruno Haible  <bruno@clisp.org>
83626
83627         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83628         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83629
83630 2006-01-09  Bruno Haible  <bruno@clisp.org>
83631
83632         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83633         numbers.
83634
83635 2006-01-09  Bruno Haible  <bruno@clisp.org>
83636
83637         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83638         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83639         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83640         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83641
83642 2006-01-09  Bruno Haible  <bruno@clisp.org>
83643
83644         * build-aux/javacomp.sh.in: New file, moved from lib/.
83645         * modules/javacomp-script (Files): Update.
83646         (configure.ac): Add AC_CONFIG_FILES invocation.
83647         (EXTRA_DIST): Remove variable.
83648
83649         * build-aux/javaexec.sh.in: New file, moved from lib/.
83650         * modules/javaexec (Files): Update.
83651         (configure.ac): Add AC_CONFIG_FILES invocation.
83652         (EXTRA_DIST): Remove javaexec.sh.in.
83653
83654         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83655         * modules/csharpcomp-script (Files): Update.
83656         (configure.ac): Add AC_CONFIG_FILES invocation.
83657         (EXTRA_DIST): Remove variable.
83658
83659         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83660         * modules/csharpexec (Files): Update.
83661         (configure.ac): Add AC_CONFIG_FILES invocation.
83662         (EXTRA_DIST): Remove csharpexec.sh.in.
83663
83664 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83665
83666         Sync from coreutils.
83667
83668         Add POSIX ACL support
83669         * lib/acl.h (copy_acl, set_acl): Add declarations.
83670         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83671         systems other than Linux.
83672         (chmod_or_fchmod): New function: use fchmod when possible,
83673         and chmod otherwise.
83674         (file_has_acl): Add a POSIX ACL implementation, with a
83675         Linux-specific subcase.
83676         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83677         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83678         acls are unsupported.
83679         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83680         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83681         are unsupported.
83682
83683 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83684
83685         Sync from coreutils.
83686         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83687
83688 2006-01-07  Bruno Haible  <bruno@clisp.org>
83689
83690         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83691         gl_EARLY.
83692
83693 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83694
83695         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83696         Problem reported for Mingw by Mark Junker.
83697
83698 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83699
83700         * README: Gnulib normally doesn't generate a tarball.
83701
83702 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83703
83704         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83705         long int, not int, for nanosecond counts, so that people who are
83706         used to POSIX struct timespec won't be surprised.  Reported by Jim
83707         Meyering.
83708
83709 2005-12-28  Bruno Haible  <bruno@clisp.org>
83710
83711         * build-aux/config.rpath: Update from GNU gettext.
83712
83713 2005-12-16  Jim Meyering  <jim@meyering.net>
83714
83715         * modules/fprintftime: New module.
83716         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83717
83718 2005-12-16  Jim Meyering  <jim@meyering.net>
83719
83720         * m4/fprintftime.m4: New file.
83721
83722 2005-12-16  Jim Meyering  <jim@meyering.net>
83723
83724         * lib/fprintftime.c, lib/fprintftime.h: New files.
83725
83726 2005-12-15  Simon Josefsson  <jas@extundo.com>
83727
83728         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83729         new m4/socklen.m4.
83730
83731 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83732
83733         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83734         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83735
83736 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83737
83738         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83739         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83740         struct uparams is valid. Fall back to the default values if it is
83741         not.
83742
83743 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83744
83745         * modules/argp (Files): Add argp-pin.c
83746         (Depends-on): dirname
83747         (lib_SOURCES): Add argp-pin.c
83748
83749 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83750
83751         * m4/argp.m4:  Check if program_invocation_name and
83752         program_invocation_short_name are declared and define appropriate
83753         macros if they are not.
83754
83755 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83756
83757         * lib/argp-help.c (__argp_base_name): New function
83758         (__argp_short_program_name): Rewrite using __argp_base_name
83759         * lib/argp-namefrob.h: Define program_invocation_name and
83760         program_invocation_short_name if requested
83761         (__argp_base_name): Add prototype
83762         * lib/argp-parse.c (argp_def): Use gettext wrappers
83763         (argp_default_parser): Use __argp_base_name
83764         * lib/argp-pin.c: New file. Defines program_invocation_name and
83765         program_invocation_short_name on systems that lack them.
83766
83767 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83768
83769         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83770         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83771         porting problem reported by Georg Schwarz in
83772         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83773
83774 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83775
83776         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83777         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83778         porting problem reported by Georg Schwarz in
83779         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83780
83781 2005-12-05  Bruno Haible  <bruno@clisp.org>
83782
83783         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83784         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83785         Reported by Mark Junker <mjscod@gmx.de>.
83786
83787 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83788
83789         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83790         Use implementation from Albert Chin, with some
83791         comments/corrections by Stepan Kasal and myself.
83792
83793 2005-12-02  Bruno Haible  <bruno@clisp.org>
83794
83795         * gnulib-tool (func_import): Accept GPLed build tool modules when
83796         --lgpl is given.
83797         * modules/csharpcomp-script: New file.
83798         * modules/csharpcomp: Depend on it.
83799         * modules/javacomp-script: New file.
83800         * modules/javacomp: Depend on it.
83801         Suggested by Simon Josefsson.
83802
83803 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83804
83805         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83806         statement, to work around an HP-UX 10.20 compiler bug reported by
83807         Peter O'Gorman.
83808
83809 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83810
83811         * modules/savedir (Depends-on): Add openat.
83812
83813 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83814
83815         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83816         (uintmax_t) [defined uintmax_t]: Do not declare.
83817         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83818         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83819         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83820         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83821         sake of portability to weird hosts that C allows (though we don't
83822         know of any practical examples).
83823
83824         * lib/savedir.h (fdsavedir): New decl.
83825         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83826         contains most of the former guts of savedir.
83827         (savedir): Use savedirstream.
83828         Include "openat.h".
83829
83830 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83831
83832         * modules/obstack (Files): Add m4/ulonglong.m4.
83833         Problem reported by Davide Angelocola.
83834
83835 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83836
83837         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83838         coreutils no longer futzes with rounding modes.
83839
83840 2005-11-14  Jim Meyering  <jim@meyering.net>
83841
83842         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83843         replacement of mkstemp.
83844
83845 2005-11-10  Simon Josefsson  <jas@extundo.com>
83846
83847         * lib/readline.c: Remove EOL.
83848
83849 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83850
83851         * modules/gethrxtime (Depends-on): Add gettime.
83852
83853 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83854
83855         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83856         or gettimeofday; no longer needed.
83857
83858 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83859
83860         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83861         time business.
83862         (gethrxtime) [! (HAVE_NANOUPTIME
83863         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83864         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83865         our own approximation.
83866
83867 2005-11-08  Eric Blake  <ebb9@byu.net>
83868
83869         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83870
83871 2005-11-08  Eric Blake  <ebb9@byu.net>
83872
83873         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83874
83875 2005-11-04  Bruno Haible  <bruno@clisp.org>
83876
83877         * gnulib-tool: Implement --update mode.
83878
83879 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83880
83881         Fix porting problem reported by Theodoros V. Kalamatianos.
83882         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83883         Don't assume that futimes failing means we must fail.
83884
83885 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83886
83887         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83888         variables to suggest the intended function of the PATH_MAX check.
83889
83890 2005-10-30  Kean Johnston  <jkj@sco.com>
83891
83892         Trivial changes to support SCO systems.
83893         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83894         as PATH_MAX.
83895         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83896         where __ptr is null when no I/O is pending.
83897
83898 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83899
83900         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83901         leave errno alone.  Problem reported by Dmitry V. Levin.
83902
83903 2005-10-28  Simon Josefsson  <jas@extundo.com>
83904
83905         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83906         Test more.
83907
83908         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83909
83910         * modules/md2, modules/md2-tests: New files.
83911
83912 2005-10-28  Simon Josefsson  <jas@extundo.com>
83913
83914         * m4/inet_ntop.m4: More tests.
83915
83916         * m4/gc-md2.m4, md2.m4: New file.
83917
83918 2005-10-28  Simon Josefsson  <jas@extundo.com>
83919
83920         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83921         "restrict" keywords, as per POSIX.  Protect the function
83922         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83923         Don't use K&R prototypes.  Check the sprintf return values.
83924         Re-define EAFNOSUPPORT if not present.  Indent.
83925
83926         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83927         suggested by Bruno Haible <bruno@clisp.org>.
83928
83929         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83930
83931         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83932
83933         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83934         libgcrypt).
83935
83936         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83937
83938         * lib/md2.h, lib/md2.c: New files.
83939
83940 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83941
83942         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83943         errno alone.  Problem reported by Frederic Jolliton.
83944
83945 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83946
83947         * modules/verify (License): Change from GPL to LGPL.  This is a
83948         tiny module and there are apparently near-equivalents that are
83949         under the BSD license.
83950
83951 2005-10-24  Simon Josefsson  <jas@extundo.com>
83952
83953         * modules/sha1: Relicense to LGPL.
83954
83955 2005-10-24  Simon Josefsson  <jas@extundo.com>
83956
83957         * lib/md4.h: Shrink buffer size, now that we changed the type.
83958
83959 2005-10-23  Simon Josefsson  <jas@extundo.com>
83960
83961         * gnulib-tool (func_import): Fix --tests-base.
83962
83963 2005-10-22  Simon Josefsson  <jas@extundo.com>
83964
83965         * modules/arcfour (Depends-on): Need stdint.
83966
83967 2005-10-22  Simon Josefsson  <jas@extundo.com>
83968
83969         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83970         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83971
83972 2005-10-22  Simon Josefsson  <jas@extundo.com>
83973
83974         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83975         suggested by Bruno Haible <bruno@clisp.org>.
83976
83977 2005-10-22  Simon Josefsson  <jas@extundo.com>
83978
83979         * lib/crc.h: Include stddef.h, for size_t.
83980
83981 2005-10-22  Simon Josefsson  <jas@extundo.com>
83982
83983         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83984         arcfour_context struct (simplify test vector testing in GNU
83985         Shishi).
83986
83987 2005-10-21  Simon Josefsson  <jas@extundo.com>
83988
83989         * modules/des, modules/des-tests: New files.
83990
83991         * modules/gc-des, modules/gc-des-tests: New files.
83992
83993         * tests/test-des.c, tests/test-gc-des.c: New file.
83994
83995 2005-10-21  Simon Josefsson  <jas@extundo.com>
83996
83997         * modules/arctwo, modules/arctwo-tests: New files.
83998
83999         * tests/test-arctwo.c: New file.
84000
84001         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
84002
84003         * tests/test-gc-arctwo.c: New file.
84004
84005 2005-10-21  Simon Josefsson  <jas@extundo.com>
84006
84007         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
84008         Bruno Haible <bruno@clisp.org>.
84009
84010         * m4/gc-des.m4: New file.
84011
84012 2005-10-21  Simon Josefsson  <jas@extundo.com>
84013
84014         * m4/arctwo.m4: New file.
84015
84016         * m4/gc-arctwo.m4: New file.
84017
84018 2005-10-21  Simon Josefsson  <jas@extundo.com>
84019
84020         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
84021         block.
84022
84023 2005-10-21  Simon Josefsson  <jas@extundo.com>
84024
84025         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
84026         <bruno@clisp.org>.
84027
84028         * lib/hmac-sha1.c (hmac_sha1): Likewise.
84029
84030         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
84031         Bruno Haible <bruno@clisp.org>.
84032
84033         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
84034         <bruno@clisp.org>.
84035
84036 2005-10-21  Simon Josefsson  <jas@extundo.com>
84037
84038         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
84039
84040 2005-10-21  Simon Josefsson  <jas@extundo.com>
84041
84042         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
84043
84044 2005-10-21  Simon Josefsson  <jas@extundo.com>
84045
84046         * lib/des.h, lib/des.c: New files.
84047
84048         * lib/gc-gnulib.c: Support DES.c
84049
84050 2005-10-21  Simon Josefsson  <jas@extundo.com>
84051
84052         * lib/arctwo.h, lib/arctwo.c: New files.
84053
84054         * lib/gc-gnulib.c: Support ARCTWO.
84055
84056 2005-10-21  Simon Josefsson  <jas@extundo.com>
84057
84058         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
84059         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
84060
84061 2005-10-21  Simon Josefsson  <jas@extundo.com>
84062
84063         * gnulib-tool (func_import, func_create_testdir): Define automake
84064         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
84065         Makefile.am snippet),
84066         suggested by Bruno Haible <bruno@clisp.org>.
84067
84068         * modules/gc (Makefile.am): Use it.
84069
84070 2005-10-21  Bruno Haible  <bruno@clisp.org>
84071
84072         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
84073         patch.
84074
84075 2005-10-19  Simon Josefsson  <jas@extundo.com>
84076
84077         * tests/test-gc-rijndael.c: New file.
84078
84079         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
84080
84081 2005-10-19  Simon Josefsson  <jas@extundo.com>
84082
84083         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
84084         interface too.
84085
84086 2005-10-19  Simon Josefsson  <jas@extundo.com>
84087
84088         * tests/test-gc-arcfour.c: New file.
84089
84090         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
84091
84092 2005-10-19  Simon Josefsson  <jas@extundo.com>
84093
84094         * modules/gc-md4, modules/gc-md4-tests: New file.
84095
84096         * tests/test-gc-md4.c: New file.
84097
84098 2005-10-19  Simon Josefsson  <jas@extundo.com>
84099
84100         * m4/gc-md4.m4: New file.
84101
84102 2005-10-19  Simon Josefsson  <jas@extundo.com>
84103
84104         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
84105         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
84106         <kasal@ucw.cz>.
84107
84108 2005-10-19  Simon Josefsson  <jas@extundo.com>
84109
84110         * m4/gc-arcfour.m4: New file.
84111
84112         * m4/gc-rijndael.m4: New file.
84113
84114 2005-10-19  Simon Josefsson  <jas@extundo.com>
84115
84116         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
84117
84118 2005-10-19  Simon Josefsson  <jas@extundo.com>
84119
84120         * lib/gc-gnulib.c: Support ARCFOUR.
84121
84122 2005-10-19  Simon Josefsson  <jas@extundo.com>
84123
84124         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
84125         support.
84126
84127         * lib/gc.h: Add ECB enum type.
84128
84129         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
84130
84131 2005-10-18  Simon Josefsson  <jas@extundo.com>
84132
84133         * tests/test-md5.c: New file.
84134
84135         * modules/md5-tests: New file.
84136
84137 2005-10-18  Simon Josefsson  <jas@extundo.com>
84138
84139         * tests/test-md4.c: New file.
84140
84141         * modules/md4, modules/md4-tests: New files.
84142
84143 2005-10-18  Simon Josefsson  <jas@extundo.com>
84144
84145         * m4/md4.m4: New file.
84146
84147 2005-10-18  Simon Josefsson  <jas@extundo.com>
84148
84149         * lib/md4.h, lib/md4.c: New files, based on md5.?.
84150
84151 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
84152
84153         * gnulib-tool (func_create_testdir): Omit the second check whether
84154         BUILT_SOURCES in nonempty.
84155
84156 2005-10-17  Simon Josefsson  <jas@extundo.com>
84157
84158         * tests/test-rijndael.c: New file.
84159
84160 2005-10-17  Simon Josefsson  <jas@extundo.com>
84161
84162         * modules/sha1: Depend on stdint instead of md5.
84163
84164         * modules/md5: Depend on stdint, remove uint32_t.
84165
84166 2005-10-17  Simon Josefsson  <jas@extundo.com>
84167
84168         * modules/gc-sha1-tests: New file.
84169
84170         * tests/test-gc-sha1.c: New file.
84171
84172 2005-10-17  Simon Josefsson  <jas@extundo.com>
84173
84174         * m4/md5.m4: Remove call to uint32_t.m4.
84175
84176 2005-10-17  Simon Josefsson  <jas@extundo.com>
84177
84178         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
84179
84180         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
84181         md5.h.
84182
84183         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
84184
84185         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
84186
84187 2005-10-17  Simon Josefsson  <jas@extundo.com>
84188
84189         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
84190
84191 2005-10-17  Simon Josefsson  <jas@extundo.com>
84192
84193         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
84194
84195 2005-10-17  Simon Josefsson  <jas@extundo.com>
84196
84197         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
84198
84199         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
84200
84201 2005-10-17  Bruno Haible  <bruno@clisp.org>
84202
84203         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
84204         that it can also be used in a test.
84205
84206 2005-10-16  Bruno Haible  <bruno@clisp.org>
84207
84208         * gnulib-tool (func_emit_tests_Makefile_am): Also define
84209         TESTS_ENVIRONMENT, so that individual tests can augment it.
84210
84211         * gnulib-tool (func_create_testdir): Use an intermediate target for
84212         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
84213         macros, like $(ALLOCA_H), which cannot be passed through the command
84214         line.
84215
84216 2005-10-15  Simon Josefsson  <jas@extundo.com>
84217
84218         * modules/rijndael-tests: New file.
84219
84220         * modules/rijndael: New file.
84221
84222 2005-10-15  Simon Josefsson  <jas@extundo.com>
84223
84224         * m4/rijndael.m4: New file.
84225
84226 2005-10-15  Simon Josefsson  <jas@extundo.com>
84227
84228         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
84229
84230         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
84231
84232 2005-10-14  Simon Josefsson  <jas@extundo.com>
84233
84234         * tests/test-arcfour.c: New file.
84235
84236         * modules/arcfour, modules/arcfour-tests: New files.
84237
84238 2005-10-14  Simon Josefsson  <jas@extundo.com>
84239
84240         * m4/arcfour.m4: New file.
84241
84242 2005-10-14  Simon Josefsson  <jas@extundo.com>
84243
84244         * lib/arcfour.h, lib/arcfour.c: New files.
84245
84246 2005-10-14  Roland McGrath  <roland@redhat.com>
84247
84248         Import from libc.  [BZ #1331]
84249         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
84250         macro argument.
84251         Reported by Matej Vela <vela@debian.org>.
84252
84253 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84254
84255         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
84256         include <wchar.h>; no longer needed.
84257
84258 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84259
84260         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
84261
84262 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
84263         and  Ulrich Drepper  <drepper@redhat.com>
84264
84265         Import from libc.
84266         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
84267         instead of inline stream orientation test and two separate
84268         function calls.  Pay no attention to USE_IN_LIBIO.
84269
84270 2005-10-13  Simon Josefsson  <jas@extundo.com>
84271
84272         * modules/gc-hmac-md5-tests: New file.
84273
84274         * tests/test-gc-hmac-sha1.c: New file.
84275
84276         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
84277
84278         * modules/gc-hmac-md5-tests: New file.
84279
84280         * tests/test-gc-md5.c: New file.
84281
84282         * modules/gc-md5-tests: New file.
84283
84284 2005-10-13  Simon Josefsson  <jas@extundo.com>
84285
84286         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
84287         Move memory allocation outside of loop.
84288
84289 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
84290
84291         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
84292         intermediate directory is in a read-only file system.  Problem
84293         reported by Eric Blake.
84294
84295 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
84296
84297         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
84298
84299 2005-10-12  Simon Josefsson  <jas@extundo.com>
84300
84301         * tests/test-hmac-sha1.c: New file.
84302
84303         * modules/hmac-sha1-tests: New file.
84304
84305         * modules/hmac-sha1: New file.
84306
84307 2005-10-12  Simon Josefsson  <jas@extundo.com>
84308
84309         * modules/gc-sha1: New file.
84310
84311 2005-10-12  Simon Josefsson  <jas@extundo.com>
84312
84313         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
84314
84315         * tests/test-gc-pbkdf2-sha1.c: New file.
84316
84317 2005-10-12  Simon Josefsson  <jas@extundo.com>
84318
84319         * modules/gc-md5, modules/gc-hmac-md5: New files.
84320
84321         * modules/gc (Files): Remove md5, memxor and hmac files.
84322
84323 2005-10-12  Simon Josefsson  <jas@extundo.com>
84324
84325         * m4/gc-pbkdf2-sha1.m4: New file.
84326
84327         * m4/gc-hmac-sha1.m4: New file.
84328
84329         * m4/gc-sha1: New file.
84330
84331         * m4/hmac-sha1.m4: New file.
84332
84333 2005-10-12  Simon Josefsson  <jas@extundo.com>
84334
84335         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
84336
84337         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
84338
84339 2005-10-12  Simon Josefsson  <jas@extundo.com>
84340
84341         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
84342         suggested by Bruno Haible <bruno@clisp.org>.
84343
84344 2005-10-12  Simon Josefsson  <jas@extundo.com>
84345
84346         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
84347
84348 2005-10-12  Simon Josefsson  <jas@extundo.com>
84349
84350         * lib/gc-pbkdf2-sha1.c: New file.
84351
84352         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
84353
84354 2005-10-12  Simon Josefsson  <jas@extundo.com>
84355
84356         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
84357
84358         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
84359
84360 2005-10-12  Simon Josefsson  <jas@extundo.com>
84361
84362         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
84363         GC_USE_HMAC_MD5, respectively.
84364
84365         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
84366         (gc_md5): Fix typo.
84367
84368         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
84369
84370         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
84371
84372         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
84373
84374 2005-10-12  Bruno Haible  <bruno@clisp.org>
84375
84376         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
84377         Reported by Stepan Kasal <kasal@ucw.cz>.
84378
84379 2005-10-11  Simon Josefsson  <jas@extundo.com>
84380
84381         * tests/test-crc.c: New file.
84382
84383         * modules/crc, modules/crc-tests: New files.
84384
84385 2005-10-11  Simon Josefsson  <jas@extundo.com>
84386
84387         * m4/crc.m4: New file.
84388
84389 2005-10-11  Simon Josefsson  <jas@extundo.com>
84390
84391         * lib/gc.h: Add gc_hash and gc_hash_buffer.
84392
84393         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
84394
84395         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
84396
84397 2005-10-11  Simon Josefsson  <jas@extundo.com>
84398
84399         * lib/crc.h, lib/crc.c: New files.
84400
84401         * lib/gc.h (gc_hash_buffer): Add doc.
84402
84403 2005-10-11  Bruno Haible  <bruno@clisp.org>
84404
84405         * modules/c-strcasestr: New file.
84406         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
84407
84408 2005-10-11  Bruno Haible  <bruno@clisp.org>
84409
84410         * modules/c-strcase: New file.
84411         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
84412
84413 2005-10-11  Bruno Haible  <bruno@clisp.org>
84414
84415         * lib/strcasecmp.c: Include limits.h.
84416         (strcasecmp): Avoid integer overflow on exotic platforms.
84417         * lib/strncasecmp.c: Include limits.h.
84418         (strncasecmp): Avoid integer overflow on exotic platforms.
84419         Reported by Paul Eggert.
84420
84421 2005-10-11  Bruno Haible  <bruno@clisp.org>
84422
84423         * lib/c-strcasestr.h: New file, from GNU gettext.
84424         * lib/c-strcasestr.c: New file, from GNU gettext.
84425
84426 2005-10-11  Bruno Haible  <bruno@clisp.org>
84427
84428         * lib/c-strcase.h: New file, from GNU gettext.
84429         * lib/c-strcasecmp.c: New file, from GNU gettext.
84430         * lib/c-strncasecmp.c: New file, from GNU gettext.
84431
84432 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84433
84434         * modules/mempcpy (License): GPL -> LGPL.
84435         * modules/strchrnul (License): Likewise.
84436         * modules/sysexits (License): Likewise.
84437
84438 2005-10-08  Simon Josefsson  <jas@extundo.com>
84439
84440         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
84441
84442 2005-10-07  Simon Josefsson  <jas@extundo.com>
84443
84444         * m4/memxor.m4: Remove gl_C_RESTRICT call.
84445
84446 2005-10-06  Simon Josefsson  <jas@extundo.com>
84447
84448         * tests/test-hmac-md5.c: New file.
84449
84450         * modules/hmac-md5-tests: New file.
84451
84452         * modules/hmac-md5: New file.
84453
84454 2005-10-06  Simon Josefsson  <jas@extundo.com>
84455
84456         * m4/hmac-md5.m4: New file.
84457
84458         * m4/memxor.m4: Require gl_C_RESTRICT.
84459
84460 2005-10-06  Simon Josefsson  <jas@extundo.com>
84461
84462         * lib/memxor.c (memxor): Avoid casts and warnings.
84463
84464 2005-10-06  Simon Josefsson  <jas@extundo.com>
84465
84466         * lib/hmac-md5.c: New file.
84467
84468         * lib/hmac.h: New file.
84469
84470 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84471
84472         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84473         promotes to int, not unsigned int, to catch the AIX 5.3
84474         compiler bug.
84475
84476 2005-10-05  Simon Josefsson  <jas@extundo.com>
84477
84478         * modules/memxor: New file.
84479
84480         * modules/iconv (Files): Move config.rpath to havelib, it is used
84481         there.
84482
84483         * modules/havelib (Files): Add config.rpath.
84484
84485 2005-10-05  Simon Josefsson  <jas@extundo.com>
84486
84487         * m4/memxor.m4: New file.
84488
84489 2005-10-05  Simon Josefsson  <jas@extundo.com>
84490
84491         * lib/memxor.c (memxor): Fix compiler error.
84492
84493         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84494         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84495
84496         * lib/memxor.h, lib/memxor.c: New files.
84497
84498         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84499         we assume all systems have it, suggested by Jim Meyering
84500         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84501         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84502         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84503         same reasons.
84504
84505 2005-10-05  Simon Josefsson  <jas@extundo.com>
84506
84507         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84508
84509 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84510
84511         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84512         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84513         needed, since the source code now assumes these .h files.
84514
84515 2005-10-05  Derek Price  <derek@ximbiot.com>
84516
84517         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84518
84519 2005-10-05  Bruno Haible  <bruno@clisp.org>
84520
84521         * modules/stdint (License): Change to LGPL.
84522
84523 2005-10-04  Simon Josefsson  <jas@extundo.com>
84524
84525         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84526         D. Baushke" <mdb@gnu.org>.
84527
84528 2005-10-04  Bruno Haible  <bruno@clisp.org>
84529
84530         * lib/verify.h (verify_true): Provide alternative definition for C++.
84531
84532 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84533
84534         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84535         (SSIZE_MAX): New macro, if not already defined.
84536         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84537         than 2 GiB.
84538
84539 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84540
84541         Sync from coreutils.
84542         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84543         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84544         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84545         ULLONG_MAX doesn't work with 2.7.2.1.
84546
84547 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84548
84549         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84550         From Ben Pfaff.
84551
84552         * modules/exclude (Depends-on): Depend on verify.
84553         * modules/strtoimax (Depends-on): Likewise.
84554         * modules/utimecmp (Depends-on): Likewise.
84555
84556 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84557
84558         * lib/exclude.c: Include verify.h.
84559         (verify): Remove.  All callers changed to use verify.h's version.
84560         * lib/strtoimax.c: Likewise.
84561         * lib/utimecmp.c: Likewis.e
84562
84563         Sync from coreutils.
84564         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84565         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84566         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84567         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84568         bother returning ENOSYS if settimeofday or stime fails; just let
84569         them return whatever errno they want to return.
84570         * lib/utimens.c: Include unistd.h, for dup2.
84571         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84572         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84573
84574 2005-10-02  Jim Meyering  <jim@meyering.net>
84575
84576         Sync from coreutils.
84577         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84578         from glibc-2.2.5 that fails for read-only files.
84579
84580 2005-10-02  Jim Meyering  <jim@meyering.net>
84581
84582         Sync from coreutils.
84583         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84584         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84585         `#if HAVE_CONFIG_H'.
84586         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84587         Remove AT_FDCWD test.
84588         Do not consume the fd unless successful.
84589         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84590         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84591         block, so that we don't even try to compile it if settimeofday is
84592         available.  This works around a compilation failure on OSF1 V5.1,
84593         due to stime requiring a `long int*' while tv_sec is `int'.
84594
84595 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84596
84597         Sync from coreutils.
84598         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84599         against `yes', rather than just testing for nonempty.
84600
84601 2005-10-01  Simon Josefsson  <jas@extundo.com>
84602
84603         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84604         and Darwin.
84605
84606         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84607         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84608         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84609         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84610         Check if struct addrinfo is declared.
84611
84612 2005-10-01  Simon Josefsson  <jas@extundo.com>
84613
84614         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84615         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84616         AI_* and EAI_* definitions.  Protect function declarations.
84617
84618 2005-10-01  Jim Meyering  <jim@meyering.net>
84619
84620         Sync from coreutils.
84621
84622         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84623         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84624         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84625         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84626         in the inet and nsl libraries.  Required on Solaris 5.7.
84627
84628 2005-10-01  Jim Meyering  <jim@meyering.net>
84629
84630         Sync from coreutils.
84631         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84632         in the inet and nsl libraries.  Required on Solaris 5.7.
84633
84634 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84635
84636         * lib/getdelim.c (getdelim): Remove unused variables.
84637
84638 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84639
84640         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84641         so that the code works even with ancient cpp.  Portability problem
84642         with GCC 2.7.2.1 reported by Thomas M.Ott.
84643
84644 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84645
84646         * modules/regex (Depends-on): Add strcase.
84647
84648         * modules/gethostname (Licence): Change from GPL to LGPL, since
84649         gethostname.c is a trivial implementation of a standard library
84650         function.
84651         * modules/poll (License): Change from GPL to LGPL, since it's
84652         derived from LGPL code.
84653
84654 2005-09-27  Jim Meyering  <jim@meyering.net>
84655
84656         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84657         HAVE_CONFIG_H.
84658
84659         * lib/intprops.h (signed_type_or_expr__): Define.
84660         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84661         for unsigned types.
84662
84663 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84664
84665         * lib/verify.h (verify_expr): Remove, replacing with:
84666         (verify_true): New macro that returns true instead of void.
84667         (verify_type__): Remove.
84668         (verify): Use verify_true rather than verify_type__.
84669
84670 2005-09-26  Bruno Haible  <bruno@clisp.org>
84671
84672         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84673         is necessary.
84674         (lib_SOURCES): Remove mbchar.c.
84675         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84676         (Files): Add m4/mbrtowc.m4.
84677         * modules/mbiter: Likewise.
84678         * modules/mbuiter: Likewise.
84679
84680 2005-09-26  Bruno Haible  <bruno@clisp.org>
84681
84682         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84683         compile mbchar.c if they are not both present.
84684         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84685         * m4/mbiter.m4 (gl_MBITER): Likewise.
84686         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84687         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84688         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84689
84690 2005-09-25  Jim Meyering  <jim@meyering.net>
84691
84692         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84693         also uses socklen_t.
84694
84695 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84696
84697         * lib/utimens.c (ENOSYS): Define if not already defined.
84698         (futimens): Support having a null PATH if the file descriptor
84699         is nonnegative.
84700
84701         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84702         Remove.
84703         (__attribute): Define to empty unless GCC 3.1 or later.
84704         This works around a core dump on OpenBSD 3.4, which has GCC
84705         2.95.3, which dumps core when given __attribute__(()).  It also
84706         simplifies other tests, since we really don't want to bother with
84707         worrying about which ancient version of GCC supported what.
84708         Original problem reported by Yoann Vandoorselaere, with part of
84709         the fix suggested by Derek Price.
84710
84711 2005-09-24  Jim Meyering  <jim@meyering.net>
84712
84713         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84714         so we can once again use a positive bitfield width of 1 -- now we
84715         don't have to explain why we were using a bitfield width of 2.
84716
84717 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84718
84719         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84720         and similarly for the other external symbols.  Problem reported
84721         by James Gallager.
84722
84723         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84724         bug reported by Jim Meyering.
84725
84726         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84727         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84728         not needed, since socklen is a prerequisite module.
84729
84730 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84731
84732         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84733         Problem reported by Eric Blake.
84734         (getaddrinfo): Initialize se so that it's not garbage.
84735         Redo internal storage allocation so that it doesn't make unportable
84736         assumptions about alignment.
84737         Fix a memory leak.
84738
84739         * lib/utimens.c (futimens): Use futimesat if available.
84740         Prefer it to futimes since it doesn't have the futimes bug.
84741
84742         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84743         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84744         Instead, declare a function that returns a pointer to an array,
84745         and use verify_type__ to declare the size of the array.
84746         Problem and germ of a solution reported by Bruno Haible.
84747         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84748         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84749
84750 2005-09-23  Jim Meyering  <jim@meyering.net>
84751
84752         Sync from coreutils.
84753         Correct build failure (socklen_t not defined) on at least
84754         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84755         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84756
84757 2005-09-23  Jim Meyering  <jim@meyering.net>
84758
84759         * modules/getaddrinfo (Depends-on): Add socklen.
84760
84761 2005-09-23  Bruno Haible  <bruno@clisp.org>
84762
84763         * tests/test-verify.c: New file.
84764
84765 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84766
84767         Sync from coreutils.
84768
84769         * modules/argmatch (Depends-on): Add verify.
84770         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84771         unistd-safer.
84772         * modules/save-cwd (Depends-on): Likewise.
84773
84774         * modules/openat (Files): Add lib/openat-die.c.
84775         (Depends-on): Remove error, exitfail.
84776         Add dirname.
84777
84778         * modules/verify: New file.
84779         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84780         with "verify" module.
84781
84782 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84783
84784         Sync from coreutils.
84785
84786         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84787         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84788         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84789         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84790         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84791         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84792         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84793         Don't bother checking for string.h, stdlib.h, unistd.h.
84794         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84795         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84796         module's job.
84797         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84798         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84799
84800         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84801         (gl_GETDATE): Use it.
84802
84803         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84804
84805 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84806
84807         Sync from coreutils.
84808
84809         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84810         stat-time.h.
84811         * lib/argmatch.h: Include verify.h
84812         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84813         (ARGMATCH_ASSERT): Remove; unused.
84814         * lib/canonicalize.c: Assume STDC_HEADERS.
84815         * lib/exclude.c: Include "strcase.h".
84816         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84817         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84818         and stdio-safer.h.
84819         (getusershell): Call fopen, not fopen_safer.
84820         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84821         Do not include unistd-safer.h.
84822         (save_cwd): Don't call fd_safer; no longer needed
84823         now that we include fcntl--.h.
84824
84825         * lib/getdate.y (relative_time): New type.
84826         (RELATIVE_TIME_0): New constant.
84827         (parser_control): Use relative_time instead of doing it ourselves.
84828         (%union): Add new relative_time rel member.
84829         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84830         Now typeless.
84831         (relunit, relunit_snumber): Now of type rel.
84832         (zone, rel, relunit, get_date): Adjust to above changes.
84833
84834         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84835         Do not include unistd-safer.h.
84836         (getloadavg): Don't call fd_safer; no longer needed
84837         now that we include fcntl--.h.
84838
84839         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84840         (make_dir_parents): Treat ENOSYS like EEXIST.
84841
84842         Improve quality of diagnostics on restore_cwd failure.
84843         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84844         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84845         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84846         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84847         each time through the loop.  Do not diagnose restore_cwd failure;
84848         that is the caller's job (and perhaps the caller does not care).
84849
84850         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84851         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84852         If the file already exists but is not a directory, don't bother
84853         to try to make its parents.
84854         Close potential file descriptor leak if we can't chdir("/") (!).
84855         Don't always return true if chdir($PWD) fails; return true only
84856         if the requested action was done successfully (except for the
84857         chdir($PWD)).
84858         Don't log final directory unless we actually made it.
84859         Refactor to avoid duplicate code to fix up permissions.
84860         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84861
84862         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84863         to make it a bit faster and (I hope) clearer.
84864         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84865         Fix bug in formats like %2N.
84866
84867         * lib/verify.h: New file.
84868
84869 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84870
84871         Sync from coreutils.
84872         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84873
84874 2005-09-22  Jim Meyering  <jim@meyering.net>
84875
84876         Sync from coreutils.
84877
84878         * m4/lstat.m4 (gl_FUNC_LSTAT):
84879         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84880         Remove obsolete comment.
84881         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84882         * m4/xstrtod.m4: Likewise.
84883
84884         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84885
84886 2005-09-22  Jim Meyering  <jim@meyering.net>
84887
84888         Sync from coreutils.
84889
84890         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84891
84892         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84893         the .tm_year member, since otherwise gcc-4.0 would now warn about
84894         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84895
84896         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84897         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84898
84899         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84900         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84901         when run in a time zone for which daylight savings time is in effect
84902         for the starting date.
84903
84904         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84905         stop us from restricting permissions of just-created absolute-named
84906         directories.
84907         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84908         to restore initial working directory.
84909         * lib/mkdir-p.c (make_dir_parents): New parameter:
84910         different_working_dir, to tell caller if/when we change the working
84911         directory and are unable to return to the initial one.
84912         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84913         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84914         `return false'.  This fixes a bug introduced on 2004-07-30.
84915
84916         * lib/openat.c (fdopendir): Be sure to close the supplied
84917         file descriptor before returning.  This makes our replacement
84918         implementation a little closer to Solaris's, where fdopendir
84919         ties the file descriptor to the returned DIR* pointer.
84920         * lib/openat.c (unlinkat): New function.
84921         * lib/openat.h (unlinkat): Add prototype.
84922         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84923         (openat_restore_fail): Rename from openat_restore_die.
84924         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84925
84926         Provide an alternative to exiting immediately upon save_cwd or
84927         restore_cwd failure.  Now, an application can arrange e.g.,
84928         to perform a longjump in that case.
84929         * lib/openat.c: Include dirname.h.
84930         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84931         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84932         and openat_restore_die rather than calling error directly.
84933         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84934
84935         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84936         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84937         define.
84938
84939         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84940         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84941                             int utc, int nanoseconds);
84942         Background:
84943         date should not have to allocate a megabyte of virtual memory to
84944         handle a format argument like +%1048575T.  When implemented with
84945         strftime, it must allocate such a buffer, use strftime to fill it
84946         in, print it, then free it.
84947         With fprintftime, it simply prints everything and exits.
84948         With no need for memory allocation, that's one fewer way to fail.
84949         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84950         optional field width, not before, so we accept %9:z, not %:9z.
84951         (my_strftime): Be sure to use L_('x') for literals.
84952
84953         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84954         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84955         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84956         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84957         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84958         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84959         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84960         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84961         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84962         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84963         * lib/xgethostname.c, lib/xreadlink.c:
84964         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84965
84966         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84967         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84968         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84969         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84970         and don't include <sys/file.h>).
84971
84972 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84973
84974         Sync from coreutils.
84975
84976         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84977         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84978         [!LDAV_DONE]: Avoid unused variable warning.
84979
84980 2005-09-21  Bruno Haible  <bruno@clisp.org>
84981
84982         * lib/unicodeio.h (unicode_to_mb): New declaration.
84983
84984 2005-09-20  Derek Price  <derek@ximbiot.com>
84985
84986         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84987         getaddrinfo.h.
84988
84989 2005-09-20  Bruno Haible  <bruno@clisp.org>
84990
84991         * gnulib-tool: Remove trailing slashes from the values specified for
84992         --source-base, --m4-base, --tests-base, --aux-dir.
84993         Suggested by Simon Josefsson <jas@extundo.com>.
84994
84995 2005-09-20  Bruno Haible  <bruno@clisp.org>
84996
84997         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84998         func_modules_to_filelist, func_import, func_create_testdir): Make all
84999         sorting results locale-independent, so that gnulib-cache.m4 doesn't
85000         change when gnulib-tool is invoked in a different locale.
85001
85002 2005-09-19  Simon Josefsson  <jas@extundo.com>
85003
85004         * m4/socklen.m4: Fix typo.
85005
85006 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85007
85008         Use a consistent style for including <config.h>.
85009         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
85010         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
85011         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
85012         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
85013         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
85014         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
85015         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
85016         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
85017         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
85018         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
85019         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
85020         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
85021         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
85022         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
85023         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
85024         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
85025         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
85026         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
85027         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
85028         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
85029         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
85030         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
85031         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
85032         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
85033         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
85034         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
85035         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
85036         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
85037         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
85038         lib/xstrtoumax.c, lib/yesno.c:
85039         Standardize inclusion of config.h.
85040         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
85041         lib/inttostr.h:  Removed inclusion of config.h from header files.
85042         * lib/inttostr.c:  Adjusted in-tree users.
85043         * lib/timespec.h: Remove superfluous warning to include config.h.
85044         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
85045         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
85046         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
85047         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
85048         config.h with HAVE_CONFIG_H.
85049
85050 2005-09-19  Jim Meyering  <jim@meyering.net>
85051
85052         * modules/pathmax (License): Change to LGPL.
85053
85054 2005-09-19  Derek Price  <derek@ximbiot.com>
85055
85056         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
85057
85058 2005-09-19  Bruno Haible  <bruno@clisp.org>
85059
85060         * gnulib-tool (import): Provide default for --tests-base.
85061
85062 2005-09-19  Bruno Haible  <bruno@clisp.org>
85063
85064         * doc/quote.texi: New file, extracted from gnulib.texi.
85065         * doc/ctime.texi: New file, extracted from gnulib.texi.
85066         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
85067         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
85068         * doc/gnulib.texi: Include them.
85069
85070 2005-09-18  Bruno Haible  <bruno@clisp.org>
85071
85072         Portability fix.
85073         * gnulib-tool (func_readlink): New function.
85074         (func_ln_if_changed): Use it.
85075
85076 2005-09-18  Bruno Haible  <bruno@clisp.org>
85077
85078         * gnulib-tool: Support --with-tests also with --import.
85079         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
85080         (func_import): Use variables $testsbase and $inctests. Emit a
85081         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
85082         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
85083         SUBDIRS += $testsdir.
85084         (func_create_testdir): Update.
85085
85086 2005-09-18  Bruno Haible  <bruno@clisp.org>
85087
85088         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
85089         instead of $dry_run.
85090         (func_cp_if_changed, func_mv_if_changed): Remove functions.
85091         (func_ln_if_changed): Don't handle dry-run here.
85092         (func_import): In dry-run mode, detect more precisely which actions
85093         would be performed, and don't use "...ing" verbs.
85094
85095 2005-09-18  Bruno Haible  <bruno@clisp.org>
85096
85097         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
85098         (func_import): Use join on two temporary files instead of three nested
85099         loops, in order to determine which files are new or old.
85100
85101 2005-09-18  Bruno Haible  <bruno@clisp.org>
85102
85103         * gnulib-tool (func_import): Comment out code that spits out the
85104         new files with --dry-run.
85105
85106 2005-09-18  Bruno Haible  <bruno@clisp.org>
85107
85108         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
85109
85110 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85111
85112         * lib/stat-time.h: New file.
85113         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
85114         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
85115         in a different way.
85116         (timespec_cmp): New function.
85117         * lib/utimecmp.c: Include stat-time.h.
85118         (SYSCALL_RESOLUTION): Depend on whether various struct stat
85119         members exist, not on the obsolescent ST_MTIM_NSEC.
85120         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
85121
85122 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85123
85124         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
85125
85126 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85127
85128         * MODULES.html.sh (File system functions): Add stat-time.
85129         * modules/stat-time: New file.
85130         * modules/timespec (Files): Remove m4/st_mtim.m4; this
85131         is now done in a different way, by the stat-time module.
85132         * modules/utimecmp (Depends-on): Add stat-time.
85133
85134 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
85135
85136         * m4/st_mtim.m4: Remove.  Superseded by...
85137         * m4/stat-time.m4: New file.
85138         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
85139         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
85140
85141 2005-09-15  Derek Price  <derek@ximbiot.com>
85142
85143         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
85144
85145 2005-09-15  Derek Price  <derek@ximbiot.com>
85146
85147         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
85148         * lib/regex_internal.c: Ditto, using this...
85149         (__GNUC_PREREQ): ...new macro.
85150         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
85151         using...
85152         (__GNUC_PREREQ): ...this new macro.
85153
85154         * lib/strstr.h: Include string.h. Define strstr as a macro here.
85155
85156 2005-09-15  Derek Price  <derek@ximbiot.com>
85157             Paul Eggert  <eggert@cs.ucla.edu>
85158
85159         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
85160         changes, consolidating in...
85161         * lib/regex_internal.h: ...this file.
85162
85163 2005-09-13  Jim Meyering  <jim@meyering.net>
85164
85165         * lib/canon-host.c: Filter through gnu indent and reword comments
85166         slightly.
85167         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
85168
85169 2005-09-13  Derek Price  <derek@ximbiot.com>
85170
85171         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
85172         failure.
85173         Reported by Jim Meyering  <jim@meyering.net>.
85174
85175 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85176
85177         * lib/base64.c: Typo.
85178         (base64_encode): Put b64str in initialized data section.
85179
85180 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
85181
85182         Merge glibc and coreutils changes into gnulib, plus a few
85183         extra fixes.
85184         * lib/md5.c: Use #error rather than a string.
85185         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
85186         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
85187         (__attribute__): Define to empty for non recent-GCC.
85188         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
85189         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
85190         Renamed from their non-__ counterparts, with new macros replacing
85191         them if not _LIBC.  Add __THROW attribute.
85192         (rol): Remove.
85193         (struct md5_ctx): Align buffer if using GCC.
85194         * lib/sha1.h (struct sha1_ctx): Likewise.
85195         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
85196         The old name was backwards.
85197         (NOTSWAP): Remove; not used.
85198         (rol): New macro, moved here from md5.h.
85199         (sha1_process_block): Remove a FIXME that doesn't make sense.
85200
85201 2005-09-12  Derek Price  <derek@ximbiot.com>
85202
85203         Return usable errors from canon-host.
85204         * lib/canon-host.h: New file.
85205         * lib/canon-host.c (canon_host): Wrap...
85206         (canon_host_r): ...this new function, which now relies exclusively on
85207         getaddrinfo.
85208         (ch_strerror): New function.
85209         (last_cherror): New global.
85210         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
85211         interface.
85212         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
85213         void *.
85214         (freeaddrinfo): Free ai->ai_canonname when set.
85215
85216 2005-09-12  Derek Price  <derek@ximbiot.com>
85217
85218         Make canon-host require getaddrinfo.
85219         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
85220         AC_LIBSOURCE canon-host.h.  Call...
85221         (gl_PREREQ_CANON_HOST): ...this new function, which requires
85222         gl_GETADDRINFO.
85223         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
85224
85225 2005-09-12  Derek Price  <derek@ximbiot.com>
85226
85227         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
85228         LGPL.
85229         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
85230
85231 2005-09-12  Derek Price  <derek@ximbiot.com>
85232
85233         * lib/gai_strerror.c: Include config.h when available.  Include
85234         getaddrinfo.h before other headers to test interface.
85235         Reported by Larry Jones <lawrence.jones@ugs.com>.
85236
85237 2005-09-12  Derek Price  <derek@ximbiot.com>
85238             Paul Eggert  <eggert@cs.ucla.edu>
85239
85240         * modules/glob (Files): Add glob-libc.h.
85241
85242 2005-09-12  Derek Price  <derek@ximbiot.com>
85243             Paul Eggert  <eggert@cs.ucla.edu>
85244
85245         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
85246         glob_.h, glob-libc.h.
85247         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
85248
85249 2005-09-12  Derek Price  <derek@ximbiot.com>
85250             Paul Eggert  <eggert@cs.ucla.edu>
85251
85252         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
85253         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
85254         protecting things that should be done only in gnulib contexts.
85255         * lib/glob_.h: New file, containing only the glob things needed for
85256         gnulib.
85257         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
85258         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
85259         (glob, globfree, glob_pattern_p): Now defined simply in terms of
85260         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
85261         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
85262         and to respect the namespace rules better.
85263
85264 2005-09-08  Simon Josefsson  <jas@extundo.com>
85265
85266         * modules/socklen: New file.
85267
85268 2005-09-08  Simon Josefsson  <jas@extundo.com>
85269
85270         * m4/socklen.m4: New file.
85271
85272 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85273
85274         * modules/utimens (Files): Add m4/utimbuf.m4, since
85275         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
85276         Reported by Sergey Poznyakoff.
85277
85278 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85279
85280         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
85281         definitions, since that's the preferred style in glibc.
85282         Fix a minor spacing issue, and update copyright notice to match
85283         glibc's.
85284
85285 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85286
85287         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
85288
85289 2005-09-06  Simon Josefsson  <jas@extundo.com>
85290
85291         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
85292         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
85293
85294 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85295
85296         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
85297         warning.
85298
85299 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85300
85301         * config/srclist.txt: Add glibc bug 1302.
85302
85303 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
85304
85305         Change bitset word type from unsigned int to unsigned long int,
85306         as this has better performance on typical 64-bit hosts.
85307         Port bitset code to hosts with unusual word sizes.
85308         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
85309         (build_collating_symbol):
85310         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
85311         argument is a bitset.  This is merely a style issue, but it makes
85312         it clearer that an entire array is expected.
85313         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
85314         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
85315         Port to the case where bitset_word is not the same as unsigned int.
85316         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85317         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
85318         Likewise.
85319         * lib/regexec.c (check_dst_limits_calc_pos_1,
85320         check_subexp_matching_top):
85321         (build_trtable, group_nodes_into_DFAstates):
85322         Likewise.
85323         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
85324         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
85325         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
85326         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
85327         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
85328         * lib/regcomp.c (optimize_subexps, lower_subexp):
85329         Work even if bitset_word has holes in its bitwise representation.
85330         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
85331         * lib/regexec.c (check_dst_limits_calc_pos_1,
85332         check_subexp_matching_top):
85333         Likewise.
85334         * lib/regex_internal.c (re_string_reconstruct):
85335         Don't assume UCHAR_MAX == 255.
85336         * lib/regex_internal.h (bitset_set_all): Likewise.
85337         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
85338         All uses changed.
85339         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
85340         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
85341         All uses changed.
85342         (BITSET_WORD_MAX): New macro.
85343         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
85344         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
85345         (bitset_empty, bitset_copy):
85346         Prefer sizeof (bitset) to multiplying it out ourselves.
85347         (bitset_not_merge): Remove; unused.
85348         (bitset_contain): Return bool, not unsigned int with one bit on.
85349         All callers changed.
85350         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
85351         alignment than re_node_set; do this by defining a new internal
85352         type struct dests_alloc and using it to allocate memory.
85353
85354 2005-09-05  Bruno Haible  <bruno@clisp.org>
85355
85356         * gnulib-tool (func_import): Fix comparison in handling of symbolic
85357         links.
85358
85359 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
85360
85361         * modules/size_max (Makefile.am): Add size_max.h
85362
85363 2005-09-04  Derek Price  <derek@ximbiot.com>
85364
85365         * gnulib-tool (func_import): Fix reversed $symbolic logic.
85366
85367 2005-09-03  Simon Josefsson  <jas@extundo.com>
85368
85369         * gnulib-tool: Fix typo.
85370
85371 2005-09-03  Simon Josefsson  <jas@extundo.com>
85372
85373         * config/srclist.txt: Add glibc bug 1293.
85374
85375 2005-09-03  Derek Price  <derek@ximbiot.com>
85376
85377         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
85378         From Larry Jones <lawrence.jones@ugs.com>.
85379
85380 2005-09-02  Simon Josefsson  <jas@extundo.com>
85381
85382         * modules/socklen: New file.
85383
85384 2005-09-02  Simon Josefsson  <jas@extundo.com>
85385
85386         * modules/havelib: New module.
85387
85388         * modules/gettext, modules/iconv, modules/lock, modules/readline:
85389         Use havelib.
85390
85391 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85392
85393         Check for arithmetic overflow when calculating sizes, to prevent
85394         some buffer-overflow issues.  These patches are conservative, in the
85395         sense that when I couldn't determine whether an overflow was possible,
85396         I inserted a run-time check.
85397         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
85398         macros.
85399         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
85400         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
85401         (re_xnrealloc, re_x2nrealloc): New inline functions.
85402         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
85403         parse_bracket_exp):
85404         (build_equiv_class, build_charclass): Check for arithmetic overflow
85405         in size expression calculations.
85406         * lib/regex_internal.c (re_string_realloc_buffers):
85407         (build_wcs_upper_buffer, re_node_set_add_intersect):
85408         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
85409         (re_dfa_add_node, register_state): Likewise.
85410         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
85411         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
85412         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
85413         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
85414
85415 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85416
85417         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85418         m4/ulonglong.m4.  Problem reported by Martin Lambers.
85419
85420 2005-09-02  Bruno Haible  <bruno@clisp.org>
85421
85422         Support for lib vs. lib64 distinction on biarch platforms.
85423         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
85424         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
85425         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
85426
85427 2005-09-02  Bruno Haible  <bruno@clisp.org>
85428
85429         * gnulib-tool (import): In the other first-use case, provide defaults
85430         as well.
85431
85432 2005-09-02  Bruno Haible  <bruno@clisp.org>
85433
85434         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
85435         patches not yet found in the latest gettext release.
85436
85437 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85438
85439         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
85440         to avoid a collision with bits/local_lim.h in glibc.
85441         All uses changed.  Problem reported by Dmitry V. Levin in
85442         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
85443
85444         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
85445         bugs in int versus size_t comparisons.
85446         (re_string_context_at): Fix bug where the code assumed that
85447         Idx is signed.
85448
85449         Use bool where appropriate.
85450         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
85451         All callers changed.
85452         (calc_eclosure_iter): Likewise, for ROOT arg.
85453         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
85454         (build_charclass_op): Likewise, for NON_MATCH arg.
85455         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85456         (re_string_construct_common): Likewise, for ICASE arg.
85457         * lib/regexec.c (re_search_2_stub, re_search_stub):
85458         Likewise, for RET_LEN arg.
85459         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85460         (set_regs): Likewise, for FL_BACKTRACK arg.
85461         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85462         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85463         (calc_eclosure_iter, parse_bracket_exp):
85464         Use bool for internal variables that are booleans.
85465         * lib/regexec.c (re_search_internal, check_matching,
85466         proceed_next_node):
85467         (set_regs, build_sifted_states, sift_states_bkref):
85468         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85469         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85470         (find_collation_sequence_value):
85471         Likewise.
85472         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85473         (re_node_set_compare):
85474         Return bool, not int. All callers changed.
85475         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85476         (build_trtable, check_node_accept): Likewise.
85477         * lib/regex_internal.h: Include stdbool.h.
85478
85479         Fix bugs uncovered when converting to bool.
85480         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85481         failure instead of charging ahead blindly.
85482         * lib/regex_internal.c (register_state): Likewise.
85483         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85484         for freeing internal storage.
85485         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85486         bitset pieces used as boolean, to avoid undefined behavior
85487         on hosts that do int overflow checking.
85488
85489 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85490
85491         * config/srclist.txt: Add glibc bugs 1285-1287.
85492
85493 2005-09-01  Jim Meyering  <jim@meyering.net>
85494
85495         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85496         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85497         Require gl_STAT_MACROS, too.
85498
85499 2005-09-01  Bruno Haible  <bruno@clisp.org>
85500
85501         * gnulib-tool (import): In the first-use case, provide defaults.
85502
85503 2005-09-01  Bruno Haible  <bruno@clisp.org>
85504
85505         * gnulib-tool (func_import): Remove the .tmp files.
85506
85507 2005-09-01  Bruno Haible  <bruno@clisp.org>
85508
85509         * gnulib-tool (func_import): Fix handling of symbolic links.
85510
85511 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85512
85513         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85514         old glibc regex code mishandles strings longer than 2**31 bytes.
85515         This patch fixes this when the regex code is used in gnulib
85516         (i.e., outside glibc).
85517
85518         This patch should not affect the use of the regex code inside
85519         glibc.  No doubt this problem also needs to be handled for glibc
85520         as well, but the result will be an incompatible change to the
85521         glibc ABI, and the old ABI will have to be supported too.  That
85522         can be the the subject for another patch.
85523
85524         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85525         governing whether the rest of this patch is active.  By default,
85526         the macro is disabled and the patch has no effect.
85527         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85528         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85529         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85530         (re_match_2, re_set_registers): Use the new types.
85531         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85532         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85533         New macros.
85534         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85535         (re_string_context_at, bin_tree_t, re_dfastate_t):
85536         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85537         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85538         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85539         (re_string_char_size_at, re_string_wchar_at):
85540         (re_string_elem_size_at):
85541         Use the new types and macros to port to 64-bit hosts.
85542         Use unsigned types for internal values, so that the code
85543         mostly works even for arrays larger than SSIZE_MAX.
85544         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85545         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85546         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85547         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85548         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85549         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85550         (calc_inveclosure, parse_dup_op, build_range_exp):
85551         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85552         (fetch_number, create_token_tree, mark_opt_subexp):
85553         Likewise.
85554         * lib/regex_internal.c (re_string_construct_common,
85555         create_ci_newstate):
85556         (create_cd_newstate, re_string_allocate, re_string_construct):
85557         (re_string_realloc_buffers, build_wcs_upper_buffer):
85558         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85559         (re_string_reconstruct, re_string_peek_byte_case):
85560         (re_string_fetch_byte_case, re_string_context_at):
85561         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85562         (re_node_set_init_copy, re_node_set_add_intersect):
85563         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85564         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85565         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85566         (re_acquire_state, re_acquire_state_context, register_state):
85567         Likewise.
85568         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85569         search_cur_bkref_entry):
85570         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85571         (re_search_internal, re_search_2_stub, re_search_stub)
85572         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85573         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85574         (update_cur_sifted_state, check_dst_limits):
85575         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85576         (check_subexp_limits, sift_states_bkref, merge_state_array):
85577         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85578         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85579         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85580         (expand_bkref_cache, check_node_accept_bytes):
85581         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85582         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85583         (acquire_init_state_context, check_halt_node_context):
85584         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85585         (sift_states_backward, clean_state_log_if_needed):
85586         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85587         (find_recover_state, transit_state_sb, transit_state_mb):
85588         (transit_state_bkref, build_trtable, match_ctx_clean):
85589         Likewise.
85590         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85591         to work around an assumption that REG_MISSING is negative.
85592
85593         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85594         (seek_collating_symbol_entry) [defined _LIBC]:
85595         (lookup_collation_sequence_value) [defined _LIBC]:
85596         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85597         Use prototypes rather than old-style function definitions.
85598         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85599         (transit_state_sb) [0]:
85600         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85601
85602         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85603         rm_eo.
85604
85605         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85606         (optimize_subexps, lower_subexp):
85607         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85608         since the signed shift might overflow.  Use 1u<<31 instead.
85609         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85610         Likewise.
85611         * lib/regexec.c (check_dst_limits_calc_pos_1,
85612         check_subexp_matching_top): Likewise.
85613
85614         * lib/regcomp.c (optimize_subexps, lower_subexp):
85615         Use CHAR_BIT rather than 8, for clarity.
85616         * lib/regexec.c (check_dst_limits_calc_pos_1):
85617         (check_subexp_matching_top): Likewise.
85618         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85619         have to worry about portability issues when shifting it left.
85620         Remove no-longer-needed test for table_size > 0.
85621         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85622         in a word, as the resulting behavior is undefined.
85623         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85624         in one case, a <= should have been an <, and in another case the
85625         whole test was missing.
85626         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85627         the standard name CHAR_BIT.
85628         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85629         this is not true on one's complement and signed-magnitude hosts.
85630
85631         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85632         next_last_offset.
85633         (struct re_dfa_t): Remove unused member states_alloc.
85634         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85635
85636 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85637
85638         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85639         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85640         and large-file glibc and in 32-bit large-file Solaris.
85641
85642 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85643
85644         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85645         lengths fit in regoff_t; this isn't true if regoff_t is the same
85646         width as size_t.
85647         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85648         (= START + RANGE) instead of RANGE.  This avoids overflow
85649         problems when regoff_t is the same width as size_t.
85650         All callers changed.
85651         (re_search_2_stub): Check for overflow when adding the
85652         sizes of the two strings.
85653         (re_search_stub): Check for overflow when adding START
85654         to RANGE; if it occurs, substitute the extreme value.
85655
85656 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85657
85658         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85659
85660 2005-08-31  Jim Meyering  <jim@meyering.net>
85661
85662         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85663         a pointer-to-const.
85664         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85665         (register_state): Likewise.
85666         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85667         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85668         (group_nodes_into_DFAstates): Likewise.
85669
85670 2005-08-31  Jim Meyering  <jim@meyering.net>
85671
85672         * check-module: Add a FIXME comment.
85673
85674 2005-08-31  Eric Blake  <ebb9@byu.net>
85675
85676         * modules/unistd-safer (Files): Add unistd--.h.
85677         * modules/stdio-safer (Files): Add stdio--.h.
85678
85679 2005-08-31  Derek Price  <derek@ximbiot.com>
85680
85681         * lib/getdelim.c (getdelim): Return EOF on EOF.
85682         Reported by Larry Jones <lawrence.jones@ugs.com>.
85683
85684 2005-08-31  Bruno Haible  <bruno@clisp.org>
85685
85686         Avoid unnecessary diffs in the generated lib/Makefile.am.
85687         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85688         the generated files.
85689         (func_import): Don't set cmd.
85690
85691 2005-08-31  Bruno Haible  <bruno@clisp.org>
85692
85693         * lib/strstr.c: Include <stddef.h>, for NULL.
85694         * lib/strcasestr.c: Likewise.
85695         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85696
85697 2005-08-31  Bruno Haible  <bruno@clisp.org>
85698
85699         * gnulib-tool: New option --macro-prefix.
85700         (func_import): Use macro_prefix.
85701         (import): Handle option --macro-prefix.
85702
85703 2005-08-31  Bruno Haible  <bruno@clisp.org>
85704
85705         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85706         Also use new variables cached_lgpl, cached_libtool.
85707
85708 2005-08-31  Bruno Haible  <bruno@clisp.org>
85709
85710         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85711         always instantiating them.
85712
85713 2005-08-31  Bruno Haible  <bruno@clisp.org>
85714
85715         * gnulib-tool (func_import): Read the previous cached settings
85716         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85717         earlier added by gnulib but are now dropped. Warn when a gnulib file
85718         overwrites a non-gnulib file.
85719
85720 2005-08-31  Bruno Haible  <bruno@clisp.org>
85721
85722         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85723         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85724         projects that don't keep autogenerated files in CVS. Put into
85725         actioncmd only the specified modules, not the transitive closure.
85726
85727 2005-08-31  Bruno Haible  <bruno@clisp.org>
85728
85729         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85730         Create directories that shall be filled.
85731         (import): Don't look for gl_* macros in configure.ac. Recurse across
85732         all directories containing a gnulib-cache.m4 files, if meaningful.
85733
85734 2005-08-31  Bruno Haible  <bruno@clisp.org>
85735
85736         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85737         (import): Set seen_libtool when we see gl_LIBTOOL.
85738
85739 2005-08-31  Bruno Haible  <bruno@clisp.org>
85740
85741         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85742         declaration macro definitions from generated gnulib.m4.
85743
85744 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85745
85746         * lib/iconvme.h: Add prototype for iconv_alloc.
85747
85748 2005-08-29  Simon Josefsson  <jas@extundo.com>
85749
85750         * lib/iconvme.c: Fix errno.
85751
85752 2005-08-29  Bruno Haible  <bruno@clisp.org>
85753
85754         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85755         that it works when the directory contains spaces.
85756
85757 2005-08-29  Bruno Haible  <bruno@clisp.org>
85758
85759         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85760
85761 2005-08-29  Bruno Haible  <bruno@clisp.org>
85762
85763         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85764         Emit more advice.
85765
85766 2005-08-29  Bruno Haible  <bruno@clisp.org>
85767         and Stepan Kasal  <kasal@ucw.cz>
85768
85769         * check-module: If more parameters are given, check each of them
85770         separately; add more exceptions, as noted by Jim Meyering.
85771         (check_module): New procedure.
85772         (%exempt_header): Now contains all exceptions.
85773
85774 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85775
85776         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85777
85778 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85779
85780         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85781
85782 2005-08-28  Bruno Haible  <bruno@clisp.org>
85783
85784         * m4/gnulib-tool.m4: New file.
85785
85786 2005-08-27  Jim Meyering  <jim@meyering.net>
85787
85788         * modules/unistd-safer (Files): Add pipe-safer.c.
85789         * modules/fcntl-safer (Files): Add creat-safer.c.
85790
85791 2005-08-27  Jim Meyering  <jim@meyering.net>
85792
85793         * m4/stdlib-safer.m4: New file.  From coreutils.
85794         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85795         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85796         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85797         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85798         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85799
85800 2005-08-27  Jim Meyering  <jim@meyering.net>
85801
85802         * lib/fopen-safer.c: Merge minor changes from coreutils.
85803         * lib/dup-safer.c: Likewise.
85804         * lib/fd-safer.c: Likewise.
85805
85806         Merge from coreutils.
85807         * lib/stdio--.h: New file.
85808         * lib/stdlib--.h: New file.
85809         * lib/mkstemp-safer.c: New file.
85810
85811         GNU tar needs these.
85812         * lib/pipe-safer.c: New file.
85813         * lib/creat-safer.c: New file.
85814         * lib/fcntl--.h (creat): Define to creat_safer.
85815         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85816         * lib/unistd--.h (pipe): Define to pipe_safer.
85817         * lib/unistd-safer.h: Declare pipe_safer.
85818
85819 2005-08-26  Simon Josefsson  <jas@extundo.com>
85820
85821         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85822         Haible <bruno@clisp.org>.
85823
85824 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85825
85826         * lib/regex_internal.h: Remove all references to
85827         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85828         or better.
85829         (bitset_not, bitset_merge, bitset_not_merge):
85830         (bitset_mask, re_string_allocate, re_string_construct):
85831         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85832         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85833         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85834         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85835         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85836         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85837         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85838         (re_acquire_state_context):
85839         Remove unnecessary forward decls.
85840         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85841         Put __attribute at function definition,
85842         now that the function decl has been removed.
85843         * lib/regex_internal.c (re_string_peek_byte_case):
85844         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85845         Likewise.
85846
85847 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85848
85849         * m4/regex.m4: Add AC_PREREQ(2.50).
85850         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85851
85852 2005-08-25  Simon Josefsson  <jas@extundo.com>
85853
85854         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85855         __fsetlocking.
85856
85857 2005-08-25  Simon Josefsson  <jas@extundo.com>
85858
85859         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85860         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85861         GLIBC specific code.
85862
85863 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85864
85865         Make regex safe for g++.  This fixes one real bug (an "err"
85866         that should have been "*err").  g++ problem reported by
85867         Sam Steingold.
85868         * lib/regex_internal.h (re_calloc): New macro, consistent with
85869         re_malloc etc.  All callers of calloc changed to use re_calloc.
85870         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85871         not int.  All callers changed.
85872         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85873         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85874         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85875         (find_recover_state): Change "err" to "*err"; this fixes what
85876         appears to be a real bug.
85877         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85878         versus int.
85879
85880 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85881
85882         * modules/regex (Depends-on): Add malloc, since the code
85883         assumes that !malloc(0) means failure.
85884
85885 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85886
85887         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85888
85889         alloca modernization/simplification for regex.
85890         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85891         needs to be at the start of the file, and can be moved into
85892         regex_internal.h and simplified.
85893         * lib/regex_internal.h: Include <alloca.h>.
85894         (__libc_use_alloca) [!defined _LIBC]: New macro.
85895         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85896         now works outside glibc.
85897
85898 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85899
85900         * config/srclist.txt: Add glibc bugs 1241, 1245.
85901
85902 2005-08-25  Jim Meyering  <jim@meyering.net>
85903
85904         * lib/open-safer.c: Include <config.h>.
85905         Otherwise, we'd lose LARGEFILE support in any file using
85906         e.g. "fcntl--.h"
85907
85908 2005-08-25  Bruno Haible  <bruno@clisp.org>
85909
85910         * m4/minmax.m4: Require autoconf 2.52.
85911         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85912         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85913         alternatives of translit over the alphabet.
85914         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85915
85916 2005-08-24  Simon Josefsson  <jas@extundo.com>
85917
85918         * tests/test-getpass.c: New file.
85919
85920 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85921
85922         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85923         for GNU regex features.
85924
85925 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85926
85927         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85928         * lib/regex.h (regerror): Likewise.
85929
85930         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85931         requires this.  (The code never needed it.)
85932
85933         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85934         All uses of recently-renamed identifiers changed to use the new,
85935         POSIX-compliant names.  The code will build and run just fine
85936         without these changes, but it's better to eat our own dog food
85937         and use the standard-conforming names.
85938
85939         * lib/regex.h: Fix a multitude of POSIX name space violations.
85940         These changes have an effect only for programs that define
85941         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85942         do not change anything for programs compiled in the normal way.
85943         Also, there is no effect on the ABI.
85944
85945         (_REGEX_SOURCE): New macro.
85946         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85947         defined and _GNU_SOURCE is not; this fixes a name space violation.
85948
85949         Rename the following macros to obey POSIX requirements.
85950         The old names are still visible as macros if _REGEX_SOURCE is defined.
85951         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85952         RE_BACKSLASH_ESCAPE_IN_LISTS.
85953         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85954         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85955         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85956         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85957         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85958         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85959         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85960         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85961         (REG_INTERVALS): renamed from RE_INTERVALS.
85962         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85963         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85964         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85965         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85966         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85967         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85968         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85969         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85970         RE_UNMATCHED_RIGHT_PAREN_ORD.
85971         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85972         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85973         (REG_DEBUG): renamed from RE_DEBUG.
85974         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85975         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85976         unusual, since we can't clash with the POSIX REG_ICASE.
85977         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85978         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85979         (REG_NO_SUB): renamed from RE_NO_SUB.
85980         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85981         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85982         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85983         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85984         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85985         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85986         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85987         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85988         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85989         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85990         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85991         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85992         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85993         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85994         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85995         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85996         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85997         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85998         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85999         (REG_FIXED): Renamed from REGS_FIXED.
86000         (REG_NREGS): Renamed from RE_NREGS.
86001
86002         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
86003         of other REG_* macros, since POSIX says the user is allowed to
86004         #undef these macros selectively.
86005
86006         (reg_errcode_t): Update comment stating what other tables need
86007         to be consistent.
86008
86009         Rename the following enum values to obey POSIX requirements.
86010         The old names are still visible as macros.
86011         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
86012         is not defined, since GNU is supposed to be a superset of POSIX as
86013         much as possible, and since we want reg_errcode_t to be a signed
86014         type for implementation consistency.
86015         (_REG_NOERROR): Renamed from REG_NOERROR.
86016         (_REG_NOMATCH): Renamed from REG_NOMATCH.
86017         (_REG_BADPAT): Renamed from REG_BADPAT.
86018         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
86019         (_REG_ECTYPE): Renamed from REG_ECTYPE.
86020         (_REG_EESCAPE): Renamed from REG_EESCAPE.
86021         (_REG_ESUBREG): Renamed from REG_ESUBREG.
86022         (_REG_EBRACK): Renamed from REG_EBRACK.
86023         (_REG_EPAREN): Renamed from REG_EPAREN.
86024         (_REG_EBRACE): Renamed from REG_EBRACE.
86025         (_REG_BADBR): Renamed from REG_BADBR.
86026         (_REG_ERANGE): Renamed from REG_ERANGE.
86027         (_REG_ESPACE): Renamed from REG_ESPACE.
86028         (_REG_BADRPT): Renamed from REG_BADRPT.
86029         (_REG_EEND): Renamed from REG_EEND.
86030         (_REG_ESIZE): Renamed from REG_ESIZE.
86031         (_REG_ERPAREN): Renamed from REG_ERPAREN.
86032         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
86033         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
86034         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
86035         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
86036
86037         (_REG_RE_NAME, _REG_RM_NAME): New macros.
86038         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
86039         changed.  But support the old name if the new one is not defined
86040         and if _REGEX_SOURCE.
86041
86042         Change the following member names in struct re_pattern_buffer.
86043         The old names are still supported if !_REGEX_SOURCE.
86044         The new names are always supported, regardless of _REGEX_SOURCE.
86045         (re_buffer): Renamed from buffer.
86046         (re_allocated): Renamed from allocated.
86047         (re_used): Renamed from used.
86048         (re_syntax): Renamed from syntax.
86049         (re_fastmap): Renamed from fastmap.
86050         (re_translate): Renamed from translate.
86051         (re_can_be_null): Renamed from can_be_null.
86052         (re_regs_allocated): Renamed from regs_allocated.
86053         (re_fastmap_accurate): Renamed from fastmap_accurate.
86054         (re_no_sub): Renamed from no_sub.
86055         (re_not_bol): Renamed from not_bol.
86056         (re_not_eol): Renamed from not_eol.
86057         (re_newline_anchor): Renamed from newline_anchor.
86058
86059         Change the following member names in struct re_registers.
86060         The old names are still supported if !_REGEX_SOURCE.
86061         The new names are always supported, regardless of _REGEX_SOURCE.
86062         (rm_num_regs): Renamed from num_regs.
86063         (rm_start): Renamed from start.
86064         (rm_end): Renamed from end.
86065
86066         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
86067         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
86068         Prepend __ to parameter names.
86069
86070         Undo yesterday's changes.
86071
86072 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86073
86074         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
86075         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
86076         lib/regex.c.
86077
86078 2005-08-24  Jim Meyering  <jim@meyering.net>
86079
86080         Sync from coreutils.
86081         * m4/fcntl-safer.m4: New file.
86082
86083         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
86084         and object files for this module.
86085
86086 2005-08-24  Jim Meyering  <jim@meyering.net>
86087
86088         Sync from coreutils.
86089         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
86090
86091 2005-08-24  Jim Meyering  <jim@meyering.net>
86092
86093         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
86094         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
86095
86096 2005-08-24  Jim Meyering  <jim@meyering.net>
86097
86098         * modules/fcntl-safer: New module.
86099         * modules/fts (Depends-on): Add fcntl-safer.
86100         * MODULES.html.sh (File descriptor based Input/Output):
86101         Add fcntl-safer.
86102
86103 2005-08-24  Bruno Haible  <bruno@clisp.org>
86104
86105         Support for unit test modules.
86106         * modules/README: Mention tests modules.
86107         * modules/TEMPLATE-TESTS: New file.
86108         * gnulib-tool: New options --extract-tests-module, --with-tests and
86109         --tests-base (unused for the moment).
86110         (testsbase, inctests): New variables.
86111         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
86112         (func_verify_module): Exclude TEMPLATE-TESTS.
86113         (func_verify_nontests_module, func_verify_tests_module): New functions.
86114         (func_get_dependencies): Add implicit dependency for tests modules.
86115         (func_get_tests_module): New function.
86116         (func_modules_transitive_closure): When --with-tests was specified,
86117         include the unit tests as well, unless explicitly avoided.
86118         (func_emit_lib_Makefile_am): Ignore the tests modules here.
86119         (func_emit_tests_Makefile_am): New function.
86120         (func_create_testdir): When --with-tests was specified, emit a
86121         tests/ directory.
86122         * MODULES.html.sh (Future developments): Update.
86123
86124 2005-08-24  Bruno Haible  <bruno@clisp.org>
86125
86126         * modules/tls-tests: New file.
86127         * tests/test-tls.c: New file, from GNU gettext.
86128
86129 2005-08-24  Bruno Haible  <bruno@clisp.org>
86130
86131         * modules/lock-tests: New file.
86132         * tests/test-lock.c: New file, from GNU gettext.
86133
86134 2005-08-24  Bruno Haible  <bruno@clisp.org>
86135
86136         * lib/lock.h: Add multiple inclusion guard.
86137         * lib/tls.h: Add multiple inclusion guard.
86138
86139 2005-08-24  Bruno Haible  <bruno@clisp.org>
86140
86141         * gnulib-tool: Add support for the --aux-dir option to
86142         --create-testdir, --create-megatestdir, --test, --megatest.
86143         (func_create_testdir, func_create_megatestdir): Optionally emit a
86144         AC_CONFIG_AUX_DIR directive.
86145         (create-testdir, create-megatestdir, test, megatest): Provide a
86146         default value for $auxdir.
86147
86148 2005-08-24  Bruno Haible  <bruno@clisp.org>
86149
86150         * gnulib-tool (import): Use compound statement instead of subshell
86151         where possible.
86152
86153 2005-08-24  Bruno Haible  <bruno@clisp.org>
86154
86155         * gnulib-tool (import): Change --aux-dir default to "build-aux".
86156
86157 2005-08-24  Bruno Haible  <bruno@clisp.org>
86158
86159         * gnulib-tool (func_version): Update.
86160
86161 2005-08-24  Bruno Haible  <bruno@clisp.org>
86162
86163         * gnulib-tool (func_import, func_create_testdir,
86164         func_create_megatestdir): Quote all autoconf macro arguments.
86165
86166 2005-08-24  Bruno Haible  <bruno@clisp.org>
86167
86168         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
86169         option --force, because --force causes the aclocal.m4 of each
86170         subdirectory to be newer than the corresponding config.h.in.
86171
86172 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86173
86174         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
86175         All contents moved to gl_REGEX.
86176         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
86177         assume that it does.
86178
86179 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86180
86181         * lib/regex.h (REG_NOSYS)
86182         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
86183         Define, since POSIX requires it as of 2001.
86184         (_REG_ENOSYS)
86185         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
86186         New private symbol, used to keep the enum signed in all cases.
86187         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
86188         Youngman in
86189         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
86190
86191         * lib/regex_internal.c (re_string_skip_chars, register_state):
86192         (calc_state_hash):
86193         Remove forward decls; no longer needed now that we use prototypes.
86194         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
86195         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
86196         (clean_state_log_if_needed): Likewise.
86197
86198 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86199
86200         * config/srclist.txt: Add glibc bugs 1231-1233.
86201
86202 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86203
86204         Fix problems reported by Sam Steingold in
86205         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
86206         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
86207         assumed that reg_errcode_t is a signed type, which is not
86208         necessarily true if _XOPEN_SOURCE is not defined.
86209         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
86210         since some compilers warn about it otherwise.
86211
86212 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86213
86214         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
86215         (init_word_char, create_initial_state, duplicate_node_closure):
86216         (fetch_token, peek_token_bracket, build_range_exp):
86217         (build_collating_symbol): Remove forward decls; no longer needed
86218         now that we use prototypes.
86219
86220         * lib/regcomp.c:
86221         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
86222         (re_compile_fastmap_iter, regcomp, regerror, regfree):
86223         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
86224         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
86225         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
86226         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
86227         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
86228         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
86229         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
86230         (build_range_exp, build_collating_symbol, parse_bracket_exp):
86231         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
86232         (build_charclass, build_charclass_op, fetch_number, create_tree):
86233         (create_token_tree, mark_opt_subexp, duplicate_tree):
86234         Use prototypes rather than old-style definitions.
86235
86236         * lib/regex_internal.c:
86237         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
86238         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
86239         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
86240         (re_string_reconstruct, re_string_peek_byte_case):
86241         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
86242         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
86243         (re_node_set_init_copy, re_node_set_add_intersect):
86244         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86245         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86246         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
86247         (re_acquire_state, re_acquire_state_context, register_state):
86248         (create_ci_newstate, create_cd_newstate, free_state):
86249         Likewise.
86250         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
86251         re_search_2):
86252         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
86253         (re_search_internal, prune_impossible_nodes):
86254         (acquire_init_state_context, check_matching, static):
86255         (check_halt_node_context, check_halt_state_context, proceed_next_node):
86256         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
86257         (update_regs, sift_states_backward, build_sifted_states):
86258         (clean_state_log_if_needed, merge_state_array):
86259         (update_cur_sifted_state, add_epsilon_src_nodes):
86260         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
86261         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
86262         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
86263         (find_recover_state, check_subexp_matching_top, transit_state_mb):
86264         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
86265         (check_arrival, check_arrival_add_next_nodes):
86266         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
86267         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
86268         (check_node_accept_bytes, check_node_accept, extend_buffers):
86269         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
86270         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
86271         (sift_ctx_init):
86272         Likewise.
86273
86274         * lib/regex_internal.h:
86275         (re_string_allocate, re_string_construct, re_string_reconstruct):
86276         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
86277         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
86278         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
86279         (re_string_context_at, re_string_peek_byte_case):
86280         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
86281         is defined, since we now use prototypes always.
86282
86283         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
86284         C89 or better.  All uses removed.
86285
86286 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86287
86288         * config/srclist.txt: Add glibc bugs 1220-1227.
86289
86290 2005-08-20  Jim Meyering  <jim@meyering.net>
86291
86292         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
86293         of unused local, dfa.
86294
86295 2005-08-20  Bruno Haible  <bruno@clisp.org>
86296
86297         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
86298
86299 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86300
86301         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
86302         (re_node_set_insert_last, re_dfa_add_node):
86303         Rename local variables to avoid GCC shadowing warnings.
86304
86305 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86306
86307         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
86308         [defined lint]: Suppress bogus uninitialized-variable warnings.
86309
86310         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
86311         and let the caller return REG_ESPACE if out of space.  This
86312         removes an uninitialied-variable warning with GCC 4.0.1, and also
86313         avoids taking the address of a local variable.  All callers
86314         changed.
86315
86316 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86317
86318         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
86319         $LIBCSRC/posix/regexec.c.
86320         Add glibc bug 1217 for regcomp.c.
86321
86322 2005-08-19  Jim Meyering  <jim@meyering.net>
86323
86324         * lib/regexec.c (proceed_next_node): Redo local variables to
86325         avoid GCC shadowing warnings.
86326
86327 2005-08-18  Bruno Haible  <bruno@clisp.org>
86328
86329         * lib/strstr.c (strstr): Fix return value in multibyte case.
86330         * lib/strcasestr.c (strcasestr): Likewise.
86331
86332 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86333
86334         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
86335
86336 2005-08-17  Jim Meyering  <jim@meyering.net>
86337
86338         Make the %s format (seconds since the epoch) work for a negative
86339         number and when used with a zero-padded field width, e.g. %015s.
86340
86341         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
86342         label so that it precedes the code to set `digits'.  Otherwise,
86343         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
86344         print `00-22'.  Now, it prints `-0022', as it should.
86345
86346 2005-08-17  Bruno Haible  <bruno@clisp.org>
86347
86348         * modules/strstr (Files): Add m4/mbrtowc.m4.
86349         (Depends-on): Add mbuiter.
86350
86351 2005-08-17  Bruno Haible  <bruno@clisp.org>
86352
86353         * modules/strcasestr: New file.
86354         * MODULES.html.sh (String handling, based on ANSI C 89): Add
86355         strcasestr.
86356
86357 2005-08-17  Bruno Haible  <bruno@clisp.org>
86358
86359         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
86360
86361 2005-08-17  Bruno Haible  <bruno@clisp.org>
86362
86363         * modules/mbuiter: New file.
86364         * MODULES.html.sh (Extended multibyte and wide character utilities):
86365         Add mbuiter.
86366
86367 2005-08-17  Bruno Haible  <bruno@clisp.org>
86368
86369         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
86370         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
86371
86372 2005-08-17  Bruno Haible  <bruno@clisp.org>
86373
86374         * m4/strcasestr.m4: New file.
86375
86376 2005-08-17  Bruno Haible  <bruno@clisp.org>
86377
86378         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
86379         * lib/strstr.c: Completely rewritten, with multibyte locale support.
86380
86381 2005-08-17  Bruno Haible  <bruno@clisp.org>
86382
86383         * lib/strcasestr.h: New file.
86384         * lib/strcasestr.c: New file.
86385
86386 2005-08-17  Bruno Haible  <bruno@clisp.org>
86387
86388         * lib/strcasecmp.c: Use mbuiter.h.
86389
86390 2005-08-17  Bruno Haible  <bruno@clisp.org>
86391
86392         * lib/mbuiter.h: New file.
86393
86394 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
86395
86396         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
86397         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
86398         and gl_GETOPT are both invoked via different paths (as happens
86399         with GNU tar CVS because it uses both argp and getopt), the former
86400         wins.
86401
86402 2005-08-16  Bruno Haible  <bruno@clisp.org>
86403
86404         * modules/tls: New file.
86405         * MODULES.html.sh (Multithreading): Add tls.
86406
86407 2005-08-16  Bruno Haible  <bruno@clisp.org>
86408
86409         * modules/strnlen1: New file.
86410         * MODULES.html.sh (String handling): Add strnlen1.
86411
86412 2005-08-16  Bruno Haible  <bruno@clisp.org>
86413
86414         * modules/strcase (Files): Add m4/mbrtowc.m4.
86415         (Depends-on): Add strnlen1, mbchar.
86416
86417 2005-08-16  Bruno Haible  <bruno@clisp.org>
86418
86419         * modules/mbiter: New file.
86420         * MODULES.html.sh (Extended multibyte and wide character utilities):
86421         Add mbiter.
86422
86423 2005-08-16  Bruno Haible  <bruno@clisp.org>
86424
86425         * modules/mbfile: New file.
86426         * MODULES.html.sh (Extended multibyte and wide character utilities):
86427         Add mbfile.
86428
86429 2005-08-16  Bruno Haible  <bruno@clisp.org>
86430
86431         * modules/mbchar: New file.
86432         * MODULES.html.sh (Extended multibyte and wide character utilities):
86433         New section.
86434
86435 2005-08-16  Bruno Haible  <bruno@clisp.org>
86436
86437         * m4/tls.m4: New file, from GNU gettext.
86438
86439 2005-08-16  Bruno Haible  <bruno@clisp.org>
86440
86441         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
86442         always.
86443         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
86444
86445 2005-08-16  Bruno Haible  <bruno@clisp.org>
86446
86447         * m4/mbiter.m4: New file.
86448
86449 2005-08-16  Bruno Haible  <bruno@clisp.org>
86450
86451         * m4/mbfile.m4: New file.
86452
86453 2005-08-16  Bruno Haible  <bruno@clisp.org>
86454
86455         * m4/mbchar.m4: New file.
86456
86457 2005-08-16  Bruno Haible  <bruno@clisp.org>
86458
86459         * lib/tls.h: New file, from GNU gettext.
86460         * lib/tls.c: New file, from GNU gettext.
86461
86462 2005-08-16  Bruno Haible  <bruno@clisp.org>
86463
86464         * lib/strnlen1.h: New file.
86465         * lib/strnlen1.c: New file.
86466
86467 2005-08-16  Bruno Haible  <bruno@clisp.org>
86468
86469         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86470         (mbi_init): Update.
86471         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86472         NUL byte, not after it.
86473
86474 2005-08-16  Bruno Haible  <bruno@clisp.org>
86475
86476         * lib/strcase.h (strcasecmp): Add note in comments.
86477         * lib/strncasecmp.c: Use code from strcasecmp.c.
86478         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86479         (strcasecmp): Work correctly in multibyte locales.
86480
86481 2005-08-16  Bruno Haible  <bruno@clisp.org>
86482
86483         * lib/mbiter.h: New file.
86484
86485 2005-08-16  Bruno Haible  <bruno@clisp.org>
86486
86487         * lib/mbfile.h: New file.
86488
86489 2005-08-16  Bruno Haible  <bruno@clisp.org>
86490
86491         * lib/mbchar.h: New file.
86492         * lib/mbchar.c: New file.
86493
86494 2005-08-16  Bruno Haible  <bruno@clisp.org>
86495
86496         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86497         the valid ones. Makes the comparison operations transitive:
86498         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86499         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86500
86501 2005-08-15  Simon Josefsson  <jas@extundo.com>
86502
86503         * modules/ssize_t (License): Change to 'unlimited'.
86504
86505         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86506
86507 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86508
86509         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86510         Add comments for each pending glibc patch.
86511
86512 2005-08-15  Bruno Haible  <bruno@clisp.org>
86513
86514         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86515         __cplusplus is defined.
86516
86517 2005-08-14  Jim Meyering  <jim@meyering.net>
86518
86519         Sync from coreutils.
86520
86521         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86522         Use the hash-table-based cycle-detection code not just when
86523         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86524         Reported by James Youngman in
86525         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86526         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86527         FTS_TIGHT_CYCLE_CHECK.
86528         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86529         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86530         once again.
86531         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86532         * lib/fts.c (fd_safer): Remove decl.
86533         Include fcntl--.h rather than unistd-safer.h
86534         (fts_safe_changedir): Don't call fd_safer; no longer needed
86535         now that we include fcntl--.h.
86536
86537 2005-08-12  Simon Josefsson  <jas@extundo.com>
86538
86539         * modules/getndelim2: Use ssize_t module.
86540         * modules/getnline: Likewise.
86541         * modules/safe-read: Likewise.
86542         * modules/xreadlink: Likewise.
86543
86544         * modules/ssize_t: New file.
86545
86546 2005-08-12  Simon Josefsson  <jas@extundo.com>
86547
86548         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86549
86550 2005-08-12  Simon Josefsson  <jas@extundo.com>
86551
86552         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86553         ssize_t.
86554
86555 2005-08-12  Simon Josefsson  <jas@extundo.com>
86556
86557         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86558         readline, getdelim and check_version.
86559         (Support for systems lacking ISO C 99: Sizes of integer types):
86560         Add size_max.
86561
86562 2005-08-12  Bruno Haible  <bruno@clisp.org>
86563
86564         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86565
86566 2005-08-11  Simon Josefsson  <jas@extundo.com>
86567
86568         * modules/readline: New file.
86569
86570         * modules/strnlen (Files): Add strnlen.h.
86571
86572 2005-08-11  Simon Josefsson  <jas@extundo.com>
86573
86574         * m4/readline.m4: New file.
86575
86576 2005-08-11  Simon Josefsson  <jas@extundo.com>
86577
86578         * lib/readline.h, readline.c: New file.
86579
86580 2005-08-11  Simon Josefsson  <jas@extundo.com>
86581
86582         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86583         gl_AVOID.
86584
86585 2005-08-11  Bruno Haible  <bruno@clisp.org>
86586
86587         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86588
86589 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86590
86591         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86592
86593 2005-08-10  Simon Josefsson  <jas@extundo.com>
86594
86595         * tests/test-iconvme.c: New file.
86596
86597 2005-08-10  Simon Josefsson  <jas@extundo.com>
86598
86599         * m4/strnlen.m4: New file.
86600
86601         * m4/strndup.m4: Don't check for strnlen declaration, done in
86602         strnlen.m4.
86603
86604 2005-08-10  Simon Josefsson  <jas@extundo.com>
86605
86606         * lib/strndup.c: Use strnlen.h.
86607
86608         * lib/strnlen.h: New file.
86609
86610 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86611
86612         * README: Typos.
86613
86614 2005-08-02  Simon Josefsson  <jas@extundo.com>
86615
86616         * modules/readline: New file.
86617
86618 2005-08-02  Simon Josefsson  <jas@extundo.com>
86619
86620         * modules/getdelim: New file.
86621
86622         * modules/getline: Rewrite, don't use getndelim2.
86623
86624 2005-08-02  Simon Josefsson  <jas@extundo.com>
86625
86626         * m4/getline.m4: Separate out getdelim stuff into separate module.
86627
86628         * m4/getdelim.m4: New file.
86629
86630 2005-08-02  Simon Josefsson  <jas@extundo.com>
86631
86632         * lib/getline.h, getline.c: Rewrite.
86633
86634         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86635
86636 2005-07-31  Bruno Haible  <bruno@clisp.org>
86637
86638         * lib/lock.h (gl_lock_initializer): New macro.
86639         (gl_lock_define_initialized): Use it.
86640         (gl_rwlock_initializer): New macro.
86641         (gl_rwlock_define_initialized): Use it.
86642         (gl_recursive_lock_initializer): New macro.
86643         (gl_recursive_lock_define_initialized): Use it.
86644
86645 2005-07-30  Karl Berry  <karl@gnu.org>
86646
86647         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86648         Report from Ben Pfaff, regarding getopt.
86649
86650 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86651
86652         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86653         normal way.
86654         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86655         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86656         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86657         (gl_GETOPT): Use the new macros.  Most of the implementation
86658         is moved to the new macros.  This is for programs like Emacs
86659         that don't want all the functionality of gl_GETOPT.
86660
86661 2005-07-26  Bruno Haible  <bruno@clisp.org>
86662
86663         * m4/lock.m4: Update from GNU gettext.
86664
86665 2005-07-26  Bruno Haible  <bruno@clisp.org>
86666
86667         * lib/lock.h: Update from GNU gettext.
86668         * lib/lock.c: Update from GNU gettext.
86669
86670 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86671
86672         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86673         obsolescent AC_TRY_RUN.  Include the default includes files, for
86674         'exit'.
86675
86676 2005-07-24  Bruno Haible  <bruno@clisp.org>
86677
86678         * modules/visibility: New file.
86679         * MODULES.html.sh (Misc): Add visibility.
86680
86681 2005-07-24  Bruno Haible  <bruno@clisp.org>
86682
86683         * m4/visibility.m4: New file.
86684
86685 2005-07-24  Bruno Haible  <bruno@clisp.org>
86686
86687         * doc/visibility.texi: New file.
86688
86689 2005-07-22  Bruno Haible  <bruno@clisp.org>
86690
86691         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86692         $(ALLOCA_H), redundant through BUILT_SOURCES.
86693         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86694         redundant through BUILT_SOURCES.
86695         * modules/byteswap (Makefile.am): Remove explicit dependency on
86696         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86697         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86698         $(FNMATCH_H), redundant through BUILT_SOURCES.
86699         * modules/getopt (Makefile.am): Remove explicit dependency on
86700         $(GETOPT_H), redundant through BUILT_SOURCES.
86701         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86702         redundant through BUILT_SOURCES.
86703         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86704         redundant through BUILT_SOURCES.
86705         * modules/stdbool (Makefile.am): Remove explicit dependency on
86706         $(STDBOOL_H), redundant through BUILT_SOURCES.
86707         * modules/stdint (Makefile.am): Remove explicit dependency on
86708         $(STDINT_H), redundant through BUILT_SOURCES.
86709         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86710         Remove explicit dependency on $(SYSEXITS_H).
86711         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86712
86713 2005-07-18  Simon Josefsson  <jas@extundo.com>
86714
86715         * lib/check-version.c (check_version): Accept identical versions too.
86716
86717 2005-07-18  Bruno Haible  <bruno@clisp.org>
86718
86719         * modules/lock: New file.
86720         * MODULES.html.sh (Multithreading): New section.
86721
86722 2005-07-18  Bruno Haible  <bruno@clisp.org>
86723
86724         * m4/lock.m4: New file, from GNU gettext.
86725
86726 2005-07-18  Bruno Haible  <bruno@clisp.org>
86727
86728         * lib/lock.h: New file, from GNU gettext.
86729         * lib/lock.c: New file, from GNU gettext.
86730
86731 2005-07-18  Bruno Haible  <bruno@clisp.org>
86732
86733         * lib/lock.h (gl_once_t): New type.
86734         (gl_once_define, gl_once): New macros.
86735         * lib/lock.c (fresh_once): New variable.
86736         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86737         functions.
86738
86739 2005-07-16  Simon Josefsson  <jas@extundo.com>
86740
86741         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86742         workaround, suggested by Bruno.
86743
86744 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86745
86746         * modules/xalloc (Depends-on): Add xalloc-die.
86747         * modules/xvasprintf (Depends-on): Add xalloc-die.
86748
86749 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86750
86751         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86752         with a minor change.
86753
86754 2005-07-15  Bruno Haible  <bruno@clisp.org>
86755
86756         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86757         When using lib/poll.c, define poll as rpl_poll.
86758
86759 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86760
86761         * modules/argp (Depends-on): Remove unlocked-io.
86762
86763 2005-07-14  Derek Price  <derek@ximbiot.com>
86764
86765         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86766         for glob symlink bug.
86767
86768 2005-07-14  Bruno Haible  <bruno@clisp.org>
86769
86770         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86771         Instead, test for *_unlocked function declarations directly.
86772
86773 2005-07-11  Simon Josefsson  <jas@extundo.com>
86774
86775         * modules/size_max: New file.
86776
86777         * modules/xsize: Depend on size_max module for size_max.m4.
86778
86779 2005-07-11  Simon Josefsson  <jas@extundo.com>
86780
86781         * lib/size_max.h: New file.
86782
86783 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86784
86785         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86786         copyright symbol and the year.
86787         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86788         (version_etc_va): Use parameterized copyright notice.
86789         Reword to conform to the current GNU coding standards.
86790
86791 2005-07-11  Karl Berry  <karl@gnu.org>
86792
86793         * doc/gnulib.texi (Quoting): new node.
86794         (Initial import): more info, from Patrice.
86795
86796 2005-07-11  Bruno Haible  <bruno@clisp.org>
86797
86798         * gnulib-tool (func_usage): Document option --avoid.
86799         (Command line options): Handle --avoid.
86800         (func_acceptable): New function.
86801         (func_modules_transitive_closure): Use it.
86802
86803 2005-07-11  Bruno Haible  <bruno@clisp.org>
86804
86805         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86806         Reported by Jim Meyering.
86807
86808 2005-07-10  Bruno Haible  <bruno@clisp.org>
86809
86810         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86811         Needed when size_t is smaller than 'unsigned int'.
86812         Reported by Paul Eggert.
86813
86814 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86815
86816         * modules/argp (Depends-on): Add unlocked-io
86817
86818 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86819
86820         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86821         block of defines.
86822
86823 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86824
86825         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86826         fix now.
86827
86828 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86829         and Paul Eggert  <eggert@cs.ucla.edu>
86830
86831         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86832         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86833
86834 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86835
86836         * modules/regex (Files): Add lib/regex_internal.c,
86837         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86838         (Depends-on): Add extensions.
86839         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86840
86841 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86842
86843         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86844         pathconf.
86845         * m4/same.m4 (gl_SAME): Likewise.
86846         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86847
86848         * m4/regex.m4: Adjust to new libc regex implementation.
86849         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86850         all the .c and .h parts of (the new) regex.
86851         Quote the m4 stuff better.
86852         Check for RE_ICASE bug of old gnulib.
86853         Check for REG_STARTEND of recent libc.
86854         Rename local variables from jm_* to gl_*.
86855         Quote operand of "test -f".
86856         Say "recent enough" version of libc, not "version 2".
86857         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86858         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86859         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86860         Remove check for btowc, isascii.
86861         Require AM_LANGINFO_CODESET.
86862
86863 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86864
86865         * lib/regex.c, regex.h: Sync from libc.
86866         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86867         * lib/regexec.c:
86868         New files, synced from libc, except that regex_internal.h
86869         currently has a small porting fix.
86870
86871 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86872
86873         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86874         regex_internal.c, regexec.c.
86875         Add regex_internal.h too, but as a comment, since the libc version
86876         is currently broken in gnulib mode.
86877
86878 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86879
86880         Support programs like Emacs that use gnulib but not gettext.
86881         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86882         * modules/gettext-h: New file.
86883         * modules/gettext (Files): Remove lib/gettext.h.
86884         (Depends-on): Add gettext-h.
86885         (Makefile.am): Remove lib_SOURCES.
86886         * modules/argmatch, modules/c-stack, modules/closeout:
86887         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86888         * modules/execute, modules/file-type, modules/getaddrinfo:
86889         * modules/getopt, modules/human, modules/javacomp:
86890         * modules/javaexec, modules/mkdir-p, modules/obstack:
86891         * modules/openat, modules/pagealign_alloc, modules/pipe:
86892         * modules/quotearg, modules/regex, modules/rpmatch:
86893         * modules/unicodeio, modules/userspec, modules/version-etc:
86894         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86895         * modules/xsetenv:
86896         Depend on gettext-h, not gettext.
86897
86898 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86899
86900         * gnulib-tool (func_import): Add support for 'public domain' license.
86901         * modules/alloca, modules/atexit, modules/memmove:
86902         Now public domain, not GPL.
86903         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86904         * modules/realloc, modules/strerror, modules/strtod:
86905         Now LGPL, not GPL.
86906
86907 2005-07-05  Bruno Haible  <bruno@clisp.org>
86908
86909         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86910         autoconf CVS. Needed for mingw.
86911
86912 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86913
86914         Remove the dependency of the strftime module on the tzset module.
86915         * modules/strftime (Depends-on): Remove dependency on tzset.
86916
86917 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86918
86919         Remove the dependency of the strftime module on the tzset module.
86920         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86921         gl_FUNC_TZSET_CLOBBER.
86922
86923 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86924
86925         Remove the dependency of the strftime module on the tzset module.
86926         * lib/strftime.c (my_strftime)
86927         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86928         Copy the input structure, to work around some of the bug with
86929         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86930         Solaris releases, you should also use the tzset module, but we won't
86931         require it as a dependency any more since we don't want LGPLed code
86932         to depend on GPLed code.
86933
86934 2005-07-02  Jim Meyering  <jim@meyering.net>
86935
86936         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86937         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86938         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86939         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86940
86941 2005-07-02  Jim Meyering  <jim@meyering.net>
86942
86943         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86944
86945 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86946
86947         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86948         declares only 'struct timespec;' (!).
86949
86950 2005-07-01  Jim Meyering  <jim@meyering.net>
86951
86952         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86953         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86954         * lib/save-cwd.c, tempname.c:
86955         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86956         and don't include <sys/file.h>).
86957
86958 2005-06-29  Jim Meyering  <jim@meyering.net>
86959
86960         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86961         type name.  Use the variable name instead.
86962         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86963         Likewise.
86964
86965 2005-06-28  Simon Josefsson  <jas@extundo.com>
86966
86967         * modules/check-version (Files): Add check-version.m4.
86968
86969 2005-06-28  Simon Josefsson  <jas@extundo.com>
86970
86971         * m4/check-version.m4: New file, suggested by Jim Meyering
86972         <jim@meyering.net>.
86973
86974 2005-06-28  Simon Josefsson  <jas@extundo.com>
86975
86976         * lib/check-version.h, lib/check-version.c: New files.
86977
86978 2005-06-28  Simon Josefsson  <jas@extundo.com>
86979
86980         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86981         collision with global variable.  Better indentation.  Don't
86982         increment buffer pointer beyond buffer end.  Based on comments
86983         from Paul Eggert <eggert@cs.ucla.edu>.
86984
86985         * lib/base64.h: Indent.
86986
86987 2005-06-28  Simon Josefsson  <jas@extundo.com>
86988
86989         * doc/gnulib.texi (Library version handling): New section.
86990
86991 2005-06-28  Jim Meyering  <jim@meyering.net>
86992
86993         * check-module (find_included_lib_files): Hard-code another
86994         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86995         but modules/fts-lgpl (correctly) does not list those files.
86996
86997         * modules/canonicalize (Files): Add lib/pathmax.h.
86998
86999 2005-06-25  Simon Josefsson  <jas@extundo.com>
87000
87001         * modules/check-version: New file.
87002
87003 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
87004
87005         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
87006         initializer of struct addrinfo, as an indication that we don't
87007         care how many members the structure has.
87008
87009 2005-06-24  Derek Price  <derek@ximbiot.com>
87010         and Bruno Haible  <bruno@clisp.org>
87011
87012         Remove stat module & update lstat.
87013         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
87014         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87015         * m4/stat.m4: Remove this file.
87016
87017 2005-06-24  Derek Price  <derek@ximbiot.com>
87018         and Bruno Haible  <bruno@clisp.org>
87019
87020         Remove stat module & update lstat.
87021         * lib/stat.c: Remove this file...
87022         (slash_aware_lstat): ...moving this content and its support...
87023         * lib/lstat.c (rpl_lstat): ...into here.
87024         * lib/lstat.h: New file.
87025
87026 2005-06-24  Derek Price  <derek@ximbiot.com>
87027         and Bruno Haible  <bruno@clisp.org>
87028
87029         Remove stat module & update lstat.
87030         * config/srclist.txt (libc sources): Remove stat.
87031
87032 2005-06-24  Derek Price  <derek@ximbiot.com>
87033         and Bruno Haible  <bruno@clisp.org>
87034
87035         Remove stat module & update lstat.
87036         * MODULES.html.sh (stat): Remove.
87037         * MODULES.html: Regenerated.
87038         * modules/lstat (Description): Correct function name.
87039         (Files): Add "lstat.h".
87040         (Depends-on): Remove stat, add xalloc, stat-macros.
87041         * modules/stat: Remove this file.
87042         (Include): Add "lstat.h", remove <sys/stat.h>.
87043
87044 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
87045
87046         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
87047         (ranged_convert): Don't save conversion in a temporary struct.
87048         This causes a warning with GCC 4.0.0, and anyway in the typical
87049         case it's not worth the extra 100 bytes or so of code.
87050         (ranged_convert, __mktime_internal): When calling a function via a
87051         pointer P, use P () rather than (*P) (), as we now assume C89 or
87052         better.
87053
87054 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87055
87056         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
87057         "who -r" failed to give output.  Problem reported by Tim Waugh.
87058
87059         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
87060         (xcalloc): Use it to avoid needless tests.
87061         Problem reported by Jim Meyering.
87062
87063 2005-06-20  Derek Price  <derek@ximbiot.com>
87064
87065         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
87066         unnecessary for Autoconfs > 2.59c.
87067
87068 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87069
87070         * lib/argp.h (__option_is_short): Check upper limit of
87071         __key. Isprint() requires its argument to have the value
87072         of an unsigned char or EOF.
87073
87074 2005-06-16  Jim Meyering  <jim@meyering.net>
87075
87076         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
87077         when either N or S is zero.
87078
87079 2005-06-16  Derek Price  <derek@ximbiot.com>
87080
87081         * m4/bison.m4: Declare YACC & YFLAGS precious.
87082
87083 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
87084
87085         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
87086         multibyte string or pattern, fall back on unibyte matching.
87087         Problem reported by James Youngman.
87088
87089 2005-06-08  Bruno Haible  <bruno@clisp.org>
87090
87091         * modules/csharpcomp: New file.
87092         * MODULES.html.sh (C#): Add csharpcomp.
87093
87094 2005-06-08  Bruno Haible  <bruno@clisp.org>
87095
87096         * m4/csharpcomp.m4: New file, from GNU gettext.
87097
87098 2005-06-08  Bruno Haible  <bruno@clisp.org>
87099
87100         * lib/csharpcomp.h: New file, from GNU gettext.
87101         * lib/csharpcomp.c: New file, from GNU gettext.
87102         * lib/csharpcomp.sh.in: New file, from GNU gettext.
87103
87104 2005-06-08  Bruno Haible  <bruno@clisp.org>
87105
87106         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
87107         warning on mingw.
87108
87109 2005-06-07  Derek Price  <derek@ximbiot.com>
87110
87111         Sync from CVS.
87112         * lib/glob_.h: Indent nested #ifdef.
87113
87114 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87115
87116         Sync from coreutils.
87117         Use "file name" when talking about file names, instead of "filename"
87118         or "path", as per the GNU coding standards.
87119         * lib/mkdir-p.c: Renamed from makepath.c.
87120         (make_dir_parents): Renamed from make_path.  All callers changed.
87121         * lib/mkdir-p.h: Likewise.  All includers changed.
87122         * lib/filenamecat.c: Renamed from path-concat.c.
87123         (file_name_concat): Renamed from path_concat.  All callers changed.
87124         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
87125         * lib/filenamecat.h: Likewise.  All includers changed.
87126         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
87127         in comments or local variable names.
87128         * lib/basename.c: Likewise.
87129         * lib/canonicalize.c, canonicalize.h: Likewise.
87130         * lib/dirname.c, dirname.h: Likewise.
87131         * lib/euidaccess.c: Likewise.
87132         * lib/exclude.c: Likewise
87133         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
87134         * lib/fsusage.c, fsuage.h: Likewise.
87135         * lib/fts.c, fts_.h: Likewise.
87136         * lib/getcwd.c: Likewise.
87137         * lib/getloadavg.c: Likewise.
87138         * lib/mkstemp.c: Likewise.
87139         * lib/mountlist.c, mountlist.h: Likewise.
87140         * lib/openat.c, openat.h: Likewise.
87141         * lib/readlink-stub.c: Likewise.
87142         * lib/readutmp.c, readutmp.h: Likewise.
87143         * lib/rename.c: Likewise.
87144         * lib/rmdir.c: Likewise.
87145         * lib/same.c: Likewise.
87146         * lib/savedir.c: Likewise.
87147         * lib/stripslash.c: Likewise.
87148         * lib/tempname.c: Likewise.
87149         * lib/xreadlink.c: Likewise.
87150         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
87151         All uses changed.
87152         * lib/exclude.h: Likewise.
87153
87154         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
87155         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87156         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
87157         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87158         * lib/pathmax.h: Include <limits.h> unconditionally, since other
87159         files have been getting away with it for years (MORE/BSD 4.3
87160         is extinct now).
87161         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
87162         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87163
87164         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
87165         Define to 256, not 255, as per modern POSIX.
87166
87167 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87168
87169         Sync from coreutils.
87170         Use "file name" when talking about file names, instead of "filename"
87171         or "path", as per the GNU coding standards.
87172         * MODULES.html.sh: mkdir-p renamed from makepath.
87173         filenamecat renamed from path-concat.
87174         * modules/filenamecat: Renamed from modules/path-concat.
87175         (Files): filenamecat.h and filenamecat.c renamed from
87176         path-concat.h and path-concat.c.
87177         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
87178         (Include): filenamecat.h, not path-concat.h.
87179         * modules/mkdir-p: Renamed from modules/makepath.
87180         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
87181         makepath.c.
87182         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
87183         (Include): mkdir-p.h, not makepath.h.
87184
87185 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87186
87187         Sync from coreutils.
87188         * m4/mkdir-p.m4: Renamed from makepath.m4.
87189         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
87190         Rename files from makepath.c to mkdir-p.c, and from
87191         makepath.h to mkdir-p.h.
87192         * m4/filenamecat.m4: Renamed from path-concat.m4.
87193         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
87194         Rename files from path-concat.c to filenamecat.c,
87195         and from path-concat.h to filenamecat.h.
87196         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
87197         "file name" in local variables or comments.
87198         * m4/rename.m4: Likewise.
87199
87200 2005-06-01  Bruno Haible  <bruno@clisp.org>
87201
87202         * modules/csharpexec: New file.
87203         * MODULES.html.sh (C#): New section.
87204
87205 2005-06-01  Bruno Haible  <bruno@clisp.org>
87206
87207         * m4/csharp.m4: New file, from GNU gettext.
87208         * m4/csharpexec.m4: New file, from GNU gettext.
87209
87210 2005-06-01  Bruno Haible  <bruno@clisp.org>
87211
87212         * lib/csharpexec.h: New file, from GNU gettext.
87213         * lib/csharpexec.c: New file, from GNU gettext.
87214         * lib/csharpexec.sh.in: New file, from GNU gettext.
87215
87216 2005-05-31  Derek Price  <derek@ximbiot.com>
87217             Paul Eggert  <eggert@cs.ucla.edu>
87218
87219         Sync from cvs.
87220         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87221
87222 2005-05-31  Derek Price  <derek@ximbiot.com>
87223             Paul Eggert  <eggert@cs.ucla.edu>
87224
87225         Sync from cvs.
87226         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87227
87228 2005-05-29  Derek Price  <derek@ximbiot.com>
87229
87230         * config/srclist.txt (glob_.h, glob.c): Add these files.
87231
87232 2005-05-29  Derek Price  <derek@ximbiot.com>
87233
87234         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
87235         * modules/glob: New file.
87236         * modules/getlogin_r: Add link to POSIX spec in description.
87237
87238 2005-05-29  Derek Price  <derek@ximbiot.com>
87239             Paul Eggert  <eggert@cs.ucla.edu>
87240
87241         * m4/glob.m4: New file.
87242
87243 2005-05-29  Derek Price  <derek@ximbiot.com>
87244             Paul Eggert  <eggert@cs.ucla.edu>
87245
87246         * lib/glob_.h, lib/glob.c: New files.
87247
87248 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87249
87250         * modules/fts (Files): Remove m4/inttypes-pri.m4.
87251         * modules/fts-lgpl (Depends-on): Remove gettext.
87252
87253 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87254
87255         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
87256         and don't require gt_INTTYPES_PRI.
87257
87258 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87259
87260         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
87261
87262         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
87263         the configuration hassle isn't worth it.
87264         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
87265         (LONGEST_MODIFIER, PRIuMAX): Remove.
87266
87267 2005-05-27  Bruno Haible  <bruno@clisp.org>
87268
87269         * lib/getlogin_r.h: Remove second include of <stddef.h>.
87270
87271 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
87272
87273         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
87274         _POSIX_PTHREAD_SEMANTICS for Solaris.
87275
87276 2005-05-25  Derek Price  <derek@ximbiot.com>
87277
87278         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
87279
87280 2005-05-25  Derek Price  <derek@ximbiot.com>
87281             Paul Eggert  <eggert@cs.ucla.edu>
87282
87283         * modules/getlogin_r, m4/getlogin_r.m4: New files.
87284         * lib/getlogin_r.c, getlogin_r.h: New files.
87285
87286 2005-05-25  Bruno Haible  <bruno@clisp.org>
87287             Derek Price  <derek@ximbiot.com>
87288
87289         * lib/getlogin_r.h: Simplify API documentation.
87290
87291 2005-05-23  Derek Price  <derek@ximbiot.com>
87292
87293         * modules/minmax (Files): Add m4/minmax.m4.
87294         (configure.ac): Add gl_MINMAX.
87295
87296 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
87297
87298         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
87299         so that unistd-safer.h (GPL'ed code) need not be included.
87300
87301 2005-05-22  Bruno Haible  <bruno@clisp.org>
87302
87303         * m4/minmax.m4: New file.
87304         Based on a patch by Derek Price <derek@ximbiot.com>.
87305
87306 2005-05-22  Bruno Haible  <bruno@clisp.org>
87307
87308         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
87309         (INT64_MIN): Fix definition.
87310         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
87311
87312         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
87313         NEED_SIGNED_INT_TYPES.
87314
87315         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
87316         HAVE_SYSTEM_INTTYPES.
87317
87318 2005-05-22  Bruno Haible  <bruno@clisp.org>
87319
87320         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
87321         Also include <sys/param.h> if it defines MIN, MAX.
87322         Based on a patch by Derek Price <derek@ximbiot.com>.
87323
87324 2005-05-21  Jim Meyering  <jim@meyering.net>
87325
87326         * modules/fts (Files): Add m4/inttypes-pri.m4.
87327         (Depends-on): Add lstat and remove gettext.  Alphabetize.
87328
87329 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87330
87331         New fts module.
87332         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
87333         (setup_dir, free_dir): New functions.
87334         (enter_dir, leave_dir): Define trivial
87335         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
87336         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
87337         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
87338         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
87339         Move to fts-cycle.c.
87340         (fts_open): Use setup_dir.
87341         (fts_close): Use free_dir.
87342         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
87343         This adds a label and some gotos, but the alternatives were messier.
87344         Check for memory allocation failure when entering a dir.
87345         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
87346         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
87347         (FTS): New member fts_cycle, that is a union that contains the
87348         old active_dir_ht and cycle_state.  All uses changed to mention
87349         fts_cycle.ht and fts_cycle.state.
87350         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
87351         fts.c, with the following changes:
87352         (setup_dir, free_dir): New functions.
87353         (enter_dir): Now returns bool.  Return true if successful, false
87354         if memory exhausted.  All callers changed.
87355         Do not bother partly cleaning up on
87356         memory allocation failure; that is free_dir's job.
87357         However, free ad if hash_insert fails, to avoid memory leak.
87358         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
87359         fts->fts_options to see which union member to use.
87360
87361 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87362
87363         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
87364         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
87365
87366 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87367
87368         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
87369
87370 2005-05-20  Jim Meyering  <jim@meyering.net>
87371
87372         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
87373         Now a macro, to pacify GCC.
87374
87375 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87376
87377         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
87378         of -1.
87379
87380 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87381
87382         * lib/chown.c (rpl_chown): Return -1 on failure.
87383
87384 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87385
87386         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
87387         Don't check for stddef.h.
87388         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
87389         don't use its results.
87390         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
87391         since we include them unconditionally.  Don't require
87392         AM_STDBOOL_H, since stdbool is a prerequisite.
87393         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
87394         since we assume C89 or better.
87395         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
87396         as we don't use their results.
87397         Don't check for fchdir, memmove, memset, strrchr, as we use
87398         them unconditionally.
87399         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
87400         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
87401
87402 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87403
87404         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
87405         Include <stddef.h> unconditionally, since we assume C89 now.
87406         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
87407         * lib/fts.c: Include fts_.h first, to check interface.
87408         Do not include intprops.h; no longer needed.
87409         Include cycle-check.h and hash.h, since fts_.h no longer does.
87410         Remove unnecessary casts of closedir to void.
87411         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
87412         decide whether to decrement nlinks.
87413         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
87414         (FTS): Use struct hash_table * instead of Hash_table, so that
87415         we no longer need to include hash.h here.
87416
87417 2005-05-18  Jim Meyering  <jim@meyering.net>
87418
87419         * modules/dirfd (License): Change to LGPL.  Most of the code
87420         is already in the public domain.
87421
87422 2005-05-18  Jim Meyering  <jim@meyering.net>
87423
87424         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
87425         Reported by Yoann Vandoorselaere.
87426
87427 2005-05-17  Jim Meyering  <jim@meyering.net>
87428
87429         * m4/fts.m4: New file, from coreutils.
87430
87431 2005-05-17  Jim Meyering  <jim@meyering.net>
87432
87433         * lib/fts.c, lib/fts_.h: New files, from coreutils.
87434
87435 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87436
87437         Sync from coreutils.
87438         * m4/unlinkdir.m4: New file.
87439
87440 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87441
87442         Sync from coreutils.
87443         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
87444         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
87445         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
87446         White space changes only.
87447         * lib/makepath.c (make_path): Port to hosts where leading "//" is
87448         special.
87449         * lib/yesno.c: Include getline.h, not ctype.h.
87450         (yesno): Don't remove leading white space; POSIX doesn't allow it.
87451         Use getline to remove arbitrary restriction on response length.
87452
87453 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87454
87455         * config/srclist-update: Spell out "Street" in FSF postal
87456         mail address; this is the style the FSF seems to prefer.
87457
87458         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87459         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87460         this updates FSF postal mail address.
87461
87462         Sync from coreutils.
87463         * modules/unlinkdir: New file.
87464         * modules/yesno (Depends-on): Add getline.
87465         * MODULES.html.sh (File system functions): Add unlinkdir.
87466
87467 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87468
87469         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87470         lib/strsep.h:
87471         Change the initial comment to refer to GPL, not LGPL.
87472         gnulib-tool will change it to LGPL as needed.
87473
87474         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87475         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87476         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87477         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87478         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87479         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87480         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87481         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87482         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87483         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87484         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87485         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87486         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87487         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87488         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87489         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87490         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87491         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87492         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87493         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87494         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87495         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87496         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87497         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87498         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87499         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87500         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87501         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87502         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87503         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87504         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87505         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87506         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87507         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87508         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87509         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87510         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87511         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87512         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87513         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87514         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87515         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87516         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87517         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87518         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87519         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87520         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87521         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87522         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87523         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87524         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87525         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87526         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87527         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87528         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87529         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87530         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87531         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87532         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87533         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87534         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87535         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87536         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87537         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87538         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87539         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87540         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87541         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87542         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87543         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87544         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87545         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87546         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87547         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87548         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87549         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87550         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87551         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87552         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87553         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87554         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87555         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87556         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87557         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87558         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87559         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87560         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87561         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87562         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87563         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87564         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87565         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87566         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87567         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87568         lib/yesno.c, lib/yesno.h:
87569         Update FSF postal mail address.
87570
87571 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87572
87573         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87574         tests/test-memmem.c, tests/test-stpncpy.c:
87575         Update FSF postal mail address.
87576
87577 2005-05-13  Bruno Haible  <bruno@clisp.org>
87578
87579         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87580         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87581         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87582         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87583         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87584         Add support for 64-bit integers in the MSVC compiler.
87585
87586 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87587
87588         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87589
87590 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87591
87592         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87593
87594 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87595
87596         * doc/getdate.texi (General date syntax): Don't say that date
87597         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87598         Problem reported by Nic Ferrier.
87599
87600 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87601
87602         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87603         specified in ai_socktype. Fix invalid ai_protocol
87604         check. ai_protocol is usually set to 0 or depending on
87605         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87606         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87607         ai_socktype / ai_protocol in the returned addrinfo structure.
87608
87609 2005-05-10  Simon Josefsson  <jas@extundo.com>
87610
87611         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87612         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87613
87614 2005-05-10  Karl Berry  <karl@gnu.org>
87615
87616         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87617         (from http://www.gnu.org/licenses).
87618         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87619         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87620         fdl.texi suffices.
87621
87622 2005-05-10  Karl Berry  <karl@gnu.org>
87623
87624         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87625         (COPYING.DOC): remove.
87626
87627         * config/srclist-update: new FSF address.
87628
87629 2005-05-10  Derek Price  <derek@ximbiot.com>
87630
87631         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87632         possible.
87633
87634 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87635             Bruno Haible  <bruno@clisp.org>
87636
87637         * modules/inet_ntop: New file.
87638         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87639         inet_ntop.
87640
87641 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87642             Bruno Haible  <bruno@clisp.org>
87643
87644         * m4/inet_ntop.m4: New file.
87645
87646 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87647             Bruno Haible  <bruno@clisp.org>
87648
87649         * lib/inet_ntop.h: New file.
87650         * lib/inet_ntop.c: New file, from glibc with modifications.
87651
87652 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87653
87654         * modules/time_r (License): Change to LGPL.
87655         * modules/extensions (License): Change to LGPL.  Actually,
87656         the license is more permissive than that, but currently gnulib-tool
87657         doesn't know how to handle more-permissive licenses.
87658
87659         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87660         Problem reported by Dave Love.
87661
87662 2005-05-08  Jim Meyering  <jim@meyering.net>
87663
87664         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87665         blank.
87666
87667 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87668
87669         * modules/argmatch (Depends-on): Add stdbool.
87670         * modules/backupfile (Depends-on): Likewise.
87671         * modules/chdir-long (Depends-on): Likewise.
87672         * modules/closeout (Depends-on): Likewise.
87673         * modules/cycle-check (Depends-on): Likewise.
87674         * modules/dirname (Depends-on): Likewise.
87675         * modules/fnmatch (Depends-on): Likewise.
87676         * modules/fsusage (Depends-on): Likewise.
87677         * modules/fwriteerror (Depends-on): Likewise.
87678         * modules/getcwd (Depends-on): Likewise.
87679         * modules/getloadavg (Depends-on): Likewise.
87680         * modules/hard-locale (Depends-on): Likewise.
87681         * modules/makepath (Depends-on): Likewise.
87682         * modules/mountlist (Depends-on): Likewise.
87683         * modules/nanosleep (Depends-on): Likewise.
87684         * modules/posixtm (Depends-on): Likewise.
87685         * modules/quotearg (Depends-on): Likewise.
87686         * modules/readtokens (Depends-on): Likewise.
87687         * modules/readtokens0 (Depends-on): Likewise.
87688         * modules/readutmp (Depends-on): Likewise.
87689         * modules/save-cwd (Depends-on): Likewise.
87690         * modules/strftime (Depends-on): Likewise.
87691         * modules/userspec (Depends-on): Likewise.
87692         * modules/utimecmp (Depends-on): Likewise.
87693         * modules/xgetcwd (Depends-on): Likewise.
87694         * modules/xnanosleep (Depends-on): Likewise.
87695         * modules/xstrtod (Depends-on): Likewise.
87696         * modules/yesno (Depends-on): Likewise.
87697
87698 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87699
87700         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87701         needless checks.
87702
87703 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87704
87705         Merge from coreutils.  Among other things,
87706         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87707         * lib/fd-safer.c: New file.
87708         * lib/fcntl-safer.h, open-safer.c: Remove.
87709         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87710         * lib/dup-safer.c: Include unistd-safer.h first.
87711         Don't include errno.h.
87712         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87713         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87714         * lib/file-type.c: Rely on file-type.h change.
87715         * lib/getloadavg.c: Include unistd-safer.h.
87716         (getloadavg): Use safer open.
87717         * lib/getusershell.c: Include "stdio-safer.h".
87718         (getusershell): Use safer fopen.
87719         * lib/long-options.c (long_options): Use NULL rather than 0.
87720         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87721         'free'.
87722         * lib/modechange.c: Likewise.
87723         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87724         (MODE_DONE): New constant.
87725         (struct mode_change): Remove 'next' member.
87726         (make_node_op_equals): New function; like the old one of the
87727         same name, except it allocates an array.
87728         (mode_compile, mode_create_from_ref): Use it.
87729         (mode_compile): Allocate result as an array, not a linked list.
87730         Parse octal string ourself, so that we catch mistakes like "+0".
87731         (mode_adjust): Arg is an array, not a linked list.
87732         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87733         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87734         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87735         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87736         Remove.  This is now stat-macros.h's job.
87737         (talloc): Remove.  All callers replaced by xalloc, so that
87738         our invokers don't have to worry about reporting memory failures.
87739         (make_node_op_equals): Remove.
87740         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87741         New constants.
87742         (struct mode_change): Moved here from modechange.h.
87743         (mode_append_entry): Remove.
87744         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87745         apps to have incorrect behavior.  Use simpler algorithm for head
87746         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87747         Detect more invalid usages rather than having somewhat-random behavior.
87748         Don't insert an "a=" action, as that leads to incorrect behavior.
87749         (mode_compile, mode_create_from_ref): Return NULL on error instead
87750         of an enum, since now there's only one way to have an error.  All
87751         callers changed.
87752         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87753         at the correct time.  Simplify calculation of "+u" and its ilk.
87754         Don't mishandle "+X".
87755         (mode_free): Remove "register" and localize decls.
87756         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87757         (struct mode_change): Move to modechange.c; callers don't
87758         need to see this stuff.
87759         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87760         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87761         (mode_change, mode_adjust): Reflect the new signatures noted above.
87762         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87763         that might redefine system include files.
87764         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87765         (my_usleep): Use NULL rather than (void *) 0.
87766         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87767         Use siginterrupt to specify that system calls should be interrupted.
87768         (rpl_nanosleep): Move initialization of suspended closer to call of
87769         my_usleep.
87770         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87771         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87772         (desirable_utmp_entry): New function.
87773         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87774         using x2nrealloc, to simplify logic.
87775         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87776         size calculation.  Do not assume utmp file is a regular file.
87777         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87778         (READ_UTMP_CHECK_PIDS): New constant.
87779         * lib/save-cwd.c: Include unistd-safer.h.
87780         (save_cwd): Use fd_safer.
87781         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87782         [!_LIBC] Include "stat-macros.h" instead.
87783         * lib/unistd-safer.h (fd_safer): New decl.
87784
87785 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87786
87787         * modules/getloadavg (Depends-on): Add unistd-safer.
87788         * modules/getusershell (Depends-on): Add stdio-safer.
87789         * modules/lstat (Depends-on): Remove xalloc.
87790         * modules/mkstemp (Depends-on): Add stat-macros.
87791         * modules/modechange (Depends-on): Remove xstrtol.
87792         Add stat-macros, xalloc.
87793         * modules/save-cwd (Depends-on): Add unistd-safer.
87794         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87795         * modules/unistd-safer (Files): Add lib/fd-safer.c
87796         (Makefile.am): Remove lib_SOURCES.
87797
87798         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87799         Remove fcntl-safer; unistd-safer supersedes it.
87800
87801 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87802
87803         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87804         AC_HEADER_STAT.
87805         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87806         (gl_PREREQ_CHOWN): Remove.
87807         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87808         it.  Don't require AC_HEADER_STAT.
87809         (gl_PREREQ_LSTAT): Remove.
87810         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87811         Don't require AC_HEADER_STAT.
87812         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87813         (gl_PREREQ_RMDIR): Remove.
87814         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87815         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87816         the stat-macros module a prerequisite.
87817         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87818         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87819         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87820         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87821         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87822         variable names.
87823         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87824         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87825         variable prefixes.
87826         * m4/fcntl-safer.m4: Remove.
87827         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87828         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87829         Invoke gl_PREREQ_FD_SAFER.
87830         (gl_PREREQ_FD_SAFER): New macro.
87831         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87832         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87833         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87834         Remove duplicate call to AC_LIBOBJ(readutmp).
87835         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87836
87837         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87838         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87839
87840 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87841
87842         * MODULES.html.sh (Misc): Add byteswap.
87843
87844 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87845
87846         * modules/getcwd (Depends-on): Add extensions.
87847         * modules/openat (Depends-on): Likewise.
87848
87849 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87850
87851         * modules/byteswap: New file.
87852
87853 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87854
87855         * m4/byteswap.m4: New file.
87856
87857 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87858
87859         * lib/byteswap_.h: New file.
87860
87861 2005-04-25  Karl Berry  <karl@gnu.org>
87862
87863         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87864
87865 2005-04-25  Albert Chin  <china@thewrittenword.com>
87866
87867         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87868         Toolkit C bug.
87869
87870 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87871
87872         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87873         (func_ln_if_changed): Remove forcibly for no error message
87874         in case file does not exist.
87875
87876 2005-04-19  Simon Josefsson  <jas@extundo.com>
87877
87878         * gnulib-tool (Options): Make --symlink mean --symbolic.
87879
87880 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87881
87882         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87883
87884 2005-04-16  Simon Josefsson  <jas@extundo.com>
87885
87886         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87887
87888 2005-04-15  Simon Josefsson  <jas@extundo.com>
87889
87890         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87891
87892 2005-04-15  Simon Josefsson  <jas@extundo.com>
87893
87894         * gnulib-tool: Rename --symlink to --symbolic.
87895
87896 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87897
87898         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87899         symbolic links to files instead of copying/moving.  Add --aux-dir,
87900         specifying directory relative --dir where auxiliary build tools
87901         are placed.
87902
87903 2005-04-14  Bruno Haible  <bruno@clisp.org>
87904
87905         * modules/allocsa (License): Change to LGPL.
87906         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87907
87908 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87909
87910         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87911         that "UTC +1 second" continues to work.  Problem reported
87912         by Dmitry V. Levin.
87913         (relunit_snumber): New rule.
87914         (relunit): Use it.
87915
87916 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87917
87918         * lib/getdate.y (universal_time_zone_table): New constant.
87919         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87920         universal_time_zone_table.
87921         (lookup_zone): Prefer universal_time_zone_table to
87922         local_time_zone_table, so that "GMT" time stamps are allowed in
87923         London during the summer.  Problem reported by Ian Abbott.
87924
87925 2005-04-12  Jim Meyering  <jim@meyering.net>
87926
87927         * lib/human.c (humblock): Set *options even when returning due to
87928         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87929         warning from gcc-4.
87930
87931 2005-04-09  Jim Meyering  <jim@meyering.net>
87932
87933         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87934         -Wuninitialized: initialize tm0.tm_year.
87935
87936 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87937
87938         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87939         count, since there's no maximum.  All uses changed.
87940         Add member dsts_seen.
87941         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87942         not being INT_MAX.
87943         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87944         Use pc_rels_seen to decide whether a date is absolute.
87945
87946         * lib/getdate.y (number): Don't overwrite year.
87947         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87948         check.
87949
87950 2005-04-02  Simon Josefsson  <jas@extundo.com>
87951
87952         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87953         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87954
87955 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87956
87957         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87958         where no absolute path name can be longer than PATH_MAX.
87959
87960 2005-03-27  Jim Meyering  <jim@meyering.net>
87961
87962         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87963
87964 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87965
87966         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87967         "one's complement" -> "ones' complement" in comment, as per Knuth.
87968         "value of type" -> "type or expression" in comment.
87969         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87970
87971 2005-03-26  Jim Meyering  <jim@meyering.net>
87972
87973         Comment nits.
87974         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87975         Correct typos: s/or/of/.
87976
87977 2005-03-26  Jim Meyering  <jim@meyering.net>
87978
87979         * modules/check-include-files: Move to ../ and rename to...
87980         * check-module: ...this.
87981
87982 2005-03-25  Jim Meyering  <jim@meyering.net>
87983
87984         * modules/xvasprintf (Files): Add xalloc.h.
87985
87986 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87987
87988         * modules/gettext (Files): config/config.rpath ->
87989         build-aux/config.rpath
87990         * modules/iconv (Files): Likewise.
87991         Problem reported by Oskar Liljeblad.
87992
87993 2005-03-23  Jim Meyering  <jim@meyering.net>
87994
87995         * modules/check-include-files: New script to check for
87996         missing dependencies, multiple includes, etc.
87997
87998         * modules/c-strtold (Depends-on): Add xalloc.
87999         * modules/c-strtod (Depends-on): Add xalloc.
88000         * modules/hash (Depends-on): Add xalloc.
88001         (Files): Remove lib/xalloc.h.
88002
88003         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
88004         * modules/userspec (Files): Add lib/inttostr.h.
88005
88006 2005-03-23  Jim Meyering  <jim@meyering.net>
88007
88008         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
88009
88010 2005-03-22  Jim Meyering  <jim@meyering.net>
88011
88012         * modules/stat-macros: New module.
88013         * modules/canonicalize, modules/euidaccess, modules/file-type,
88014         * modules/filemode, modules/lchown, modules/makepath,
88015         * modules/rmdir, modules/stat: Depend on new stat-macros module
88016         rather than listing lib/stat-macros.h manually.
88017         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
88018
88019 2005-03-22  Jim Meyering  <jim@meyering.net>
88020
88021         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
88022
88023 2005-03-22  Bruno Haible  <bruno@clisp.org>
88024
88025         * config/srclist.txt: Replace target directory 'config' with
88026         'build-aux'.
88027         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
88028         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
88029         ../build-aux/.
88030
88031 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
88032
88033         * modules/chdir-long (Depends-on): Add mempcpy.
88034
88035         * modules/acl, modules/backupfile, modules/c-strtod,
88036         modules/c-strtold, modules/canon-host, modules/canonicalize,
88037         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
88038         modules/exclude, modules/exitfail, modules/file-type,
88039         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
88040         modules/getdate, modules/getline, modules/getpagesize,
88041         modules/getpass, modules/getugroups, modules/group-member,
88042         modules/hard-locale, modules/hash, modules/human, modules/idcache,
88043         modules/inttostr, modules/long-options, modules/makepath,
88044         modules/md5, modules/memcasecmp, modules/memcoll,
88045         modules/modechange, modules/mountlist, modules/path-concat,
88046         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
88047         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
88048         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
88049         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
88050         modules/strftime, modules/strndup, modules/strverscmp,
88051         modules/timespec, modules/unlocked-io, modules/userspec,
88052         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
88053         modules/yesno:
88054         Remove lib_SOURCES line from Makefile.am section, as this is now
88055         done automatically by the corresponding Autoconf macro.
88056
88057 2005-03-21  Jim Meyering  <jim@meyering.net>
88058
88059         Changes imported from coreutils.
88060
88061         * lib/cycle-check.c: Don't include xalloc.h.
88062
88063         * lib/path-concat.c: Don't include assert.h.
88064         (path_concat): Remove assertion that would have triggered
88065         for ABASE starting with more than one slash.
88066         Reported by Andreas Schwab.
88067
88068         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
88069         properly when ABASE is an absolute file name.
88070         Correct the description of this function.
88071         Include <assert.h>.
88072         Add an assertion and a test driver.
88073         This fixes a bug introduced on 2004-07-02.
88074         Andreas Schwab reported the resulting failure of cp --parents:
88075         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
88076
88077 2005-03-21  Jim Meyering  <jim@meyering.net>
88078
88079         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
88080         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
88081
88082 2005-03-21  Jim Meyering  <jim@meyering.net>
88083         and  Paul Eggert  <eggert@cs.ucla.edu>
88084
88085         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
88086         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
88087         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
88088         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
88089         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
88090         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
88091         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
88092         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
88093         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
88094         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
88095         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
88096         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
88097         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
88098         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
88099         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
88100         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
88101         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
88102         for these modules.
88103
88104 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
88105
88106         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
88107         (which shouldn't happen), generate nothing instead of returning 0
88108         immediately, so that nstrftime (NULL, ...) doesn't return 0.
88109
88110 2005-03-16  Bruno Haible  <bruno@clisp.org>
88111
88112         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
88113         HAVE_LONGLONG_64BIT.
88114
88115 2005-03-16  Bruno Haible  <bruno@clisp.org>
88116
88117         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
88118         HAVE_LONGLONG_64BIT.
88119
88120 2005-03-16  Bruno Haible  <bruno@clisp.org>
88121
88122         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
88123         HAVE_LONGLONG_64BIT.
88124
88125 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88126
88127         * lib/strftime.c (my_strftime): Prepend space to format so that we can
88128         reliably distinguish strftime failure from empty output on POSIX
88129         hosts.
88130
88131 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88132
88133         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
88134         (iconv_string): Don't guess a size-zero buffer, as that might cause
88135         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
88136         result would be 'too large', where 'too large' is (heuristically)
88137         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
88138         overflow concerns.  This will prevent some unwanted malloc failures
88139         when the inputs are very large.
88140
88141 2005-03-15  Karl Berry  <karl@gnu.org>
88142
88143         * config/srclist.txt (config.rpath): from gettext.
88144         * config/config.rpath: update.
88145
88146 2005-03-15  Bruno Haible  <bruno@clisp.org>
88147
88148         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
88149         to 'negate'.
88150
88151         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
88152         variable.
88153
88154         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
88155         results.
88156
88157 2005-03-14  Simon Josefsson  <jas@extundo.com>
88158
88159         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
88160         <fx@gnu.org>.
88161
88162 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
88163
88164         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
88165         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
88166         intprops.h.
88167         * lib/strtol.c: Likewise.
88168
88169 2005-03-14  Jim Meyering  <jim@meyering.net>
88170
88171         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
88172         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
88173         to be nonzero so that we (and caller) can detect the difference
88174         between a valid zero-length expansion and an error return, even
88175         when the underlying strftime fails before writing anything into
88176         that location.
88177
88178 2005-03-14  Bruno Haible  <bruno@clisp.org>
88179
88180         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
88181         Update from GNU gettext 0.14.3.
88182
88183 2005-03-10  Jim Meyering  <jim@meyering.net>
88184
88185         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
88186
88187 2005-03-10  Jim Meyering  <jim@meyering.net>
88188
88189         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
88190         so that this module works on systems without fchdir.
88191
88192 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
88193
88194         Factor int-properties macros into a single file, except for
88195         glibc-related files.
88196         * lib/intprops.h: New file.
88197         * lib/getloadavg.c: Include it instead of limits.h.
88198         (INT_STRLEN_BOUND): Remove.
88199         * lib/human.c: Include intprops.h.
88200         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
88201         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
88202         302/1000.
88203         * lib/inttostr.h: Include intprops.h instead of limits.h.
88204         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
88205         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
88206         for consistency with intprops.h.
88207         (time_t_is_integer, twos_complement_arithmetic): Use them.
88208         * lib/sig2str.h: Include <signal.h>, intprops.h.
88209         (INT_STRLEN_BOUND): Remove.
88210         * lib/strftime.c (TYPE_SIGNED): Remove.
88211         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
88212         * lib/strtol.c: Adjust comments to match intprops.h.
88213         * lib/userspec.c: Include intprops.h.
88214         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
88215         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
88216         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
88217         instead of rolling our own expressions.
88218         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
88219
88220         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
88221         instead of int.
88222         (my_strftime): Do not mishandle years close to INT_MAX, by doing
88223         the right thing even if adding 1900 would overflow.  Similarly
88224         for tm_mon + 1 and tm_yday + 1.
88225         Make %Y always equivalent to %C%y, and similarly for %G and %g.
88226         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
88227         (DO_SIGNED_NUMBER): New macro.
88228         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
88229
88230 2005-03-07  Bruno Haible  <bruno@clisp.org>
88231
88232         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
88233
88234 2005-03-07  Bruno Haible  <bruno@clisp.org>
88235
88236         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
88237
88238 2005-03-04  Derek R. Price  <derek@ximbiot.com>
88239
88240         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
88241         (func_import): Only replace files via --import when they have actually
88242         changed.
88243
88244 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88245
88246         * m4/mmap-anon.m4: New file.
88247         * m4/pagealign_alloc.m4: New file.
88248
88249 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88250             Bruno Haible  <bruno@clisp.org>
88251
88252         * modules/pagealign_alloc: New file.
88253         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
88254
88255 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88256             Bruno Haible  <bruno@clisp.org>
88257
88258         * lib/pagealign_alloc.h: New file.
88259         * lib/pagealign_alloc.c: New file.
88260
88261 2005-03-03  Bruno Haible  <bruno@clisp.org>
88262
88263         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
88264         Use an all-permissive copyright notice, recommended by RMS.
88265
88266 2005-03-02  Bruno Haible  <bruno@clisp.org>
88267
88268         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
88269         of AIX, the replacement has to be done only after <string.h> is
88270         included, therefore not in config.h. stpncpy.h does the replacement,
88271         and stpncpy.c uses it.
88272
88273 2005-03-02  Bruno Haible  <bruno@clisp.org>
88274
88275         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
88276         stpncpy.c uses it.
88277
88278 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88279
88280         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
88281         The workaround isn't strictly needed for POSIX conformance, and
88282         it's too much of a pain to configure and maintain.  We'll ask
88283         people to fix their kernels instead.
88284         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
88285         (NANOSLEEP_BUG_WORKAROUND): Remove.
88286         (xnanosleep): Remove the workaround.
88287
88288 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88289
88290         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
88291         Reported by Derek Price.
88292         (Include): Add "timespec.h".
88293
88294         * modules/xnanosleep (Depends-on): Remove gethrxtime.
88295
88296 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88297
88298         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
88299         to detect nanosleep bug.
88300
88301 2005-03-01  Bruno Haible  <bruno@clisp.org>
88302
88303         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
88304
88305 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
88306
88307         * modules/gethrxtime: New file.
88308         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
88309         (Depends-on): Add gethrxtime.
88310         (configure.ac): Add gl_XNANOSLEEP.
88311         (Makefile.am): Remove lib_SOURCES line.
88312
88313 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88314
88315         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
88316         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
88317
88318 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88319
88320         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
88321         * lib/timespec.h (gettime): Return void, since it always
88322         succeeds now.  All uses changed.
88323         * lib/gettime.c (gettime): Likewise.
88324         [HAVE_NANOTIME]: Prefer nanotime.
88325         Assume gettimeofday succeeds, as POSIX requires.
88326         Assime time () succeeds, since other code already does.
88327         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
88328         (timespec_subtract): Remove.
88329         (NANOSLEEP_BUG_WORKAROUND): New constant.
88330         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
88331         things considerably.  Use it only on GNU/Linux hosts, since the
88332         workaround shouldn't be needed elsewhere.
88333
88334 2005-02-24  Bruno Haible  <bruno@clisp.org>
88335
88336         * modules/gettext (Files): Add m4/glibc2.m4.
88337
88338 2005-02-24  Bruno Haible  <bruno@clisp.org>
88339
88340         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
88341         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
88342         * m4/progtest.m4:
88343         Update from GNU gettext 0.14.2.
88344         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
88345
88346 2005-02-24  Bruno Haible  <bruno@clisp.org>
88347
88348         * lib/localcharset.c: Update from GNU gettext 0.14.2.
88349         * lib/config.charset: Update from GNU gettext 0.14.2.
88350
88351 2005-02-24  Bruno Haible  <bruno@clisp.org>
88352
88353         * lib/gettext.h: Update from GNU gettext 0.14.2.
88354
88355 2005-02-23  Simon Josefsson  <jas@extundo.com>
88356
88357         * m4/iconvme.m4: New file.
88358
88359 2005-02-23  Jim Meyering  <jim@meyering.net>
88360
88361         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
88362         change.
88363         Thanks to Bruno Haible for catching it.
88364
88365 2005-02-22  Simon Josefsson  <jas@extundo.com>
88366
88367         * modules/iconvme: New file.
88368
88369         * MODULES.html.sh: Add iconvme.
88370
88371 2005-02-22  Simon Josefsson  <jas@extundo.com>
88372
88373         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
88374
88375 2005-02-22  Simon Josefsson  <jas@extundo.com>
88376
88377         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
88378
88379 2005-02-22  Jim Meyering  <jim@meyering.net>
88380
88381         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
88382         s/ifndef/ifdef/.
88383
88384 2005-02-20  Neil Conway  <neilc@samurai.com>
88385
88386         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
88387         returned by OSX/Darwin if the specified buffer is not large
88388         enough for the hostname.
88389
88390 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88391
88392         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
88393         pass it to _help, otherwise the latter coredumps trying to
88394         dereference state.root_argp.
88395
88396 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88397
88398         * modules/chdir-long (Depends-on): Add memrchr.
88399         * modules/memrchr (Files): Add lib/memrchr.h.
88400         (Include): "memrchr.h".
88401
88402 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88403
88404         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
88405
88406 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88407
88408         * lib/memrchr.h: New file.
88409         * lib/chdir-long.c: Include it.
88410         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
88411         Don't bother including stddef.h.
88412
88413 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
88414
88415         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
88416         inclusion.
88417         Include <sys/types.h>, for dev_t.
88418         (ME_DUMMY, ME_REMOTE): Move from here....
88419         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
88420         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
88421         Dmitry V. Levin.
88422         Include mountlist.h first, to test the interface.
88423
88424 2005-01-29  Bruno Haible  <bruno@clisp.org>
88425
88426         * lib/progname.c (program_name): Initialize.
88427         Needed when linking statically on MacOS X.
88428
88429 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88430
88431         Sync from coreutils.
88432         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
88433         (Depends-on): Add c-strtod.
88434         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
88435
88436 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88437
88438         Sync from coreutils.
88439         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
88440
88441         Remove files that are specific to coreutils.
88442         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
88443
88444 2005-01-28  Bruno Haible  <bruno@clisp.org>
88445
88446         * modules/javacomp: New file.
88447         * MODULES.html.sh (Java): Add javacomp.
88448
88449 2005-01-28  Bruno Haible  <bruno@clisp.org>
88450
88451         * m4/javacomp.m4: New file, from GNU gettext.
88452
88453 2005-01-28  Bruno Haible  <bruno@clisp.org>
88454
88455         * lib/javacomp.sh.in: New file, from GNU gettext.
88456         * lib/javacomp.h: New file, from GNU gettext.
88457         * lib/javacomp.c: New file, from GNU gettext.
88458
88459 2005-01-26  Simon Josefsson  <jas@extundo.com>
88460
88461         * lib/gai_strerror.c: Use GPL in header.
88462
88463 2005-01-26  Bruno Haible  <bruno@clisp.org>
88464
88465         * modules/javaexec: New file.
88466         * MODULES.html.sh (Java): Add javaexec.
88467
88468 2005-01-26  Bruno Haible  <bruno@clisp.org>
88469
88470         * m4/javaexec.m4: New file, from GNU gettext.
88471
88472 2005-01-26  Bruno Haible  <bruno@clisp.org>
88473
88474         * lib/javaexec.sh.in: New file, from GNU gettext.
88475         * lib/javaexec.h: New file, from GNU gettext.
88476         * lib/javaexec.c: New file, from GNU gettext.
88477
88478 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88479
88480         * modules/lchown (Depends-on): Remove lchown.h
88481
88482 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88483
88484         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88485         must be defined if the header file was not found, in order
88486         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88487
88488 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88489
88490         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88491         initializers for struct pentry_state.
88492         (__argp_error): Check return value of __asprintf
88493         (__argp_failure): Translate error message
88494
88495         * lib/argp-parse.c: Removed braces around the expansion of N_()
88496
88497 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88498
88499         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88500         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88501         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88502         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88503         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88504         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88505         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88506         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88507         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88508         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88509         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88510         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88511         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88512         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88513         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88514         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88515         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88516         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88517         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88518         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88519         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88520         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88521         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88522         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88523         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88524         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88525         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88526         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88527         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88528         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88529         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88530         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88531         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88532         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88533         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88534         Use an all-permissive copyright notice, recommended by RMS.
88535
88536 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88537
88538         * modules/chdir-long (Depends-on): Remove mempcpy.
88539
88540 2005-01-21  Jim Meyering  <jim@meyering.net>
88541
88542         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88543         same value as for Solaris 9.
88544
88545         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88546         component length.  This included changing the parameter to be
88547         of type `char *' rather than `char const *'.
88548         * lib/chdir-long.h (chdir_long): Update prototype.
88549
88550         * lib/openat.c (fdopendir, fstatat): New functions.
88551         * lib/openat.h: Include headers required for use of DIR and struct
88552         stat.
88553         [AT_SYMLINK_NOFOLLOW]: Define.
88554         (fdopendir, fstatat): Add prototypes.
88555
88556 2005-01-21  Bruno Haible  <bruno@clisp.org>
88557
88558         * modules/classpath: New file.
88559         * MODULES.html.sh (Java): Add classpath.
88560
88561 2005-01-21  Bruno Haible  <bruno@clisp.org>
88562
88563         * lib/classpath.h: New file, from GNU gettext.
88564         * lib/classpath.c: New file, from GNU gettext.
88565
88566 2005-01-20  Simon Josefsson  <jas@extundo.com>
88567
88568         * modules/version-etc-fsf: New file.
88569
88570 2005-01-20  Simon Josefsson  <jas@extundo.com>
88571
88572         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88573         * lib/version-etc.c: Remove version_etc_copyright.
88574         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88575         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88576
88577 2005-01-20  Simon Josefsson  <jas@extundo.com>
88578
88579         * lib/base64.h (isbase64): Add.
88580
88581         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88582         using a unsigned prototype, don't inline.
88583         (base64_decode): Use it.
88584
88585 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88586
88587         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88588         it.
88589
88590 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88591
88592         * lib/save-cwd.c (save_cwd): Remove code to support the case
88593         where fchdir is missing or flaky.
88594
88595 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88596
88597         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88598
88599 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88600
88601         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88602         AC_LIBSOURCES now does this.
88603         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88604         with new ullong_max module.
88605
88606 2005-01-19  Bruno Haible  <bruno@clisp.org>
88607
88608         * modules/sh-quote: New file.
88609         * MODULES.html.sh (Executing programs): Add sh-quote.
88610
88611 2005-01-19  Bruno Haible  <bruno@clisp.org>
88612
88613         * lib/sh-quote.h: New file, from GNU gettext.
88614         * lib/sh-quote.c: New file, from GNU gettext.
88615
88616 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88617
88618         Merge from coreutils.
88619         * m4/ullong_max.m4: New file.
88620         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88621         (gl_MACROS): Assume localeconv exists.
88622
88623 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88624
88625         Merge changes from coreutils, as described below in several
88626         changelogs dated today.
88627
88628         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88629         (O_DIRECTORY): Remove; not needed here, since "." must be
88630         a directory.  All uses removed.
88631         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88632         universal on Suns, and we also need to test for IRIX.
88633         Revamp code to use 'if' rather than '#if'.
88634         Avoid unnecessary comparison of cwd->desc to 0.
88635
88636         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88637         for known valid error numbers rather than observed invalid ones.
88638
88639 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88640
88641         * modules/ullong_max: New file.
88642
88643         * modules/chdir-long, modules/openat: New files.
88644         * modules/save-cwd (Depends-on): Depend on chdir-long.
88645         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88646
88647 2005-01-18  Jim Meyering  <jim@meyering.net>
88648
88649         Merge from coreutils.
88650         * m4/chdir-long.m4, m4/openat.m4: New files.
88651         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88652         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88653         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88654         is sane and DOES follow symlinks.  Besides, testing 20 different
88655         systems found no broken chown implementations.
88656         Prompted by a change in rsync's copy of this macro.
88657         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88658
88659         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88660
88661         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88662         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88663         NULL-means-set-to-current-time semantics.
88664         Remove temporary file immediately, rather than waiting
88665         for configure's at-exit trap code to do it.
88666
88667 2005-01-18  Jim Meyering  <jim@meyering.net>
88668
88669         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88670
88671         * lib/utimens.c (futimens): Account for the fact that futimes
88672         can also fail with errno == ENOSYS or errno == ENOENT.
88673         Patch from Dmitry V. Levin.
88674
88675         Change the name of the robust chdir function from chdir to chdir_long.
88676         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88677         (restore_cwd): Use chdir_long, not chdir.
88678         * lib/chdir-long.c: Renamed from chdir.c.
88679         * lib/chdir-long.h: Renamed from chdir.h.
88680         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88681         Hurd.
88682
88683 2005-01-18  Bruno Haible  <bruno@clisp.org>
88684
88685         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88686         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88687         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88688         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88689         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88690         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88691         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88692         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88693         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88694         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88695         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88696         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88697         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88698         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88699         Use an all-permissive copyright notice, recommended by RMS.
88700
88701 2005-01-18  Bob Proulx  <bob@proulx.com>
88702
88703         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88704         simplify offsetof() macro construct to avoid compile failure with
88705         native HP-UX 11.0 ANSI C compiler.
88706
88707 2005-01-17  Bruno Haible  <bruno@clisp.org>
88708
88709         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88710         redundant because stpncpy.m4 takes care of it.
88711
88712 2005-01-17  Bruno Haible  <bruno@clisp.org>
88713
88714         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88715
88716 2005-01-17  Bruno Haible  <bruno@clisp.org>
88717
88718         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88719         used.
88720
88721 2005-01-17  Bruno Haible  <bruno@clisp.org>
88722
88723         * lib/fwriteerror.h (fwriteerror): Change specification to include
88724         fclose.
88725         * lib/fwriteerror.c: Include <stdbool.h>.
88726         (fwriteerror): At the end, close the file stream. Record whether
88727         stdout was already closed.
88728
88729 2005-01-17  Bruno Haible  <bruno@clisp.org>
88730
88731         * lib/execute.c (environ): Declare if needed.
88732         * lib/pipe.c (environ): Likewise.
88733         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88734
88735 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88736
88737         * modules/argp: Depend on vsnprintf
88738
88739 2005-01-10  Jim Meyering  <jim@meyering.net>
88740
88741         * modules/closeout (Depends-on): Add atexit.
88742
88743 2005-01-06  Bruno Haible  <bruno@clisp.org>
88744
88745         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88746
88747 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88748
88749         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88750         definitions to be after all include files, to avoid collisions.
88751         Problem reported by Bob Proulx.
88752
88753 2005-01-04  Jim Meyering  <jim@meyering.net>
88754
88755         Changes imported from coreutils.
88756         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88757         as the mkstemp template, use a temporary directory and an
88758         8.3-friendly template to avoid trouble on systems like DJGPP.
88759         Reported by Juan M. Guerrero via Stepan Kasal.
88760         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88761         close. Remove the temporary directory right away, rather than waiting
88762         for configure's at-exit trap code to do it.
88763         Suggestion from Stepan Kasal.
88764
88765 2005-01-01  Simon Josefsson  <jas@extundo.com>
88766
88767         * gnulib-tool: Print #include directives when --import'ing.
88768
88769 2004-12-28  Simon Josefsson  <jas@extundo.com>
88770
88771         * tests/test-base64.c: Include required header files.  Remove
88772         unused variables.
88773
88774 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88775
88776         * modules/error (Depends-on): Remove gettext.
88777
88778 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88779
88780         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88781         not needed.  This removes a dependency on the gettext module.
88782         [defined _LIBC]: Do not include <libintl.h>; not needed.
88783
88784 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88785
88786         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88787         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88788
88789 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88790
88791         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88792         HAVE_DECL_STRTOLD.
88793
88794 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88795
88796         * modules/getdate (Depends-on): Remove alloca-opt.
88797
88798 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88799
88800         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88801
88802 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88803
88804         * lib/argp-parse.c: Include <stddef.h>.
88805         (alignof, alignto): New macros.
88806         (parser_init): Don't assume that void * is aligned sufficiently
88807         for struct option.
88808
88809         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88810         need to extend the stack.
88811         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88812         large.
88813
88814 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88815
88816         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88817
88818 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88819
88820         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88821         (2004-10-24) change.  Apparently this was a false alarm.
88822
88823         * modules/getdate: Depend on alloca-opt, not alloca.
88824
88825 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88826
88827         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88828         Remove now-obsolete comment about AIX.
88829         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88830         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88831         (YYMAXDEPTH): New macro.
88832
88833 2004-12-18  Simon Josefsson  <jas@extundo.com>
88834
88835         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88836
88837 2004-12-18  Bruno Haible  <bruno@clisp.org>
88838
88839         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88840
88841 2004-12-18  Bruno Haible  <bruno@clisp.org>
88842
88843         * lib/fatal-signal.c (fatal_signals): Make non-const.
88844         (init_fatal_signals): New function.
88845         (uninstall_handlers, install_handlers): Ignore signals that were set to
88846         SIG_IGN.
88847         (at_fatal_signal): Call init_fatal_signals.
88848         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88849         SIG_IGN.
88850         Reported by Paul Eggert.
88851
88852 2004-12-18  Bruno Haible  <bruno@clisp.org>
88853
88854         * doc/alloca.texi: New file.
88855         * doc/alloca-opt.texi: New file.
88856
88857 2004-12-17  Jim Meyering  <jim@meyering.net>
88858
88859         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88860         Otherwise, install-sh could exit with improper exit status when
88861         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88862
88863 2004-12-16  Simon Josefsson  <jas@extundo.com>
88864
88865         * tests/test-base64.c: Add license.
88866
88867 2004-12-15  Stepan Kasal  <address@hidden>
88868
88869         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88870
88871 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88872
88873         * modules/getcwd (Files): Add m4/d-ino.m4.
88874         Suggested by Mark D. Baushke.
88875
88876 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88877
88878         * lib/getdate.y (textint): New member "negative".
88879         (time_zone_hhmm): New function.
88880         Expect 14 shift-reduce conflicts, not 13.
88881         (o_colon_minutes): New rule.
88882         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88883         (yylex): Set the "negative" member of signed numbers.
88884
88885 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88886
88887         * doc/getdate.texi (Time of day items, Time zone items):
88888         Describe new formats +00:00, UTC+00:00.
88889
88890 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88891
88892         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88893         spurious "-l"s.  Problem reported by Stepan Kasal.
88894
88895 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88896
88897         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88898         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88899
88900 2004-12-04  Simon Josefsson  <jas@extundo.com>
88901
88902         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88903         Vandoorselaere <yoann@prelude-ids.org>.
88904
88905 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88906
88907         Changes imported from coreutils.
88908         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88909         exist.
88910         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88911
88912 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88913
88914         Changes imported from coreutils.
88915         * lib/hard-locale.c: Assume <locale.h> exists.
88916         Include "strdup.h".
88917         (GLIBC_VERSION): New macro.
88918         (hard_locale): Assume setlocale exists.
88919         Rewrite to avoid #ifdef.
88920         Use strdup rather than malloc + strcpy.
88921         * lib/human.c: Assume <locale.h> exists.
88922         (human_readable): Assume localeconv exists.
88923
88924 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88925
88926         * modules/hard-locale (Depends-on): Add strdup.
88927
88928 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88929
88930         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88931         convert T2, not T.  (Imported from libc.)
88932
88933 2004-11-30  Simon Josefsson  <jas@extundo.com>
88934
88935         * modules/restrict (License): Change to LGPL.
88936
88937 2004-11-30  Simon Josefsson  <jas@extundo.com>
88938
88939         * m4/restrict.m4: Add copyright and copying conditions.
88940
88941 2004-11-30  Simon Josefsson  <jas@extundo.com>
88942
88943         * m4/base64.m4: New file.
88944
88945 2004-11-30  Simon Josefsson  <jas@extundo.com>
88946
88947         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88948         base64.
88949
88950         * tests/test-base64.c: New file.
88951
88952         * modules/base64: New file.
88953
88954 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88955
88956         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88957         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88958
88959         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88960
88961 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88962
88963         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88964         (__getcwd.c): Don't restore errno; glibc doesn't.
88965         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88966         first, falling back to our code only if its results look suspicious.
88967         Ensure that the resulting buffer is only as large as necessary.
88968
88969         * lib/readutmp.c: Include readutmp.h first.
88970         Include <errno.h>, since readutmp.h no longer does that.
88971         * lib/readutmp.h: Don't include <errno.h>,
88972         <sys/param.h>, <time.h>; not needed to establish interface.
88973         (errno): Remove decl.
88974         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88975         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88976         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88977
88978 2004-11-28  Simon Josefsson  <jas@extundo.com>
88979
88980         * lib/base64.h, base64.c: New file.
88981
88982 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88983
88984         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88985
88986 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88987
88988         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88989         (Depends-on): Remove pathmax, same.  Add mempcpy.
88990         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88991         (Makefile.am): Append getcwd.h to lib_SOURCES.
88992         (Include): Add getcwd.h.
88993         (Maintainer): Change from Jim Meyering to "all, glibc",
88994         since getdate now uses intended-for-glibc code.
88995         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88996         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88997
88998 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88999
89000         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
89001         HP's ANSI C compiler.
89002         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
89003         Declaring int functions causes warnings on some modern systems and
89004         shouldn't be needed to compile on ancient ones.
89005         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
89006         defined.
89007
89008         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
89009         with the following changes.
89010         (__set_errno): Parenthesize properly.
89011         Include <stdbool.h>.
89012         (MIN, MAX, MATCHING_INO): New macros.
89013         (__getcwd): Define with prototype, not K&R form.
89014         Use heuristics to allocate default buffer on stack if possible.
89015         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
89016         behavior, and to avoid the PATH_MAX limit when computing
89017         ../../../../...
89018         Use MATCHING_INO to compare inode number to file.
89019         Check for arithmetic overflow in size calculations.
89020         Fix bug in reallocation of dot array that caused getcwd to fail
89021         on directories nested deeper than 75.
89022         Be more careful about saving errno on error.
89023         Do not use realloc; use only free+malloc, as this is a bit
89024         more flexible and avoids a needless copy operation.
89025         Do not inspect st_dev and st_ino for symbolic links; POSIX
89026         doesn't specify the latter.
89027         Check for closedir errors.
89028         Avoid needless casts.
89029         Use "#ifdef weak_alias" around weak_alias, to be like other
89030         glibc code.
89031         The following changes to getcwd.c have effect only when used in
89032         gnulib; they have no effect inside glibc proper.
89033         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
89034         as alloca isn't used.
89035         (alloca, __alloca): Likewise.
89036         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
89037         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89038         unconditionally, as gnulib assumes C89 or better.
89039         Do not include <sys/param.h>.
89040         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
89041         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
89042         better.
89043         (NULL) [!defined NULL]: Remove; we assume C89 or better.
89044         Include <dirent.h> in a way that is compatible with modern Autoconf.
89045         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
89046         New macros, if not already defined.
89047         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
89048         Use "_LIBC", not "defined _LIBC", for consistency.
89049         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
89050         a mempcpy module.
89051         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
89052         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
89053         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
89054         credit only to Jim Meyering and adjust the copyright dates.
89055         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
89056         <stdlib.h>, <unistd.h>, "pathmax.h".
89057         Instead, include "xgetcwd.h" (first) and "getcwd.h".
89058         (INITIAL_BUFFER_SIZE): Remove.
89059         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
89060
89061 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
89062
89063         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
89064         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
89065         Use the _ONCE methods, for efficiency.
89066         Check for fcntl.h.  In test program, include <errno.h>
89067         and <fcntl.h> if available.  Remove old K&R cruft from
89068         test program.  Check for common errors in GNU/Linux,
89069         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
89070         don't do AC_LIBOBJ, as that's getcwd.m4's job.
89071         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
89072         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
89073         name accordingly.
89074         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
89075         accommodate new getcwd.c.
89076         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
89077         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
89078         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
89079         that's all we need now.
89080
89081 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89082
89083         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
89084         argp-parse.c depends on getopt internals, that means we should
89085         always use our getopt, to be on the safe side.
89086         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
89087         order not to spoil the result of an eventual previous invocation
89088         of gl_GETOPT_SUBSTITUTE.
89089
89090 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89091
89092         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
89093         redefinition warnings. To avoid them, include the defines
89094         in `#if !defined __need_getopt ... #endif'. The only place
89095         where __getopt_argv_const is used is in definitions
89096         of getopt_long and getopt_long_only below, which are as well
89097         protected by `#ifndef __need_getopt'.
89098         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
89099         __need_getopt after including <stdio.h> and <unistd.h> These
89100         headers might have defined it.
89101
89102 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89103
89104         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
89105
89106 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89107
89108         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
89109         (futimens): New function, which uses futimes if available.
89110         (futimens, utimens): Support timespec==NULL, with same semantics
89111         as utime and utimens.
89112         * lib/utimens.h (futimens): New decl.
89113
89114 2004-11-23  Jim Meyering  <jim@meyering.net>
89115
89116         * lib/getopt_.h: Remove trailing blanks.
89117
89118 2004-11-23  Jim Meyering  <jim@meyering.net>
89119
89120         * lib/__fpending.c: Add comment.
89121
89122 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
89123
89124         * modules/canonicalize (Depends-on): Add xreadlink.
89125         Problem reported by James Youngman.
89126
89127 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
89128
89129         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
89130         New macros.
89131         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
89132         optopt): Use them instead of invoking ## directly; otherwise, the
89133         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
89134
89135 2004-11-19  Bruno Haible  <bruno@clisp.org>
89136
89137         * lib/strtok_r.c: Move comments from here...
89138         * lib/strtok_r.h: ... to here.
89139
89140 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89141
89142         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
89143         implementations that mishandle size_t overflow.
89144
89145 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89146
89147         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
89148         might fail.  Problem reported by Yoann Vandoorselaere.
89149         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
89150         implementations that mishandle size_t overflow.
89151
89152 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89153
89154         * modules/canon-host (Depends-on): Add strdup.
89155
89156 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89157
89158         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
89159
89160 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89161
89162         * lib/canon-host.c: Include "strdup.h".
89163         (canon_host): Use getaddrinfo if available, so that IPv6 works.
89164         Use strdup instead of malloc/strcpy to duplicate strings.
89165
89166         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
89167         (human_space_before_unit): New constant.
89168         * lib/human.c (human_readable): Support it.
89169
89170         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
89171         (xgetcwd): Set errno correctly when failing.
89172         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
89173         the failure is actually due to a PATH_MAX problem.
89174
89175         Further getopt changes to make it more likely that glibc will
89176         buy the changes back.
89177         * lib/getopt.c (POSIXLY_CORRECT): New constant.
89178         (getopt): Use it, so to preserve glibc semantic
89179         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
89180         when compiling for libc.
89181         * lib/getopt_.h (__getopt_argv_const): Bring it back.
89182         (getopt_long, getopt_long_only): Use it.
89183
89184         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89185         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
89186         (getopt): Argv is now char * const *, as per standard.
89187         (_getopt_internal_r, _getopt_internal): Argv is now char **,
89188         not char *__getopt_argv_const *.
89189         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89190         _getopt_long_only_r): Likewise.
89191         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
89192         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89193         _getopt_long_r, _getopt_long_only_r): Likewise.
89194         * lib/getopt_.h (__getopt_argv_const): Remove.
89195         (getopt): Argv is now char * const *, as per standard.
89196
89197         * lib/getdate.y (tORDINAL): New token.
89198         (day, relunit): Allow it for relative times.
89199         (relative_time_table): Use tORDINAL for ordinals.
89200
89201 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89202
89203         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
89204         Document that "second" isn't allowed as an ordinal number.
89205
89206 2004-11-16  Jim Meyering  <jim@meyering.net>
89207
89208         * modules/closeout (Depends-on): Add fpending.
89209
89210 2004-11-15  Jim Meyering  <jim@meyering.net>
89211
89212         * lib/closeout.c: Include "__fpending.h" once again.
89213         Include <stdbool.h>.
89214         (close_stdout): Don't fail just because stdout was closed initially,
89215         since some programs don't write to stdout in the normal course of
89216         operation (other than --version and --help), and we don't want this
89217         function to make e.g. `touch file >&-' fail.
89218         But do fail if it was closed and someone has tried to write to it.
89219         E.g., `printf foo >&-' must fail.
89220
89221 2004-11-13  Jim Meyering  <jim@meyering.net>
89222
89223         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
89224
89225 2004-11-12  Simon Josefsson  <jas@extundo.com>
89226
89227         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
89228         small doc fix is still pending.
89229
89230 2004-11-11  Simon Josefsson  <jas@extundo.com>
89231
89232         * modules/strtok_r: New file.
89233
89234         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89235         strtok_r.
89236
89237 2004-11-11  Simon Josefsson  <jas@extundo.com>
89238
89239         * m4/strtok_r.m4: New file.
89240
89241         * m4/getopt.m4: Replace opterr.
89242
89243 2004-11-11  Simon Josefsson  <jas@extundo.com>
89244
89245         * lib/strtok_r.h, strtok_r.c: New file.
89246
89247 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89248
89249         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
89250         of replacing opterr, getopt, etc.  This should handle the
89251         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
89252
89253 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89254
89255         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
89256         we can stop lying to compilers about the constness of argv when we
89257         are compiled outside glibc.
89258         (getopt, getopt_long, getopt_long_only): Use it.
89259         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89260         _getopt_internal, getopt): Likewise.
89261         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89262         _getopt_long_only_r): Likewise.
89263         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89264         _getopt_long_r, _getopt_long_only_r): Likewise.
89265
89266         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
89267         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
89268         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
89269         the other external symbols.
89270         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
89271         declaration, since the above renaming now works around collisions.
89272
89273 2004-11-11  Jim Meyering  <jim@meyering.net>
89274
89275         * lib/linebreak.c: Remove trailing blanks.
89276         * lib/alloca_.h: Likewise.
89277         * lib/acosl.c: Likewise.
89278         * lib/euidaccess.c: Likewise.
89279         * lib/allocsa.h: Likewise.
89280
89281 2004-11-10  Simon Josefsson  <jas@extundo.com>
89282
89283         * m4/getaddrinfo.m4: New file.
89284
89285 2004-11-10  Simon Josefsson  <jas@extundo.com>
89286
89287         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
89288
89289 2004-11-10  Simon Josefsson  <jas@extundo.com>
89290
89291         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89292         getaddrinfo.
89293
89294         * modules/getaddrinfo: New file.
89295
89296 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89297
89298         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
89299
89300 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89301
89302         * lib/mktime.c (SHR): New macro, which is a portable
89303         substitute for >> that should work even on Crays.
89304         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
89305         Problem reported by Mark D. Baushke in
89306         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
89307         * lib/getdate.y (SHR): Likewise.
89308         (tm_diff): Use it.
89309         * lib/strftime.c (SHR): Likewise.
89310         (tm_diff): Use it.
89311         * lib/quotearg.c (struct quoting_options): Use unsigned int for
89312         quote_these_too, so that right shifts are well defined.  All uses
89313         changed.
89314
89315 2004-11-10  Jim Meyering  <jim@meyering.net>
89316
89317         Ensure that no close failure goes unreported.
89318         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
89319         return early when it seems there's nothing to flush.
89320         Don't include __fpending.h.
89321
89322 2004-11-10  Jim Meyering  <jim@meyering.net>
89323
89324         * modules/closeout (Depends-on): Remove fpending.
89325
89326 2004-11-10  Jim Meyering  <jim@meyering.net>
89327
89328         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
89329
89330 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89331
89332         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
89333         gl_FUNC_STRFTIME.
89334         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
89335         and AC_REQUIRE when possible, to avoid duplicate checks.
89336         Check for <wchar.h>.
89337
89338 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89339
89340         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
89341
89342 2004-11-09  Bruno Haible  <bruno@clisp.org>
89343
89344         * m4/sockpfaf.m4: New file.
89345
89346 2004-11-05  Bruno Haible  <bruno@clisp.org>
89347
89348         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
89349         Reported by Mark D. Baushke <mdb@cvshome.org>.
89350
89351 2004-11-04  Bruno Haible  <bruno@clisp.org>
89352
89353         2004-09-11  Bruno Haible  <bruno@clisp.org>
89354                 * allocsa.valgrind: New file.
89355         2004-02-06  Bruno Haible  <bruno@clisp.org>
89356                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
89357                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
89358                 Reported by Christopher Seip <chris.seip@hp.com>.
89359
89360 2004-11-04  Bruno Haible  <bruno@clisp.org>
89361
89362         * modules/allocsa (Files): Add lib/allocsa.valgrind.
89363         (Makefile.am): Distribute it.
89364
89365 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89366
89367         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
89368         with errno == ERANGE if the buffer is too small.
89369         Problem reported by Mark D. Baushke.
89370
89371 2004-11-03  Albert Chin  <china@thewrittenword.com>
89372             Paul Eggert  <eggert@cs.ucla.edu>
89373
89374         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
89375         equivalent, substitute $ac_type for equivalent type rather than
89376         blindly using uint32_t *always* which won't work if uint32_t is not
89377         available.  Define _UINT32_T to work around typedef of uint32_t if
89378         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
89379         2.5.1.
89380
89381 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89382
89383         * m4/jm-macros.m4: Sync from coreutils.
89384         (gl_MACROS): Check for mbrlen, for pathchk.
89385         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
89386
89387 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89388
89389         * lib/xreadlink.c (MAXSIZE): New macro.
89390         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
89391         size does not exceed MAXSIZE.  Avoid cast.
89392         As suggested by Mark D. Baushke in
89393         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
89394         if readlink fails with buffer size just under MAXSIZE, try again
89395         with MAXSIZE.
89396
89397 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89398
89399         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
89400
89401 2004-11-02  Derek R. Price  <derek@ximbiot.com>
89402         and  Paul Eggert  <eggert@cs.ucla.edu>
89403
89404         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
89405         (get_date): Overparenthesize to avoid GCC warning.
89406
89407 2004-11-02  Bruno Haible  <bruno@clisp.org>
89408
89409         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
89410         returns void.
89411
89412 2004-11-02  Bruno Haible  <bruno@clisp.org>
89413
89414         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
89415         function returns void.
89416
89417 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89418
89419         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
89420         fflush_unlocked, flockfile, funlockfile, funlockfile,
89421         fputs_unlocked, putc_unlocked.
89422
89423 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89424
89425         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89426         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
89427         already declared.
89428
89429 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89430
89431         * modules/getdate (Files): Add doc/getdate.texi.
89432         (Depends-on): Add setenv, xalloc.
89433
89434 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89435
89436         * lib/getdate.y: Add support for TZ="foo" within a date string.
89437         Fix some bugs near time_t boundaries.  Reject dates with
89438         out-of-range components, e.g., "Sept 31".
89439         Include <stdlib.h>, "setenv.h", "xalloc.h".
89440         (ISDIGIT_LOCALE): Remove; unused.
89441         Note that the TZ and time functions used here are not reentrant.
89442         (mktime_ok, get_tz): New functions.
89443         (TZBUFSIZE): New constant.
89444         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
89445         This requires that we sometimes generate our own TZ="XXX..." setting.
89446
89447 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89448
89449         * doc/getdate.texi: New file, from coreutils with modifications for
89450         the new TZ parsing.
89451
89452 2004-10-27  Derek R. Price  <derek@ximbiot.com>
89453
89454         * lib/mktime.c (not_equal_tm): Remove redundant check.
89455
89456 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89457
89458         * modules/regex (lib_SOURCES): Add regex.c.
89459         Reported by James Youngman in
89460         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89461
89462 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89463
89464         * lib/getdate.y: Use Bison 1.875 features, and some minor
89465         code cleanups.  This change does not affect semantics.
89466         Don't include <stdlib.h>; no longer needed.
89467         Don't include unlocked-io.h; only the "#if TEST" code uses
89468         stdio, and performance isn't crucial there.
89469         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89470         Bison 1.875 features as described below.
89471         All uses of "PC." replaced by "pc->".
89472         (YYSTYPE): Add a forward declaration.
89473         (yylex, yyerror): Use full prototypes in forward decls.
89474         Use "%pure-parser" rather than obsolescent "%pure_parser".
89475         Use %parse-param and %lex-param instead of obsolescent
89476         YYPARSE_PARAM and YYLEX_PARAM.
89477         (meridian_table, month_and_day_table, time_units_table,
89478         relative_time_table, time_zone_table, military_table,
89479         lookup_zone, lookup_word, get_date):
89480         Use NULL instead of 0 where appropriate.
89481         (to_hour): Avoid abort (), to avoid a dependency on
89482         stdlib.h.
89483         (yyerror, yylex): Now accepts parser_control * arg.
89484         (main) [TEST]: Use '\0' rather than 0 for char.
89485
89486 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89487
89488         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89489
89490 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89491
89492         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89493         It's now the caller's responsibility to handle the case where
89494         !HAVE_GETPAGESIZE && !defined getpagesize.
89495
89496         * lib/mktime.c (leapyear): Arg is long int, not int.
89497
89498 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89499
89500         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89501
89502 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89503
89504         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89505         missing.  Problem reported by James Youngman.
89506
89507 2004-10-16  Simon Josefsson  <jas@extundo.com>
89508
89509         * gnulib-tool: Fix comments.  Fix parse problem.
89510         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89511
89512 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89513
89514         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89515         implementation of getopt_long.  Problem reported by Alexander Taler in:
89516         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89517
89518 2004-10-15  Bruno Haible  <bruno@clisp.org>
89519
89520         * gnulib-tool: Untabify. Initialize supplied_libname.
89521         (func_usage): More homogenous output.
89522         (func_modules_transitive_closure, func_modules_to_filelist,
89523         func_emit_lib_Makefile_am): New functions.
89524         (func_import): New function, extracted from big case statement. Use
89525         func_get_license, func_modules_transitive_closure,
89526         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89527         opt_lgpl. Don't use test -a, as it's not portable.
89528         (func_create_testdir): Use func_modules_transitive_closure,
89529         func_modules_to_filelist, func_emit_lib_Makefile_am.
89530
89531 2004-10-15  Bruno Haible  <bruno@clisp.org>
89532
89533         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89534
89535 2004-10-15  Bruno Haible  <bruno@clisp.org>
89536
89537         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89538         the portions belonging to each module.
89539         Suggested by Derek Robert Price <derek@ximbiot.com>.
89540
89541 2004-10-12  Simon Josefsson  <jas@extundo.com>
89542
89543         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89544         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89545         to real functions.
89546
89547 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89548
89549         * modules/vsnprintf: New file.
89550
89551 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89552
89553         * m4/vsnprintf.m4: New file.
89554
89555 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89556
89557         * lib/vsnprintf.h: New file.
89558         * lib/vsnprintf.c: New file.
89559
89560 2004-10-11  Bruno Haible  <bruno@clisp.org>
89561
89562         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89563         vsnprintf.
89564
89565 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89566
89567         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89568
89569 2004-10-07  Bruno Haible  <bruno@clisp.org>
89570
89571         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89572         fits into the provided buffer.
89573
89574 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89575
89576         * lib/diacrit.c, diacrit.h: Add GPL notice.
89577
89578         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89579         notice.
89580         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89581         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89582         This avoids a potential constant-folding bug.
89583
89584 2004-10-05  Bruno Haible  <bruno@clisp.org>
89585
89586         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89587         for the declaration of strsep.
89588
89589 2004-10-05  Bruno Haible  <bruno@clisp.org>
89590
89591         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89592
89593 2004-10-04  Simon Josefsson  <jas@extundo.com>
89594
89595         * modules/memmem: New file.
89596         * tests/test-memmem.c: New file.
89597         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89598
89599 2004-10-04  Simon Josefsson  <jas@extundo.com>
89600
89601         * m4/memmem.m4: New file.
89602
89603 2004-10-04  Simon Josefsson  <jas@extundo.com>
89604
89605         * lib/memmem.h: New file.
89606         * lib/memmem.c: New file, taken from glibc.
89607
89608 2004-10-04  Simon Josefsson  <jas@extundo.com>
89609
89610         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89611         '#ifdef USE_UNLOCKED_IO'.
89612
89613 2004-10-04  Simon Josefsson  <jas@extundo.com>
89614
89615         * config/srclist.txt: Add memmem from glibc.
89616
89617 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89618
89619         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89620
89621         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89622         modules/exclude, modules/getdate, modules/getline,
89623         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89624         modules/getusershell, modules/linebuffer, modules/md5,
89625         modules/mountlist, modules/posixtm, modules/readtokens,
89626         modules/readutmp, modules/regex, modules/sha1,
89627         modules/version-etc, modules/yesno:
89628         Remove dependency on unlocked-io.
89629
89630 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89631
89632         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89633
89634         * m4/unlocked-io.m4: Add copyright notice.
89635         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89636
89637 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89638
89639         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89640         * lib/xmalloc.c (xmemdup): Likewise.
89641         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89642         XFREE): Remove these long-obsolescent macros.
89643         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89644         * lib/xstrdup.c: Remove.
89645
89646         * lib/regex.c (re_comp): Cast gettext return value to char *,
89647         Problem reported by Martin Neitzel via Mark D. Baushke.
89648
89649 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89650
89651         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89652         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89653         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89654         regex.c, sha1.c, version-etc.c, yesno.c:
89655         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89656         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89657         the includer's responsibility.
89658
89659         Sync from coreutils.
89660
89661         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89662         points to the start of a string, as the C Standard says the
89663         resulting behavior is undefined.
89664
89665         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89666         simple -> simple_backups, numbered_existing ->
89667         numbered_existing_backups, numbered -> numbered_backups
89668         to avoid shadowing problems.  All uses changed.
89669         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89670         * lib/backupfile.c (check_extension, numbered_backup):
89671         Rename locals to avoid shadowing 'basename'.
89672         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89673         once.
89674
89675         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89676         * lib/.cvsignore: Add getopt.h.
89677
89678 2004-10-04  Bruno Haible  <bruno@clisp.org>
89679
89680         * modules/README: New file.
89681         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89682         not a module.
89683
89684 2004-10-02  Jim Meyering  <jim@meyering.net>
89685
89686         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89687
89688 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89689
89690         * modules/strsep: New file.
89691
89692 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89693
89694         * m4/strsep.m4: New file.
89695
89696 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89697
89698         * lib/strsep.h: New file.
89699         * lib/strsep.c: New file.
89700
89701 2004-10-01  Simon Josefsson  <jas@extundo.com>
89702
89703         * lib/snprintf.c (snprintf): Handle size==0.
89704
89705 2004-10-01  Simon Josefsson  <jas@extundo.com>
89706             Bruno Haible  <bruno@clisp.org>
89707
89708         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89709         (snprintf): Declare 'args'.
89710
89711 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89712
89713         * lib/snprintf.c: Remove comments as to why each header is needed.
89714
89715 2004-10-01  Bruno Haible  <bruno@clisp.org>
89716
89717         * MODULES.html.sh: Add strsep.
89718
89719 2004-09-30  Simon Josefsson  <jas@extundo.com>
89720
89721         * modules/snprintf: New file.
89722
89723 2004-09-30  Simon Josefsson  <jas@extundo.com>
89724
89725         * m4/snprintf.m4: New file.
89726
89727 2004-09-30  Simon Josefsson  <jas@extundo.com>
89728
89729         * lib/snprintf.h, lib/snprintf.c: New files.
89730
89731 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89732
89733         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89734         (hol_entry_help): Never translate an empty string.
89735         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89736         * lib/argp.h (OPTION_NO_TRANS): New option.
89737
89738 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89739
89740         * modules/argp (Maintainer): Replace Simon Josefsson
89741         by Sergey Poznyakoff.
89742
89743 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89744
89745         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89746         changes merged back into glibc.
89747
89748 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89749
89750         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89751
89752 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89753
89754         * lib/xvasprintf.c: Include xalloc.h.
89755         (xvasprintf): Use xalloc_die, not xmalloc_die.
89756
89757 2004-09-29  Bruno Haible  <bruno@clisp.org>
89758
89759         * modules/alloca-opt: New file, derived from modules/alloca.
89760         * modules/allocsa: Depend on alloca-opt instead of alloca.
89761         * modules/setenv: Likewise.
89762         * modules/vasnprintf: Likewise.
89763         * MODULES.html.sh: Add alloca-opt.
89764
89765 2004-09-28  Simon Josefsson  <jas@extundo.com>
89766
89767         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89768         LGPL, and to replace license template from GPL to LGPL.
89769
89770 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89771
89772         * modules/dummy: Change license to LGPL.
89773
89774 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89775
89776         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89777
89778 2004-09-24  Simon Josefsson  <jas@extundo.com>
89779
89780         * modules/minmax (License): Change from GPL to LGPL.
89781
89782 2004-09-23  Simon Josefsson  <jas@extundo.com>
89783
89784         * gnulib-tool (--import): Typo.
89785
89786 2004-09-23  Simon Josefsson  <jas@extundo.com>
89787
89788         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89789
89790 2004-09-22  Bruno Haible  <bruno@clisp.org>
89791
89792         * modules/*: Add 'License' field.
89793         * gnulib-tool: Accept --extract-license option.
89794         (func_get_license): New function.
89795
89796 2004-09-21  Bruno Haible  <bruno@clisp.org>
89797
89798         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89799         Reported by Simon Josefsson.
89800
89801 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89802
89803         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89804         gl_AC_TYPE_LONG_LONG.
89805
89806 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89807
89808         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89809
89810 2004-09-18  Simon Josefsson  <jas@extundo.com>
89811         and  Paul Eggert  <eggert@cs.ucla.edu>
89812
89813         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89814         calls with autoreconf.  Define GL_LIB.
89815
89816 2004-09-14  Karl Berry  <karl@gnu.org>
89817
89818         * config/srclist.txt: unsync setenv.c, sigh.
89819
89820 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89821
89822         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89823         Problem reported by Bruno Haible in:
89824         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89825
89826 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89827
89828         * config/srclist.txt: Comment out argp-pvh.c.
89829
89830 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89831
89832         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89833         in case some system header has #define'd it.  Problem reported by
89834         Soeren D. Schulze in
89835         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89836
89837 2004-09-09  Karl Berry  <karl@gnu.org>
89838
89839         * regex.[ch]: delete from the root.  These were supposed to be
89840                 synced with emacs cvs, but this has not happened for about
89841                 a year, and anyway nothing else uses emacs regex.[ch].
89842                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89843                 lib/regex[.ch] is untouched.
89844
89845 2004-09-09  Bruno Haible  <bruno@clisp.org>
89846
89847         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89848
89849 2004-09-09  Bruno Haible  <bruno@clisp.org>
89850
89851         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89852         modifications.
89853         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89854
89855 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89856
89857         * modules/xvasprintf: New file.
89858         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89859
89860 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89861
89862         * lib/xvasprintf.h: New file.
89863         * lib/xvasprintf.c: New file.
89864         * lib/xasprintf.c: New file.
89865
89866 2004-09-08  Bruno Haible  <bruno@clisp.org>
89867
89868         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89869
89870 2004-09-08  Bruno Haible  <bruno@clisp.org>
89871
89872         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89873         length is > INT_MAX.
89874         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89875         more.
89876
89877 2004-09-08  Bruno Haible  <bruno@clisp.org>
89878
89879         * lib/stdint_.h: New file, taken from GNU clisp.
89880
89881 2004-09-08  Bruno Haible  <bruno@clisp.org>
89882             Oskar Liljeblad  <oskar@osk.mine.nu>
89883
89884         * modules/stdint: New file.
89885         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89886
89887 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89888
89889         Import from coreutils.
89890         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89891         strings on unbounded length.  alloca's performance benefits aren't
89892         that important here.
89893         (V_STRDUP): Remove.
89894         (parse_with_separator): New function, with most of the internals
89895         of the old parse_user_spec.  Allow user to omit both user and group,
89896         for compatibility with FreeBSD.
89897         Clone only the user name, not the entire spec.
89898         Do not set *uid, *gid unless entirely successful.
89899         Avoid memory leak in some failing cases.
89900         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89901         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89902         (parse_user_spec): Rewrite to use parse_with_separator.
89903
89904 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89905
89906         * modules/userspec: Don't depend on alloca.
89907
89908 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89909
89910         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89911
89912 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89913
89914         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89915         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89916         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89917
89918 2004-08-16  Simon Josefsson  <jas@extundo.com>
89919
89920         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89921         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89922         Add --dry-run for --import.
89923         Let user provided command line parameters override configure.ac
89924         settings.
89925
89926 2004-08-12  Simon Josefsson  <jas@extundo.com>
89927
89928         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89929         as discussed with Paul Eggert in threads rooted at
89930         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89931         and
89932         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89933         Before, the test was empty, and relied on ELIDE_CODE in source
89934         code.)
89935         (gl_PREREQ_GETOPT): New macro.
89936         (gl_GETOPT): Use them.
89937
89938 2004-08-12  Simon Josefsson  <jas@extundo.com>
89939
89940         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89941         * lib/getopt_.h: Renamed from getopt.h.
89942
89943 2004-08-12  Simon Josefsson  <jas@extundo.com>
89944
89945         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89946         Change default library name from libfoo to libgnu.
89947         Now, if you have a configure.ac that says:
89948                 gl_SOURCE_BASE(gl)
89949                 gl_M4_BASE(gl/m4)
89950                 gl_MODULES(error getopt etcetera)
89951                 gl_INIT
89952         you can import all you need by running:
89953                 ../gnulib/gnulib-tool --import
89954
89955         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89956         (Makefile.am): Rewrite, use logic from argz.
89957         (Include): Use <getopt.h> instead of "getopt.h".
89958
89959 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89960
89961         * modules/argp (Files): Add m4/unlocked-io.m4.
89962         (Depends-on): Add extensions.
89963
89964 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89965
89966         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89967         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89968         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89969         Check for program_invocation_name, program_invocation_short_name,
89970         flockfile, funlockfile, features.h, _getopt_long_only_r.
89971
89972 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89973
89974         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89975         its complicated substitute.
89976         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89977         and program_invocation_name.
89978         (__argp_basename) [!_LIBC]: Remove; the only use was
89979         replaced by its body.
89980         (__argp_short_program_name): Change condition from
89981         !defined __argp_short_program_name to
89982         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89983         to match argp-namefrob.h.
89984         (__argp_failure): Don't assume strerror_r returns char *.
89985         * lib/argp-parse.c (N_): Define unconditionally.
89986         (argp_default_options): Fill out initializers with 0 to avoid
89987         gcc warnings.
89988
89989 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89990
89991         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89992         getopt1.c.
89993
89994 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89995
89996         Merge from coreutils.
89997
89998         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89999
90000         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
90001         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
90002
90003 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90004
90005         Merge from coreutils.
90006
90007         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
90008         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
90009         for Reliant Unix 5.43.
90010
90011         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
90012         (union fooround): Use uintmax_t, not long int.
90013         The rest is a merge from libc:
90014         [defined _LIBC]: Include <shlib-compat.h>.
90015         (_obstack) [defined _LIBC]: Remove after 2.3.4.
90016
90017         * lib/settime.c (settime): Recode to avoid warning with
90018         Sun Forte C 6U2.
90019
90020         * lib/strverscmp.c: Convert to UTF-8.
90021
90022 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90023
90024         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
90025         m4/uintmax_t.m4.
90026
90027 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90028
90029         * modules/xalloc-die: New file.
90030         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
90031
90032         * modules/md5 (Files): Add m4/uint32_t.m4.
90033         * modules/sha1: Renamed from modules/sha.
90034         (Files):
90035         Rename lib/sha.h to lib/sha1.h.
90036         Rename lib/sha.c to lib/sha1.c.
90037         Rename m4/sha.m4 to m4/sha1.m4.
90038         (lib_SOURCES): Likewise.
90039         (configure.ac): Rename gl_SHA to gl_SHA1.
90040         (Include): sha.h -> sha1.h.
90041
90042 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90043
90044         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
90045         * m4/sha1.m4: Renamed from sha.m4.
90046         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
90047
90048 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90049
90050         * lib/obstack.h (obstack_empty_p):
90051         Don't assume that chunk->contents is suitably aligned.
90052         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
90053         Likewise. Problem reported by Benno in
90054         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
90055
90056         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
90057         readable.  This could be improved further but it'd take some work.
90058
90059 2004-08-08  Simon Josefsson  <jas@extundo.com>
90060
90061         * modules/xgethostname (Depends-on): Remove exit and error (not
90062         used).
90063
90064         * modules/getpass-gnu: Add getpass.h.
90065         (Depends-on): Add stdbool.
90066         * modules/getpass: Add getpass.h.
90067
90068 2004-08-08  Simon Josefsson  <jas@extundo.com>
90069
90070         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
90071         Check getpass declaration.
90072
90073 2004-08-08  Simon Josefsson  <jas@extundo.com>
90074
90075         * lib/xgethostname.c: Don't include error.h (not used).
90076
90077         * lib/getpass.h: Add.
90078         * lib/getpass.c: Include getpass.h first.
90079
90080 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
90081
90082         * lib/xalloc-die.c: New file.
90083         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
90084         All uses removed.
90085         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
90086         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
90087         xalloc-die.c.
90088         (_, N_, xalloc_die): Move to xalloc-die.c.
90089         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
90090         so that we needn't mess with xalloc_msg_memory_exhausted.
90091
90092         * lib/sha1.h: Renamed from sha.h.
90093         (SHA1_H): Renamed from _SHA_H.
90094         (sha1_ctx): Renamed from sha_ctx.
90095         (sha1_init_ctx): Renamed from sha_init_ctx.
90096         (sha1_process_block): Renamed from sha_process_block.
90097         (sha1_process_bytes): Renamed from sha_process_bytes.
90098         (sha1_finish_ctx): Renamed from sha_finish_ctx.
90099         (sha1_read_ctx): Renamed from sha_read_ctx.
90100         (sha1_stream): Renamed from sha_stream.
90101         (sha1_buffer): Renamed from sha_buffer.
90102         * lib/sha1.c: Likewise; renamed from sha.c.
90103         Do not include <sys/types.h>.
90104         Include <stddef.h> rather than <stdlib.h>.
90105
90106 2004-08-08  Bruno Haible  <bruno@clisp.org>
90107
90108         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
90109         FILESYSTEM_PREFIX_LEN.
90110         * lib/progreloc.c: Likewise.
90111         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
90112
90113 2004-08-06  Simon Josefsson  <jas@extundo.com>
90114
90115         * modules/progname (Depends-on): Don't depend on stdbool.
90116
90117 2004-08-06  Simon Josefsson  <jas@extundo.com>
90118
90119         * modules/getsubopt: New file.
90120         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90121         getsubopt.
90122
90123 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90124
90125         More merge from coreutils.
90126
90127         * m4/utimens.m4, m4/utimecmp.m4: New files.
90128         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
90129         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
90130         prereq.m4, sha.m4: Import changes from coreutils.
90131
90132 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90133
90134         More merge from coreutils.
90135         * modules/raise, modules/readtokens0, modules/utimens:
90136         * modules/utimecmp, module/xnanosleep: New files.
90137         * modules/strftime: Add lib/strftime.h.
90138         Change include from <time.h> to "strftime.h".
90139         * modules/yesno: Add lib/yesno.h.
90140         * modules/backupfile: Remove lib/addext.c.
90141         * modules/euidaccess: Add stat-macros.h.
90142         * modules/canonicalize, modules/euidaccess,
90143         modules/filemode, modules/lchown, modules/makepath,
90144         modules/rmdir, modules/stat: Likewise.
90145
90146 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90147
90148         Merge from tar.
90149         * lib/argp-help.c (make_hol, hol_append): Don't assume that
90150         SIZE_MAX is a valid preprocessor constant.
90151         (__argp_basename): Change from "#ifndef _LIBC"
90152         to "#ifndef __argp_short_program_name", so that
90153         we don't compile these functions for tar.
90154
90155         More merges from coreutils.
90156         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
90157         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
90158         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
90159         * lib/addext.c: Remove; no longer needed.
90160         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
90161         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
90162         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
90163         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
90164         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
90165         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
90166         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
90167         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
90168         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
90169         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
90170         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
90171         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
90172         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
90173         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
90174         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
90175         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
90176         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
90177         Import changes from coreutils.
90178
90179 2004-08-05  Simon Josefsson  <jas@extundo.com>
90180
90181         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
90182
90183 2004-08-05  Simon Josefsson  <jas@extundo.com>
90184
90185         * m4/getsubopt.m4: New file.
90186
90187 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90188
90189         Merge from coreutils.
90190
90191         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
90192         * m4/getcwd-path-max.m4: New files.
90193
90194         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
90195         FILESYSTEM_PREFIX_LEN ->
90196         FILE_SYSTEM_PREFIX_LEN.
90197         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
90198         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
90199         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
90200         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
90201
90202         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
90203         prerequisite modules now handle the DOS stuff.
90204         Don't check for unistd.h.
90205
90206 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90207
90208         Merge from coreutils.
90209
90210         * lib/.gdb-history: Remove; this doesn't belong here.
90211
90212         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
90213         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
90214         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
90215         * lib/getcwd.c: New files.
90216
90217         * lib/dirname.h: Include <stdbool.h>.
90218         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
90219         for consistency with POSIX terminology.  All uses changed.
90220         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
90221         (strip_trailing_slashes): Use bool for booleans.
90222         * lib/stripslash.c (strip_trailing_slashes): Likewise.
90223
90224         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
90225         sometimes returns a positive errno value even when it succeeds.
90226         (print_errno_message) [!LIBC]: Fall back on strerror if
90227         __strerror_r fails.
90228
90229         * lib/path-concat.c (mempcpy): Don't define if a system header defines
90230         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
90231         (longest_relative_suffix): New function.
90232         (path_concat): Use it.  Assume first argument is not NULL.
90233         Port to DOS.  Omit redundant separators.
90234         Report an error instead of returning NULL.
90235         Use mempcpy instead of memcpy.
90236         (xpath_concat): Remove: not declared or used.
90237
90238         * lib/same.h: Include <stdbool.h>
90239         (same_name): Return bool, not int.
90240         * lib/same.c (same_name): Likewise.
90241         (errno): Don't declare; we assume C89 or better now.
90242
90243         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
90244         if not already defined.
90245
90246         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
90247         * lib/dup-safer.c (errno): Likewise.
90248
90249 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90250
90251         Merge from coreutils.
90252         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
90253         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
90254         * modules/path-concat: Don't depend on strdup.
90255
90256 2004-08-03  Simon Josefsson  <jas@extundo.com>
90257
90258         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
90259         * lib/progname.h: Don't include stdbool.h.
90260
90261 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90262
90263         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
90264         * MODULES.html.sh (func_all_modules): Remove fatal.
90265
90266 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90267
90268         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
90269
90270 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90271
90272         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
90273         working.
90274
90275 2004-08-02  Simon Josefsson  <jas@extundo.com>
90276
90277         * lib/getsubopt.h: New file, with comments from Bruno Haible.
90278         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
90279         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
90280
90281 2004-08-01  Simon Josefsson  <jas@extundo.com>
90282
90283         * lib/xgetdomainname.c: Include stdlib.h, for free().
90284
90285 2004-07-19  Bruno Haible  <bruno@clisp.org>
90286
90287         * MODULES.html.sh (func_all_modules): Add dummy.
90288
90289 2004-07-16  Simon Josefsson  <jas@extundo.com>
90290
90291         * modules/dummy: New file.
90292
90293 2004-07-16  Simon Josefsson  <jas@extundo.com>
90294
90295         * lib/dummy.c: New file.
90296
90297 2004-07-16  Bruno Haible  <bruno@clisp.org>
90298
90299         * lib/backupfile.h: Add extern "C" for C++.
90300         * lib/closeout.h: Likewise.
90301         * lib/copy-file.h: Likewise.
90302         * lib/findprog.h: Likewise.
90303         * lib/full-write.h: Likewise.
90304         * lib/pathname.h: Likewise.
90305         * lib/progname.h: Likewise.
90306         * lib/stpcpy.h: Likewise.
90307         * lib/stpncpy.h: Likewise.
90308         * lib/strcase.h: Likewise.
90309         * lib/strstr.h: Likewise.
90310         * lib/xalloc.h: Likewise.
90311
90312         * lib/mbswidth.h: Add extern "C" for C++.
90313         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
90314
90315 2004-07-13  Robert Millan  <robertmh@gnu.org>
90316
90317         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
90318
90319 2004-07-09  Simon Josefsson  <jas@extundo.com>
90320
90321         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
90322         failed without this.)
90323
90324 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90325
90326         * modules/chown (Files): Add lib/fchown-stub.c, since
90327         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
90328
90329 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90330
90331         * lib/fchown-stub.c: New file.
90332
90333 2004-06-24  Jim Meyering  <jim@meyering.net>
90334
90335         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
90336
90337 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90338
90339         * modules/argz: Omit "#include".
90340
90341         * MODULES.html.sh (func_all_modules): Add calloc, to match
90342         2004-06-01 addition of calloc module.
90343
90344 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90345
90346         * m4/argz.m4: New file, which is autoupdated from libtool.
90347
90348 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90349
90350         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
90351         libtool.
90352
90353 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90354
90355         * config/srclist-update: Don't insist on "USA." before the
90356         close-comment, as libtool omits the period and puts the */ on a
90357         separate line.
90358         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
90359         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
90360
90361 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
90362
90363         * modules/argz: New file.
90364         * MODULES.html.sh (func_all_modules): Add argz.
90365
90366 2004-06-12  Jim Meyering  <jim@meyering.net>
90367         and  Paul Eggert  <eggert@cs.ucla.edu>
90368
90369         * modules/hash (Files): Add lib/xalloc.h.
90370         * modules/pipe (Depends-on): Add wait-process.
90371         * modules/stat (Depends-on): Add xalloc.
90372         * modules/userspec (Files): Add lib/userspec.h.
90373         * modules/xstrto
90374
90375         Upgrade from gettext-0.13.
90376         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
90377         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
90378         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
90379
90380 2004-06-10  Jim Meyering  <jim@meyering.net>
90381
90382         * lib/calloc.c: New file.
90383
90384 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
90385
90386         * lib/getdate.y (yylex): Allow space between sign and number.
90387         Problem reported by Dan Jacobson.
90388
90389 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90390
90391         Merge from coreutils CVS.
90392
90393         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
90394         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
90395         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
90396         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
90397         xstrtol.m4: Fix copyright date and/or serial number.
90398
90399         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
90400         See if we need an fchown replacement.
90401         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
90402         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
90403         and use the replacement function if we detect either defect.
90404
90405         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
90406         gl_UTIMECMP.
90407
90408 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90409         and  Jim Meyering  <jim@meyering.net>
90410
90411         Merge from coreutils CVS.
90412
90413         * lib/stat-macros.h: New file, with contents from file-type.h
90414         and coreutils' system.h.
90415         * lib/file-type.c: Include "stat-macros.h".
90416         * lib/file-type.h (file_type): Move all macro definitions to new file,
90417         stat-macros.h.
90418
90419         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
90420         Wrap old code with this conditional.
90421         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
90422         function that does not dereference symlinks.
90423         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
90424
90425         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
90426         dependency problems.
90427         (xreadlink): Accept new arg SIZE, for efficiency.
90428         All decls and uses changed.
90429         * lib/xreadlink.h: Include <stddef.h>, for size_t.
90430
90431         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
90432         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
90433
90434         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
90435         sysexits.h.
90436
90437 2004-06-01  Jim Meyering  <jim@meyering.net>
90438
90439         * m4/calloc.m4: New file.
90440
90441 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
90442
90443         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
90444         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
90445         Also, fix a typo in a diagnostic.
90446
90447 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90448
90449         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
90450         or AC_FUNC_REALLOC.
90451
90452 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90453
90454         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
90455         macros to be defined.
90456         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90457         the allocator returns NULL because the requested size is zero.
90458
90459 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90460
90461         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90462         var.  Add comment explaining why libc still defines it.  This
90463         merges the following patch from glibc:
90464         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90465
90466 2004-05-20  Andreas Schwab  <schwab@suse.de>
90467
90468         * m4/free.m4: Replace free if it not known to work, not the other
90469         way round.
90470
90471 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90472
90473         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90474         present in glibc since revision 1.1 of this file.
90475         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90476         obstack_alignment_mask, obstack_alloc, obstack_base,
90477         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90478         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90479         obstack_grow0, obstack_init, obstack_int_grow,
90480         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90481         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90482         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90483         nonexistent functions.
90484
90485 2004-05-18  Karl Berry  <karl@gnu.org>
90486
90487         * config/srclist.txt: break link for vasnprintf.c.
90488
90489 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90490
90491         Port obstack to the AS/400, where pointers are 16 bytes wide and
90492         you cannot cast an integer to a valid pointer.  This patch is
90493         currently waiting to be integrated into glibc; see
90494         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90495
90496         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90497         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90498         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90499         (struct obstack): temp member is now a union of a pointer and
90500         an integer, instead of an integer.  All integer uses changed.
90501         This does not affect the physical layout of struct obstack,
90502         except on hosts (like the AS/400) where the size or alignment of
90503         void * is greater than that of ptrdiff_t.
90504         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90505         __STDC__)]: Store temporary in pointer member of union, not
90506         integer member.
90507         * lib/obstack.c: Include <stddef.h>, for offsetof.
90508         (struct fooalign): Remove; it doesn't need a name.
90509         (union fooround): Change double to long double, and add void *.
90510         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90511         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90512         not a macro.  Hence the values are always int; so remove all
90513         casts-to-int in uses.
90514
90515 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90516
90517         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90518         we can get this patch merged into glibc.
90519
90520 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90521             Paul Eggert  <eggert@cs.ucla.edu>
90522
90523         * m4/argp: Depend on alloca.
90524
90525 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90526             Paul Eggert  <eggert@cs.ucla.edu>
90527
90528         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90529         freecoding.
90530
90531 2004-05-17  Bruno Haible  <bruno@clisp.org>
90532
90533         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90534         precision that consists of a '.' followed by an empty digit string.
90535         Patch by Tor Lillqvist <tml@iki.fi>.
90536
90537 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90538
90539         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90540         for backward compatibility with older code.  We need our own
90541         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90542         it under some other name, and our alloca.h will define it.
90543
90544 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90545             Derek Price  <derek@ximbiot.com>
90546
90547         * lib/alloca.c: Include <alloca.h>, to get our interface.
90548         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90549         include <alloca.h> first.  Use C89 prototype for alloca; this
90550         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90551         Use #elif for simplicity, since we can assume C89 now.
90552         Don't try to source the system alloca.h since it will not be found
90553         and to prevent recursively including its replacement.
90554         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90555         * lib/regex.c: Likewise.
90556
90557 2004-05-16  Derek Price  <derek@ximbiot.com>
90558             Paul Eggert  <eggert@cs.ucla.edu>
90559
90560         getline cleanup.  This changes the getndelim2 API: both order of
90561         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90562         no delimiter).
90563
90564         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90565         interface does that.
90566         (getline): Always use getdelim, so that we don't have two
90567         copies of this code.
90568         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90569         if available.
90570         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90571         (GETNDELIM2_MAXIMUM): New macro.
90572         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90573         instead of the old practice of delim2==0.  All callers changed.
90574         Return -1 on overflow, instead of returning junk.
90575         Do not set *linesize unless allocation succeeds.
90576         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90577         that we include sys/types.h.
90578         * lib/getnline.h: Likewise.
90579         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90580         (getndelim2): Reorder arguments.
90581         * lib/getnline.c (getnline, getndelim):
90582         Don't discard the NMAX argument.
90583         (getnline): Invoke getndelim, to avoid code duplication.
90584         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90585         of (size_t) -1 by callers of the getnline family.
90586
90587 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90588
90589         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90590         Check for gettimeofday.
90591         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90592         Check for settimeofday, stime.
90593
90594 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90595
90596         * lib/nanosleep.c (suspended): Change its type from int to
90597         sig_atomic_t volatile.
90598         (first_call): Make it private to rpl_nanosleep, and have it
90599         be zero initially as that's a bit faster.
90600         (my_usleep): Round up fractional times instead of truncating them,
90601         as this is the usual meaning for 'sleep'.
90602
90603         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90604         doesn't work.
90605         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90606         (ENOSYS): Define if not defined.
90607         (settime): Fall back on stime if it exists and settimeofday fails.
90608         But don't bother with fallbacks if a method fails with errno == EPERM.
90609
90610 2004-05-11  Jim Meyering  <jim@meyering.net>
90611
90612         Prior to this change, the save_cwd caller required read access to the
90613         current directory on most systems (ones with the fchdir function).
90614
90615         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90616         fails, try write-only, and finally, resort to using xgetcwd.
90617
90618 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90619
90620         * lib/obstack.c, obstack.h: Import changes from libc.
90621
90622 2004-04-28  Bruno Haible  <bruno@clisp.org>
90623
90624         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90625         also implicitly appends .exe to executables.
90626         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90627         accepts Windows pathnames.
90628         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90629         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90630         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90631         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90632         Reported by Derek Robert Price <derek@ximbiot.com>.
90633
90634 2004-04-21  Karl Berry  <karl@gnu.org>
90635
90636         * config/srclist.txt (localcharset.c): break sync.
90637
90638 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90639
90640         * m4/host-os.m4: Add a copyright notice.
90641
90642 2004-04-20  Jim Meyering  <jim@meyering.net>
90643
90644         Change UTILS_ to gl_ in AC_DEFINE'd names.
90645         Change utils_- and jm_-prefixed variables, too.
90646         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90647         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90648         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90649
90650         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90651         Don't emit trailing blanks.
90652         Also rename jm_-prefixed variables to have gl_ prefix.
90653
90654         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90655         Also rename jm_-prefixed variables to have gl_ prefix.
90656
90657         * m4/jm-macros.m4: Reflect the renamings.
90658         * m4/prereq.m4: Likewise.
90659
90660 2004-04-20  Jim Meyering  <jim@meyering.net>
90661
90662         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90663         memory.
90664
90665 2004-04-20  Jim Meyering  <jim@meyering.net>
90666             Bruno Haible  <bruno@clisp.org>
90667
90668         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90669         memory when realloc fails.
90670
90671 2004-04-19  Jim Meyering  <jim@meyering.net>
90672
90673         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90674         now that readutmp.c may call `free (0)'.
90675
90676 2004-04-19  Bruno Haible  <bruno@clisp.org>
90677
90678         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90679         * m4/inttypes_h.m4: Likewise.
90680         * m4/stdint_h.m4: Likewise.
90681         * m4/intmax_t.m4: Likewise.
90682         * m4/uintmax_t.m4: Likewise.
90683
90684 2004-04-18  Jim Meyering  <jim@meyering.net>
90685
90686         * m4/prereq.m4: Don't forbid jm_ prefix.
90687
90688         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90689         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90690         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90691         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90692         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90693         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90694         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90695         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90696         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90697         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90698         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90699         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90700         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90701         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90702         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90703         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90704         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90705         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90706         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90707
90708 2004-04-18  Jim Meyering  <jim@meyering.net>
90709
90710         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90711         failure, don't leak memory and do call END_UTMP_ENT.
90712
90713 2004-04-16  Jim Meyering  <jim@meyering.net>
90714
90715         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90716         coreutils' stat program.
90717         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90718
90719 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90720
90721         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90722         C89.
90723         (CHAR_BIT): Remove, since we assume C89.
90724         Include <stdint.h> if available, as per current Autoconf CVS advice.
90725
90726 2004-03-31  Jim Meyering  <jim@meyering.net>
90727
90728         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90729         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90730         * m4/xalloc.m4: Likewise.
90731
90732 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90733
90734         Merge from coreutils.
90735
90736         * m4/inttostr.m4: New file.
90737         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90738         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90739         Require gl_CLOCK_TIME.
90740         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90741
90742 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90743
90744         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90745         not bool, to be more consistent with Unix conventions.
90746         Suggested by Bruno Haible.
90747
90748         Merge from coreutils.
90749
90750         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90751         * lib/umaxtostr.c: New files.
90752
90753         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90754         the usual <time.h> dance.
90755         (get_date): Change signature to support fractional time stamps.
90756         All callers changed.
90757         * lib/getdate.y: Include "getdate.h" first, as we can now
90758         assume C89 and don't need to worry about 'const'.
90759         Similarly, include "unlocked-io.h" near start, not in middle.
90760         Include <limits.h>.
90761         (textint.value): Use long int rather than int.
90762         (textint.digits): Use size_t rather than int.
90763         (BILLION, LOG10_BILLION): New constants.
90764         (parser_control): New member rel_ns.  Members day_ordinal,
90765         time_zone, month, day, hour, minutes, rel_year, rel_month,
90766         rel_day, rel_hour, rel_minutes, rel_seconds
90767         are now long int, not int.  Member seconds is now struct timespec,
90768         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90769         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90770         not int.
90771         (%union.intval): Now long int, not int.
90772         New member timespec.
90773         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90774         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90775         (spec): Now is a timespec or an item list.
90776         (timespec, items): New nonterminals.
90777         (time, rel, relunit, number, get_date):
90778         Add support for fractional seconds.
90779         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90780         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90781         (to_hour): First arg is now long int, not int.
90782         (to_year): Returns long int, not int.
90783         Don't treat year -70 like 70.
90784         (tm_diff): Returns long int, not int.
90785         (lookup_word): Use bool instead of int when appropriate.
90786         (yylex): Use size_t for count, not int.
90787         Detect overflow when parsing large integer constants.
90788         Add support for fractions.
90789         (get_date): Make pointers 'const' if possible.
90790         Use more-portable code to detect integer overflow.
90791         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90792         Don't use ctime; it's not reliable if the year has >4 digits.
90793
90794         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90795         This is for compatibility with BSD.
90796
90797         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90798         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90799         From coreutils' system.h.
90800
90801         * lib/userspec.c: Don't include "posixver.h".
90802         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90803         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90804         compatible extension.  Simplify code by removing a boolean int
90805         that was always nonzero if a string was nonnull.
90806
90807 2004-03-30  Jim Meyering  <jim@meyering.net>
90808
90809         Merge from coreutils.
90810
90811         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90812         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90813         on some systems one must include <grp.h> before it.
90814         Reported by Christian Krackowizer.
90815
90816 2004-03-30  Jim Meyering  <jim@meyering.net>
90817
90818         Merge from coreutils.
90819
90820         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90821
90822         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90823         an empty input stream.
90824
90825         * lib/readtokens.c: Include <stdbool.h>.
90826         (readtoken): Use `size_t' rather than int/long.
90827         All callers adjusted.
90828         Use `bool' rather than `int' where appropriate.
90829         Use memset rather than an explicit loop.
90830         Use x2nrealloc rather than xrealloc.
90831         Allow the use of `\0' as a delimiter.
90832         (readtokens): Likewise.
90833         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90834
90835 2004-03-30  Jim Meyering  <jim@meyering.net>
90836
90837         * m4/realloc.m4: Remove file, since now it does no more than
90838         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90839         the `configure.ac' section of module/realloc.
90840         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90841
90842 2004-03-30  Bruno Haible  <bruno@clisp.org>
90843
90844         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90845         nonnull.
90846
90847 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90848
90849         Merge changes to getloadavg.c from coreutils and Emacs.
90850
90851         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90852         Define to an expression, not to the empty string.
90853         Include cloexec.h and xalloc.h.
90854         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90855         Use set_cloexec_flag rather than rolling our own.
90856         * lib/cloexec.c, lib/cloexec.h: New files.
90857
90858 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90859
90860         * m4/cloexec.m4: New file.
90861
90862 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90863
90864         * lib/getopt.h: Sync with libc CVS.
90865
90866 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90867             Bruno Haible  <bruno@clisp.org>
90868
90869         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90870         mbswidth.
90871
90872 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90873             Bruno Haible  <bruno@clisp.org>
90874
90875         * lib/mbswidth.h: Include <wchar.h> only if
90876         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90877         <wchar.h>.
90878         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90879
90880 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90881
90882         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90883         Sync with libc CVS.
90884         * lib/getopt_int.h: New file, also synced from libc.
90885
90886 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90887
90888         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90889         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90890         Bring back getopt.c, getopt.h, getopt1.c.
90891
90892 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90893
90894         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90895         All uses changed.  Check for sa_sigaction member; this fixes
90896         a bug first reported by Jason Andrade in
90897         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90898
90899 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90900
90901         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90902         '#if' expressions.  Unlike the code it replaces, it does not
90903         depend on (defined _SC_PAGESIZE).  However, it does depend on
90904         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90905         first reported by Jason Andrade in
90906         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90907
90908 2004-02-25  Simon Josefsson  <jas@extundo.com>
90909
90910         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90911
90912 2004-02-25  Simon Josefsson  <jas@extundo.com>
90913
90914         * lib/strdup.h: New file.
90915         * lib/strdup.c: Include it.
90916         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90917         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90918
90919 2004-02-23  Karl Berry  <karl@gnu.org>
90920
90921         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90922         (from fencepost.gnu.org:/gd/gnuorg).
90923
90924 2004-02-23  Karl Berry  <karl@gnu.org>
90925
90926         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90927         * config/srclist.txt: add maintain/standards documents.
90928
90929 2004-02-18  Bruno Haible  <bruno@clisp.org>
90930
90931         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90932         Reported by Derek Robert Price <derek@ximbiot.com>.
90933
90934 2004-02-16  Karl Berry  <karl@gnu.org>
90935
90936         * config/mkinstalldirs, install-sh: update from automake.
90937
90938 2004-02-06  Karl Berry  <karl@gnu.org>
90939
90940         * m4/po.m4: update from gettext 0.14.1.
90941
90942 2004-02-06  Karl Berry  <karl@gnu.org>
90943
90944         * lib/config.charset: update from gettext 0.14.1.
90945
90946 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90947
90948         Add comments and code, prompted by suggestions from Bruno Haible
90949         for sh-quote.
90950         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90951         describing the enum quoting_style values.
90952         * lib/quotearg.c (quotearg_alloc): New function.
90953         (quotearg_buffer_restyled): Treat lone { and } as special.
90954         Treat = as special.  Work around bug with older shells
90955         that "see" a '\' that is really the 2nd byte of a multibyte char.
90956         Quote empty string with shell_quoting_style.
90957
90958 2004-02-03  Bruno Haible  <bruno@clisp.org>
90959
90960         * m4/pipe.m4: New file, from GNU gettext.
90961
90962 2004-02-03  Bruno Haible  <bruno@clisp.org>
90963
90964         * lib/pipe.h: New file, from GNU gettext.
90965         * lib/pipe.c: New file, from GNU gettext.
90966
90967 2004-01-27  Bruno Haible  <bruno@clisp.org>
90968
90969         * m4/execute.m4: New file, from GNU gettext.
90970
90971 2004-01-27  Bruno Haible  <bruno@clisp.org>
90972
90973         * lib/execute.h: New file, from GNU gettext.
90974         * lib/execute.c: New file, from GNU gettext.
90975         * lib/w32spawn.h: New file, from GNU gettext.
90976
90977 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90978
90979         Merge from diffutils.
90980
90981         * lib/file-type.c (file_type): Add typed memory objects.
90982         * lib/file-type.h (S_TYPEISTMO): New macro.
90983
90984         * lib/c-stack.h (c_stack_action): Remove argv argument.
90985         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90986         (die): Don't calculate message unless segv_action returns.
90987         (get_stack_location, min_address_from_argv, max_address_from_argv,
90988         volatile stack_base, volatile_stack_size): Remove.
90989         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90990         that every segmentation violation is a stack overflow.  (Ouch!)
90991         See Debian bug 136249 (still outstanding) for more info about why
90992         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90993
90994 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90995
90996         Exit-status fix from coreutils.
90997
90998         Use exit_failure consistently in place of EXIT_FAILURE,
90999         so that program exit statuses are consistent on failure.
91000
91001         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
91002         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
91003         * lib/argmatch.h: Comment fix to match the above.
91004         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
91005         Now a macro referring to exit_failure, instead of a separate
91006         variable.  Include "exitfail.h" to get it.
91007         * lib/xstrtol.h: Include "exitfail.h".
91008         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
91009
91010         * lib/long-options.c (parse_long_options): Use prototype
91011         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
91012         for clarity.
91013
91014 2004-01-21  Jim Meyering  <jim@meyering.net>
91015
91016         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
91017         so as not to conflict with a different-sized __mktime_internal
91018         function in GNU libc.
91019         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
91020         Problem building statically-linked `ls' reported by Michael Brunnbauer.
91021
91022 2004-01-20  Karl Berry  <karl@gnu.org>
91023
91024         * config/config.guess: update from config.
91025
91026         * config/srclistvars.sh: GNUWWWLICENSES for karl.
91027
91028 2004-01-20  Bruno Haible  <bruno@clisp.org>
91029
91030         Safer stack allocation.
91031         * lib/setenv.c: Include allocsa.h.
91032         (alloca): Remove fallback definition.
91033         (freea): Remove macro.
91034         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
91035         instead of freea.
91036
91037 2004-01-20  Bruno Haible  <bruno@clisp.org>
91038
91039         * m4/eealloc.m4: New file, from GNU gettext.
91040
91041 2004-01-20  Bruno Haible  <bruno@clisp.org>
91042
91043         * m4/allocsa.m4: New file, from GNU gettext.
91044
91045 2004-01-20  Bruno Haible  <bruno@clisp.org>
91046
91047         * lib/xallocsa.h: New file, from GNU gettext.
91048         * lib/xallocsa.c: New file, from GNU gettext.
91049
91050 2004-01-20  Bruno Haible  <bruno@clisp.org>
91051
91052         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
91053
91054 2004-01-20  Bruno Haible  <bruno@clisp.org>
91055
91056         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
91057         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
91058         specially.
91059
91060 2004-01-20  Bruno Haible  <bruno@clisp.org>
91061
91062         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
91063         patch.
91064
91065 2004-01-20  Bruno Haible  <bruno@clisp.org>
91066
91067         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
91068
91069 2004-01-20  Bruno Haible  <bruno@clisp.org>
91070
91071         * lib/eealloc.h: New file.
91072
91073 2004-01-20  Bruno Haible  <bruno@clisp.org>
91074
91075         * lib/binary-io.h: Avoid warnings on Cygwin.
91076
91077 2004-01-20  Bruno Haible  <bruno@clisp.org>
91078
91079         * lib/allocsa.h: New file, from GNU gettext.
91080         * lib/allocsa.c: New file, from GNU gettext.
91081
91082 2004-01-18  Karl Berry  <karl@gnu.org>
91083
91084         * doc/gpl.texi, doc/lgpl.texi: new files.
91085
91086 2004-01-18  Karl Berry  <karl@gnu.org>
91087
91088         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
91089         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
91090
91091 2004-01-15  Paul Eggert  <eggert@twinsun.com>
91092
91093         Merge from coreutils.
91094
91095         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
91096         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
91097         (gl_DEFAULT_POSIX2_VERSION): Move
91098         the documentation from 'configure' into 'config.hin',
91099         so that 'configure --help' isn't burdened by it and
91100         we don't have to worry about its formatting there.
91101         Reword the documentation so that it's more succinct
91102         and can be run together into a single paragraph.
91103         * m4/same.m4 (gl_SAME): Check for pathconf.
91104
91105 2004-01-15  Paul Eggert  <eggert@twinsun.com>
91106
91107         Merge from coreutils.
91108
91109         * lib/posixver.c: Include posixver.h.
91110
91111         * lib/same.c: Include <stdbool.h>, <limits.h>.
91112         (_POSIX_NAME_MAX): Define if not defined.
91113         (MIN): New macro.
91114         (same_name): If file names are silently truncated, report
91115         that the file names are the same if they are the same after
91116         the silent truncation.
91117
91118         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
91119         conversion function.
91120         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
91121         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
91122         longer needed.
91123
91124 2004-01-15  Jim Meyering  <jim@meyering.net>
91125
91126         Merge from coreutils.
91127
91128         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
91129         if no library is required.
91130         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
91131         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
91132         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
91133         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
91134         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
91135         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
91136         value, $ac_cv_search_crypt, if it's "none required".
91137         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
91138         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
91139         not gl_FUNC_GETLOADAVG.
91140         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
91141         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
91142
91143 2004-01-15  Jim Meyering  <jim@meyering.net>
91144
91145         Merge from coreutils.
91146
91147         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
91148         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
91149         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
91150
91151         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
91152         optional configure-time default.
91153
91154         * lib/version-etc.c (version_etc_copyright): Update copyright date.
91155
91156         * lib/xreadlink.c (xreadlink): Correct outdated comment.
91157
91158 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
91159
91160         Merge from coreutils.
91161
91162         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
91163         value, $ac_cv_search_nanosleep, if it's "none required".
91164
91165 2004-01-14  Paul Eggert  <eggert@twinsun.com>
91166
91167         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
91168         with like-named macro in fnmatch.c.
91169         (EXT): Use an internal constant instead.
91170
91171         Merge fnmatch patches from glibc.
91172         * lib/fnmatch.c (mbsinit): Remove define.
91173         Add libc_hidden_ver (__fnmatch, fnmatch).
91174         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
91175         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
91176
91177 2004-01-14  Karl Berry  <karl@gnu.org>
91178
91179         * config/install-sh: update from automake.
91180
91181 2004-01-13  Karl Berry  <karl@gnu.org>
91182
91183         * config/install-sh: update from automake.
91184
91185 2004-01-09  Karl Berry  <karl@gnu.org>
91186
91187         * config/install-sh: update from automake.
91188
91189 2004-01-05  Karl Berry  <karl@gnu.org>
91190
91191         * config/config.{sub,guess}: update from config.
91192
91193 2003-12-31  Karl Berry  <karl@gnu.org>
91194
91195         * config/depcomp: update from automake.
91196
91197 2003-12-14  Karl Berry  <karl@gnu.org>
91198
91199         * lib/config.charset: update from gettext-runtime.
91200
91201 2003-12-03  Paul Eggert  <eggert@twinsun.com>
91202
91203         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
91204         Bug reported by Alfred M. Szmidt.
91205
91206 2003-12-03  Bruno Haible  <bruno@clisp.org>
91207
91208         * m4/gettext.m4: Upgrade from gettext-0.13.
91209         * m4/po.m4: Upgrade from gettext-0.13.
91210         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
91211         * m4/intmax.m4: New file, from gettext-0.13.
91212         * m4/printf-posix.m4: New file, from gettext-0.13.
91213
91214 2003-11-29  Karl Berry  <karl@gnu.org>
91215
91216         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
91217
91218 2003-11-25  Paul Eggert  <eggert@twinsun.com>
91219             Bruno Haible  <bruno@clisp.org>
91220
91221         * lib/printf-parse.h: Don't include sys/types.h.
91222         (ARG_NONE): New macro.
91223         (char_directive): Change type of *arg_index fields to size_t.
91224         * lib/printf-parse.c: Don't include sys/types.h.
91225         (SSIZE_MAX): Remove macro.
91226         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
91227         Remove unnecessary overflow check.
91228         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
91229         fields.
91230
91231 2003-11-25  Bruno Haible  <bruno@clisp.org>
91232
91233         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
91234
91235 2003-11-25  Bruno Haible  <bruno@clisp.org>
91236
91237         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
91238         gt_TYPE_SSIZE_T.
91239
91240 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91241
91242         * modules/alloca: Remove dependency on xalloc.
91243
91244 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91245
91246         * lib/alloca.c: Remove dependency on xalloc module.
91247         (xalloc_die): Remove.
91248         (memory_full) [!defined emacs]: New macro.
91249         [!defined emacs]: Don't include xalloc.h.
91250         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
91251         address arithmetic overflows.  Change datatypes a bit to avoid
91252         unnecessary casts.
91253
91254 2003-11-22  Jim Meyering  <jim@meyering.net>
91255
91256         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
91257         s/size/size_t/.
91258
91259 2003-11-21  Karl Berry  <karl@gnu.org>
91260
91261         * config/config.{sub,guess}: update from config.
91262
91263 2003-11-18  Karl Berry  <karl@gnu.org>
91264
91265         * config/config.{sub,guess}: update from config.
91266
91267         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
91268
91269 2003-11-17  Paul Eggert  <eggert@twinsun.com>
91270
91271         * README: Mention that S+T cannot overflow if S is the size of
91272         an existing object and T is sufficiently small.
91273
91274 2003-11-17  Jim Meyering  <jim@meyering.net>
91275
91276         On systems without utime and without a utimes function capable of
91277         dealing with a NULL struct utimbuf* argument, this utime replacement
91278         could -- in unusual circumstances -- leak a file descriptor.
91279         * lib/utime.c: Include <unistd.h> and <errno.h>.
91280         (utime_null): Be sure to close `fd' and to preserve errno.
91281         Reported by Geoff Collyer via Arnold Robbins.
91282
91283 2003-11-17  Bruno Haible  <bruno@clisp.org>
91284
91285         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
91286         (Depends-on): Add xsize.
91287
91288 2003-11-17  Bruno Haible  <bruno@clisp.org>
91289
91290         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
91291
91292 2003-11-17  Bruno Haible  <bruno@clisp.org>
91293
91294         * lib/vasnprintf.c (alloca): Remove fallback definition.
91295         (freea): Remove definition.
91296         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
91297         Reported by Paul Eggert.
91298
91299 2003-11-16  Paul Eggert  <eggert@twinsun.com>
91300             Bruno Haible  <bruno@clisp.org>
91301
91302         Protect against address arithmetic overflow.
91303         * lib/printf-args.h: Include stddef.h.
91304         (arguments): Change type of field 'count' to size_t.
91305         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
91306         'unsigned int' where appropriate.
91307         * lib/printf-parse.h: Include sys/types.h.
91308         (char_directive): Change type of *arg_index fields to ssize_t.
91309         (char_directives): Change type of fields 'count', max_*_length to
91310         size_t.
91311         * lib/printf-parse.c: Include sys/types.h and xsize.h.
91312         (SSIZE_MAX): Define fallback value.
91313         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
91314         instead of 'int' where appropriate. Check a_allocated, d_allocated
91315         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
91316         * lib/vasnprintf.c: Include xsize.h.
91317         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
91318         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
91319         overflow. Avoid wraparound when converting a width or precision from
91320         decimal to binary.
91321
91322 2003-11-16  Bruno Haible  <bruno@clisp.org>
91323
91324         Update from GNU gettext.
91325         * lib/printf-parse.c: Generalize to it can be compiled for wide
91326         strings.
91327         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
91328         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
91329         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
91330         SNPRINTF): New macros.
91331         Don't include <alloca.h> if the file is used inside libintl.
91332         (local_wcslen): New function, for Solaris 2.5.1.
91333         (VASNPRINTF): Use it instead of wcslen.
91334
91335 2003-11-16  Bruno Haible  <bruno@clisp.org>
91336
91337         * lib/xsize.h (xmax): New function.
91338         (xsum, xsum3, xsum4): Declare as "pure" functions.
91339
91340 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91341
91342         * modules/xalloc (Files): Undo latest change, since xalloc.h
91343         no longer needs SIZE_MAX or PTRDIFF_MAX.
91344
91345 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91346
91347         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
91348         gl_PTRDIFF_MAX.
91349
91350 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91351
91352         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
91353         "return", to pacify some unknown compiler.  Problem reported
91354         by Joerg Schilling.
91355
91356 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91357
91358         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
91359         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
91360         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
91361         heuristic is just as accurate as far as we know, and it removes a
91362         dependency on size_max.m4 and ptrdiff_max.m4.
91363
91364 2003-11-11  Bruno Haible  <bruno@clisp.org>
91365
91366         * modules/xsize (Files): Add m4/size_max.m4.
91367         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
91368
91369 2003-11-11  Bruno Haible  <bruno@clisp.org>
91370
91371         * m4/size_max.m4: New file.
91372         * m4/ptrdiff_max.m4: New file.
91373         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
91374         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
91375         (gl_XALLOC): Invoke it.
91376
91377 2003-11-11  Bruno Haible  <bruno@clisp.org>
91378
91379         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
91380         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
91381         defined.
91382
91383 2003-11-10  Paul Eggert  <eggert@twinsun.com>
91384
91385         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
91386         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
91387         rejected some allocations of exactly SIZE_MAX - 2 bytes.
91388         From Bruno Haible.
91389         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
91390         not (size_t) -1, since it's defined here.
91391
91392 2003-11-09  Karl Berry  <karl@gnu.org>
91393
91394         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
91395
91396 2003-11-06  Paul Eggert  <eggert@twinsun.com>
91397
91398         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
91399         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
91400         Reject sizes of exactly SIZE_MAX bytes.
91401         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
91402         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
91403
91404 2003-11-05  Bruno Haible  <bruno@clisp.org>
91405
91406         * lib/xsize.h: Include limits.h, to avoid a possible collision with
91407         SIZE_MAX defined in <limits.h> on Solaris.
91408
91409 2003-11-04  Jim Meyering  <jim@meyering.net>
91410
91411         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
91412         variable names, rather than @VAR@.
91413         * modules/poll: Likewise.
91414
91415 2003-11-04  Bruno Haible  <bruno@clisp.org>
91416
91417         * modules/xsize: New file.
91418         * modules/linebreak: Depend on xsize.
91419         * MODULES.html.sh (func_all_modules): Add xsize.
91420
91421 2003-11-04  Bruno Haible  <bruno@clisp.org>
91422
91423         * m4/xsize.m4: New file.
91424
91425 2003-11-04  Bruno Haible  <bruno@clisp.org>
91426
91427         * lib/xsize.h: New file.
91428         * lib/linebreak.c: Include xsize.h.
91429         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
91430         argument for overflow.
91431         Suggested by Paul Eggert.
91432
91433 2003-11-03  Karl Berry  <karl@gnu.org>
91434
91435         * config/config.{guess,sub}: update from config.
91436
91437 2003-11-03  Jim Meyering  <jim@meyering.net>
91438
91439         * modules/userspec (lib_SOURCES): Add userspec.h.
91440         (Include): Add "userspec.h".
91441         Improve description.
91442
91443 2003-11-03  Jim Meyering  <jim@meyering.net>
91444
91445         * lib/userspec.c: Include "userspec.h".
91446         * lib/userspec.h: New file.
91447
91448 2003-11-03  Bruno Haible  <bruno@clisp.org>
91449
91450         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
91451
91452 2003-11-03  Bruno Haible  <bruno@clisp.org>
91453
91454         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
91455         available, to avoid (extremely rare) race condition.
91456         Suggested by Paul Eggert.
91457
91458 2003-11-02  Karl Berry  <karl@gnu.org>
91459
91460         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91461
91462 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91463
91464         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91465         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91466         (read_filesystem_list): Set and use me_type_malloced.
91467         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91468         whatever the type happens to be), for brevity and consistency.
91469         Check for size calculation overflow on Alphas running OSF/1.
91470
91471 2003-10-31  Jim Meyering  <jim@meyering.net>
91472
91473         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91474
91475         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91476
91477 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91478             Bruno Haible  <bruno@clisp.org>
91479
91480         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91481         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91482
91483 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91484
91485         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91486         netbsd*-gnu*.  Suggested by Robert Millan.
91487
91488 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91489
91490         * modules/group-member: Depend on stdbool.
91491
91492 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91493
91494         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91495
91496 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91497
91498         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91499         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91500         after the 'gnu' in these cases.  This fixes some bugs in the
91501         previous change, and is based on suggestions by Robert Millan.
91502
91503 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91504
91505         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91506         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91507         no longer needed.
91508         * lib/quotearg.c (quotearg_n_options): Use it.
91509         * lib/group-member.c: Include <stdbool.h>.
91510         (free_group_info): Arg is now const *; don't free arg.
91511         (get_group_info): Now returns bool and accepts struct group_info *,
91512         rather than returning a malloc'ed struct group_info *.
91513         All uses changed.  Check for overflow in internal size calculation.
91514
91515         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91516         rather than xmalloc/xrealloc.
91517         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91518         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91519         conformance bug: the old code used a pointer after freeing the
91520         storage that it addressed.
91521         * lib/hash.c (hash_initialize): Simplify the code by using
91522         xalloc_oversized rather than doing it by hand.
91523         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91524         the buffer preserved.  Use free and xmalloc instead.
91525         * lib/quotearg.c (quotearg_n_options): Likewise.
91526         Use a simpler test for size overflow.  Don't use xalloc_oversized
91527         because unsigned int might be wider than size_t (!); this suggests
91528         that we should switch from unsigned int to size_t for slot numbers.
91529
91530 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91531
91532         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91533         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91534         NetBSD kernels.  Requested by Richard Stallman.
91535
91536 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91537
91538         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91539         to allocate the returned structure.  Do not allocate a subarray,
91540         as x2nrealloc will do that.
91541         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91542         instead of xnrealloc.
91543         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91544
91545 2003-10-27  Bruno Haible  <bruno@clisp.org>
91546
91547         * lib/stdbool_.h: Better support for BeOS.
91548
91549 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91550
91551         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91552         now uses inline.
91553
91554 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91555
91556         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91557         callers that want to do their own size-overflow checking.  Include
91558         <stdbool.h>, since xalloc_oversized returns bool.
91559         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91560         to use xalloc_oversized.
91561
91562         Add two functions x2realloc, x2nrealloc, for programs that grow
91563         arrays dynamically by doubling their sizes.
91564         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91565         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91566         New functions.
91567
91568         Port to C99 semantics for 'inline' of external functions.
91569         Bug reported by Bruno Haible.
91570         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91571         with the old contents of xnmalloc.
91572         (xnmalloc, xmalloc): Use it.
91573         (xnrealloc_inline): New static inline function,
91574         with the old contents of xnrealloc.
91575         (xnrealloc, xrealloc): Use it.
91576
91577         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91578         that.
91579
91580 2003-10-26  Karl Berry  <karl@gnu.org>
91581
91582         * config/srclist.txt (COPYING.DOC): no longer available from
91583         /gd/gnuorg; don't know where the ultimate source is.
91584
91585 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91586
91587         Fix several address-calculation bugs in the hash modules,
91588         plus some minor code cleanup.
91589
91590         * lib/hash.h: Include <stdbool.h>, for bool.
91591         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91592         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91593         hash_get_n_entries, hash_get_max_bucket_length,
91594         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91595         hash_rehash): Use size_t rather than unsigned.
91596         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91597         hash_get_n_buckets_used, hash_get_n_entries,
91598         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91599         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91600         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91601         Likewise.
91602         (SIZE_MAX): Define if not defined.
91603         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91604         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91605         hash_print):
91606         Use const * when possible.
91607         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91608         (check_tuning): Fix bug: if tuning parameters were very close to
91609         0 or 1, rounding errors could have caused subscript violations.
91610         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91611         (hash_initialize): Add 'fail:' label
91612         to free table and return NULL, and use it to simplify code.
91613         Use calloc rather than clearing the storage ourself.
91614         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91615         buffer size calculations.
91616         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91617         Include <stddef.h>, for size_t.
91618         * lib/hash-pjw.c (hash_pjw): Likewise.
91619         Switch to method described by Bruno Haible.
91620         Include <limits.h>, for CHAR_BIT.
91621         (SIZE_BITS): New macro.
91622
91623 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91624
91625         * m4/getline.m4 (AM_FUNC_GETLINE):
91626         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91627         hosts.  Problem reported by Derek Robert Price in
91628         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91629         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91630         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91631
91632 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91633
91634         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91635         ceiling the allocation at NMAX bytes rather than silently
91636         discarding input bytes before NMAX is reached.  This makes
91637         a difference only if NMAX exceeds SIZE_MAX / 2.
91638
91639         * lib/obstack.c: Merge from glibc.
91640         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91641         Add libc_hidden_def (_obstack_newchunk).
91642         (_obstack_free) [! defined _LIBC]: Remove.
91643         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91644         a clone of the function body.
91645         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91646         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91647
91648         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91649         glibc.
91650         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91651         arg to memcpy.
91652
91653         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91654         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91655         Don't use lvalue casts, as GCC plans to remove support for them
91656         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91657         was also present in the non-GCC version, indicating that this
91658         code had always been buggy and had never been widely used.
91659         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91660         Use the fast variant of each macro, rather than copying the
91661         definiens of the fast variant; that way, we'll be more likely to
91662         catch future bugs in the fast variants.
91663
91664 2003-10-20  Bruno Haible  <bruno@clisp.org>
91665
91666         * modules/wait-process: New file.
91667         * MODULES.html.sh (func_all_modules): Add wait-process.
91668
91669 2003-10-20  Bruno Haible  <bruno@clisp.org>
91670
91671         * m4/wait-process.m4: New file.
91672
91673 2003-10-20  Bruno Haible  <bruno@clisp.org>
91674
91675         * lib/wait-process.h: New file, from GNU gettext.
91676         * lib/wait-process.c: New file, from GNU gettext.
91677
91678 2003-10-19  Jim Meyering  <jim@meyering.net>
91679
91680         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91681         HPUX 10.20.
91682
91683 2003-10-18  Karl Berry  <karl@gnu.org>
91684
91685         * config/config.guess: update from config.
91686
91687 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91688
91689         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91690         (getgroups): First arg is int, not size_t.
91691         Don't let 'free' mangle errno.
91692
91693 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91694
91695         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91696
91697 2003-10-16  Karl Berry  <karl@gnu.org>
91698
91699         * config/config.{guess,sub}: update from config.
91700
91701 2003-10-16  Jim Meyering  <jim@meyering.net>
91702
91703         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91704         memcpy.
91705
91706 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91707
91708         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91709         (SIZE_MAX): Remove.
91710         (new_exclude, add_exclude_file): Initial size no longer needs to
91711         be a power of 2.
91712         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91713         our own address arithmetic overflow checking.
91714
91715         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91716         (fnmatch): Do not alloca more than 2000 wide characters;
91717         instead, use malloc for large buffers.
91718         Check for address arithmetic overflow, and return -1
91719         with errno set to ENOMEM in that case.
91720         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91721         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91722         instead, return -1.  Check for address arithmetic overflow.
91723
91724 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91725
91726         Handle invalid suffixes and overflow independently, so that
91727         callers can treat them independently as needed.  Fix some bugs in
91728         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91729         suffix for a human-readable blocksize.  The major caller-visible
91730         change is the addition of a new
91731         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91732         that both overflow and suffix chars were found.
91733
91734         * lib/human.c (humblock): Don't check separately for invalid suffix
91735         char; that is xstrtoumax's job (now that its bug is fixed).
91736         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91737         INTMAX_MAX]: New macros.
91738         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91739         TYPE_MAXIMUM): New macros.
91740         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91741         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91742         if overflow occurs, as it's what __strtol does and it's more useful
91743         in practice.
91744         (__xstrtol): If __strtol reports some error other than ERANGE,
91745         reflect it to the caller as LONGINT_INVALID.  If it reports
91746         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91747         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91748         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91749         value.
91750         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91751         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91752         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91753         [defined UINTMAX_MAX]: New macros.
91754
91755 2003-10-14  Bruno Haible  <bruno@clisp.org>
91756
91757         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91758
91759 2003-10-14  Bruno Haible  <bruno@clisp.org>
91760
91761         * m4/sig_atomic_t: New file, from GNU gettext.
91762         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91763
91764 2003-10-14  Bruno Haible  <bruno@clisp.org>
91765
91766         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91767         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91768         Also use volatile where needed.
91769
91770 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91771
91772         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91773         Change maintainer from Bruno Haible to 'all'.
91774
91775 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91776
91777         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91778
91779 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91780
91781         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91782         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91783         and define in terms of the other primitives.
91784         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91785         (SIZE_MAX): Define if not already defined.
91786         (array_size_overflow): New function.
91787         (xalloc_die): Abort instead of exiting if 'error' returns.
91788         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91789         (xmalloc, xrealloc): Use them.
91790         (xcalloc): Check for address arithmetic overflow.
91791         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91792         a bit faster than strcpy.
91793
91794 2003-10-10  Simon Josefsson  <jas@extundo.com>
91795
91796         * modules/argp (Depends-on): Add restrict and strcase.
91797
91798 2003-10-10  Simon Josefsson  <jas@extundo.com>
91799
91800         * m4/argp.m4: Add AC_C_INLINE.
91801
91802 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91803
91804         Merge getpass from libc, plus a few fixes.
91805
91806         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91807         Include <stdbool.h>.
91808         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91809         __fsetlocking to empty.
91810         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91811         do include <bits/libc-lock.h>.
91812         Do not include <fcntl.h>; not needed.
91813         [_LIBC]: Include <wchar.h>.
91814         (NOTCANCEL_MODE): New macro.
91815         (flockfile, funlockfile) [_LIBC]: New macros.
91816         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91817         [!_LIBC]: New macros.
91818         (call_fclose): New function.
91819         (getpass): Use it.  Save tty stream separately; this simplifies the
91820         code and makes it more reliable if stdin happens to equal stdout.
91821         Invoke __fsetlocking on tty.
91822         Handle thread cancellation if needed.
91823         Namespace cleanup (use __tcgetattr, __getline).
91824         Use bool for Booleans.
91825         [USE_IN_LIBIO]: Handle wide streams.
91826         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91827         stream might go where.
91828
91829         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91830         doesn't have to include <stdio.h> before us.
91831         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91832         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91833         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91834         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91835         if not declared, so that we can use getpass.c code from libc without
91836         rewriting it.
91837         (flockfile, ftrylockfile, funlockfile): New macros.
91838
91839 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91840
91841         * modules/getpass: Depend on stdbool.
91842
91843 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91844
91845         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91846
91847 2003-10-07  Karl Berry  <karl@gnu.org>
91848
91849         * config/config.{guess,sub}: update from config.
91850
91851 2003-10-06  Jim Meyering  <jim@meyering.net>
91852             Bruno Haible  <bruno@clisp.org>
91853
91854         This lets translators provide better translations for the
91855         "Written by ..." part of --version output.
91856         * lib/version-etc.h: Include stdarg.h.
91857         (version_etc_copyright): Declare as readonly.
91858         (version_etc): Make this function variadic with a NULL-terminated list
91859         of author name strings.
91860         (version_etc_va): New declaration.
91861         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91862         (version_etc_copyright): Declare as readonly.
91863         (version_etc_va): New function. Provide a different translatable string
91864         for each possible number of authors < 10. Abbreviate when there are 10
91865         authors or more.
91866         (version_etc): Make this function variadic. Call version_etc_va.
91867         Suggestion from Gary V. Vaughan.
91868
91869         * lib/long-options.h (parse_long_options): Change prototype: the
91870         authors string is moved to the end and becomes variadic.
91871         * lib/long-options.c: Include stdarg.h.
91872         (parse_long_options): Make this function variadic, too.
91873         Call version_etc_va, not version_etc.
91874
91875 2003-10-06  Bruno Haible  <bruno@clisp.org>
91876
91877         * modules/version-etc-2: Remove file.
91878         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91879
91880 2003-10-06  Bruno Haible  <bruno@clisp.org>
91881
91882         * modules/fatal-signal: New file.
91883         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91884
91885 2003-10-06  Bruno Haible  <bruno@clisp.org>
91886
91887         * m4/fatal-signal.m4: New file.
91888         * m4/signalblocking.m4: New file, from GNU gettext.
91889
91890 2003-10-06  Bruno Haible  <bruno@clisp.org>
91891
91892         * lib/version-etc-2.h: Remove file.
91893         * lib/version-etc-2.c: Remove file.
91894
91895 2003-10-06  Bruno Haible  <bruno@clisp.org>
91896
91897         * lib/fatal-signal.h: New file, from GNU gettext.
91898         * lib/fatal-signal.c: New file, from GNU gettext.
91899
91900 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91901
91902         * README: Rework advice for preventing empty .o files.
91903         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91904         not <sys/types.h>.
91905
91906 2003-10-04  Karl Berry  <karl@gnu.org>
91907
91908         * lib/argp*: update from libc.
91909
91910 2003-10-04  Karl Berry  <karl@gnu.org>
91911
91912         * config/config.{guess,sub}: update from config.
91913
91914 2003-10-02  Bruno Haible  <bruno@clisp.org>
91915
91916         * modules/lchown (Include): Add lchown.h.
91917         * modules/time_r (Include): Use "..." syntax.
91918         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91919
91920 2003-10-01  Simon Josefsson  <jas@extundo.com>
91921
91922         * MODULES.html.sh (func_all_modules): Move gethostname from section
91923         'based on' to section 'lacking' POSIX:2001.
91924
91925 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91926
91927         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91928         to output mode on the same stream.
91929
91930 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91931
91932         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91933         Fix arg typo in previous patch.
91934
91935 2003-09-28  Jim Meyering  <jim@meyering.net>
91936
91937         * lib/error.c: Correct cpp indentation.
91938
91939 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91940
91941         * modules/free: New file.
91942
91943 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91944
91945         * m4/free.m4: New file.
91946
91947 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91948
91949         * lib/minmax.h (MIN, MAX)
91950         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91951         Omit the special code that used __typeof__, since we worry that
91952         it could be more trouble than it's worth.  See:
91953         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91954         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91955
91956         * lib/free.c: New file.
91957
91958 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91959
91960         Trivial fixes to Makefile.am parts of module listings.
91961         * modules/strstr: Append strstr.h to lib_SOURCES.
91962         * modules/strcase: Likewise, for strcase.h.
91963
91964 2003-09-27  Karl Berry  <karl@gnu.org>
91965
91966         * config/mkinstalldirs: update from automake.
91967
91968 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91969
91970         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91971         (error_tail): Do not loop, reallocating temporary buffer, since
91972         the output cannot contain more wide characters than the input
91973         contains bytes, the size must be big enough already.  This avoids
91974         one potential size overflow calculation.  Check for size overflow
91975         when calculating temporary buffer size.  Free temporary buffer
91976         when done, if it was allocated with malloc; this plugs a memory
91977         leak.  Remove casts from void * to pointers, that are no longer
91978         needed now that we're assuming C89 or better.
91979
91980         Merge error changes from glibc.
91981
91982         * lib/error.c, error.h: Update copyright notice header to match glibc.
91983         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91984         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91985         Disable cancellation while printing error.
91986         * lib/error.h: Prepend __ to parameter names.
91987
91988 2003-09-26  Jim Meyering  <jim@meyering.net>
91989
91990         * lib/error.c (error_tail): Move some declarations
91991         into inner scope where the local variables are used.
91992
91993 2003-09-26  Bruno Haible  <bruno@clisp.org>
91994
91995         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91996         stpncpy().
91997         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91998
91999 2003-09-26  Bruno Haible  <bruno@clisp.org>
92000
92001         * lib/stpncpy.h (gnu_stpncpy): New declaration.
92002         (stpncpy): Define as alias for gnu_stpncpy.
92003         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
92004
92005 2003-09-25  Simon Josefsson  <jas@extundo.com>
92006
92007         * lib/xgetdomainname.h: New file.
92008         * lib/xgetdomainname.c: New file.
92009
92010 2003-09-25  Simon Josefsson  <jas@extundo.com>
92011             Bruno Haible  <bruno@clisp.org>
92012
92013         * modules/getdomainname: New file.
92014         * modules/xgetdomainname: New file.
92015         * MODULES.html.sh (func_all_modules): Add getdomainname,
92016         xgetdomainname.
92017
92018 2003-09-25  Simon Josefsson  <jas@extundo.com>
92019             Bruno Haible  <bruno@clisp.org>
92020
92021         * m4/getdomainname.m4: New file.
92022
92023 2003-09-25  Simon Josefsson  <jas@extundo.com>
92024             Bruno Haible  <bruno@clisp.org>
92025
92026         * lib/getdomainname.h: New file.
92027         * lib/getdomainname.c: New file.
92028
92029 2003-09-25  Karl Berry  <karl@gnu.org>
92030
92031         * lib/argp-fmtstream.c, argp-help.c: update from libc.
92032
92033 2003-09-25  Karl Berry  <karl@gnu.org>
92034
92035         * config/install-sh: update from automake.
92036
92037 2003-09-25  Bruno Haible  <bruno@clisp.org>
92038
92039         * modules/version-etc-2: New file, from modules/version-etc with
92040         modifications.
92041         * MODULES.html.sh (func_all_modules): Add version-etc-2.
92042
92043 2003-09-25  Bruno Haible  <bruno@clisp.org>
92044
92045         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
92046         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
92047
92048 2003-09-24  Simon Josefsson  <jas@extundo.com>
92049
92050         * modules/xgethostname: Add xgethostname.h.
92051
92052 2003-09-24  Paul Eggert  <eggert@twinsun.com>
92053
92054         * lib/linebuffer.c (freebuffer): Don't free the argument, just
92055         the buffer associated with the argument.  Bug reported by
92056         Simon Josefsson.
92057
92058 2003-09-24  Paul Eggert  <eggert@twinsun.com>
92059
92060         * README: Document assumptions that 'int' is at least 32 bits
92061         wide, that integer arithmetic is 2's complement without overflow,
92062         that there are no holes in integer values, that adding sizes of
92063         two nonoverlapping objects can't overflow, and that all-bits-zero
92064         yields scalar zero.  Fix spelling and capitalization typos.
92065
92066 2003-09-19  Karl Berry  <karl@gnu.org>
92067
92068         * lib/argp.h: update from libc.
92069
92070 2003-09-17  Paul Eggert  <eggert@twinsun.com>
92071
92072         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
92073         to avoid spurious warnings like "AC_RUN_IFELSE was called before
92074         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
92075
92076 2003-09-17  Paul Eggert  <eggert@twinsun.com>
92077
92078         * gnulib-tool: Use "test -h", not "test -L", for portability
92079         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
92080         (tags_regexp): Remove, since \| doesn't conform to POSIX.
92081         (sed_extract_prog): Issue s commands one-by-one, rather than
92082         using \| in one s command.
92083
92084 2003-09-16  Paul Eggert  <eggert@twinsun.com>
92085
92086         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
92087         input error, instead of returning NULL the next time we are called
92088         (and therefore losing track of errno).
92089
92090 2003-09-16  Bruno Haible  <bruno@clisp.org>
92091
92092         * gnulib-tool (func_create_testdir): Warn about duplicated
92093         dependencies.
92094
92095 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92096
92097         * modules/argmatch, modules/fatal, modules/obstack,
92098         modules/xalloc, modules/xgethostname: Sort dependencies by
92099         importance, not alphabetically.
92100
92101 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92102
92103         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
92104         fails, so that the caller gets the proper errno.
92105
92106         * lib/readutmp.c (read_utmp): Likewise.
92107         Check for fstat error.  Close stream and free storage
92108         when failing.
92109
92110 2003-09-14  Karl Berry  <karl@gnu.org>
92111
92112         * config/srclist.txt (strdup.c): disable for c89 changes.
92113
92114 2003-09-14  Jim Meyering  <jim@meyering.net>
92115
92116         * lib/getloadavg.c: Correct cpp indentation.
92117         * lib/strdup.c: Likewise.
92118         * lib/vasnprintf.c: Likewise.
92119
92120 2003-09-14  Bruno Haible  <bruno@clisp.org>
92121
92122         * modules/fwriteerror: New file.
92123         * MODULES.html.sh (func_all_modules): Add fwriteerror.
92124
92125 2003-09-14  Bruno Haible  <bruno@clisp.org>
92126
92127         * lib/fwriteerror.h: New file.
92128         * lib/fwriteerror.c: New file.
92129
92130 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92131
92132         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
92133         modules/xgethostname, modules/xalloc: Depend on exit.
92134
92135 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92136
92137         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
92138
92139         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
92140         and AC_MINIX, too, so that their extensions are available.
92141
92142         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
92143         This macro has been superseded by gl_BACKUPFILE.
92144
92145         More patches to assume C89 or better.
92146
92147         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
92148
92149         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
92150         unconditionally.
92151         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
92152         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
92153         Include <string.h>, <stdlib.h> unconditionally.
92154         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
92155         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
92156         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
92157         headers or for string.h.
92158         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
92159         or strtoul.
92160
92161         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
92162         headers.
92163         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
92164         * m4/userspec.m4 (gl_USERSPEC): Likewise.
92165         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
92166         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
92167         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
92168         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
92169         memcpy, memset.
92170         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
92171         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
92172         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
92173         strtol.
92174         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
92175         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
92176         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
92177         strtoul.
92178
92179 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92180
92181         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
92182         * lib/obstack.c [!defined _LIBC]: Likewise.
92183         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
92184         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
92185         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
92186
92187         More changes to assume C89 or better.
92188
92189         * lib/error.c (error_tail): Assume vprintf.
92190
92191         * lib/argmatch.c (getenv): Remove decl.
92192         * lib/progreloc.c (get_full_program_name): Define via prototype.
92193         * lib/setenv.c (clearenv): Likewise.
92194         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
92195         needed.
92196         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
92197         (malloc, memcpy): Remove decls.
92198         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
92199         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
92200         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92201         (memcpy): Remove macro.
92202         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
92203         (__P): Remove.  All uses removed.
92204         (PTR): Remove.  All uses changed to void *.
92205         (CHAR_BIT, NULL): Remove.
92206         (spaces, zeros, memset_space, memset_zero)
92207         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
92208         Remove.
92209         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
92210         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
92211         Define with prototype.
92212         Remove now-unnecessary prototype decl.
92213         (extra_args_spec): Assume ANSI C.  All uses changed.
92214         (extra_args_spec_iso): Remove.
92215         (my_strftime, emacs_strftimeu): Define via prototype.
92216         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
92217         unconditionally.
92218         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
92219         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
92220         (strtoul, strtol): Remove decls.
92221         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
92222         LONG_MAX): Remove.
92223         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92224         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
92225         (LOCALE_PARAM_PROTO): New macro.
92226         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
92227         (INTERNAL (strtol), strtol): Define with a prototype.
92228         (PARAMS): Remove.  All uses removed.
92229         * lib/tempname.c: Include <string.h> unconditionally.
92230         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
92231         * lib/xgethostname.c (main): Define with a prototype.
92232         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
92233         Include <stdlib.h> unconditionally.
92234         (calloc, malloc, realloc, free): Remove decls.
92235         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
92236         Include <stdlib.h> unconditionally.  Sort include file names.
92237         (strtod): Remove.
92238         (xstrtod): Define with a prototype.
92239         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
92240         (strtol, strtoul): Remove decls.
92241
92242 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92243
92244         More patches to assume C89 or better.
92245         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
92246         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
92247         string.h, memchr, STDC_HEADERS.
92248
92249 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92250
92251         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
92252         Include <stdlib.h>, <string.h> unconditionally.
92253         Remove now-unnecessary cast to char *.
92254         * lib/strnlen.c: Include <string.h> unconditionally.
92255         * lib/yesno.c (yesno): Define with a prototype.
92256
92257 2003-09-11  Bruno Haible  <bruno@clisp.org>
92258
92259         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
92260
92261 2003-09-10  Jim Meyering  <jim@meyering.net>
92262
92263         * lib/error.c: Correct indentation of cpp directives.
92264
92265 2003-09-10  Bruno Haible  <bruno@clisp.org>
92266
92267         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
92268         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
92269         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
92270         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
92271         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
92272         <stdlib.h> and <string.h> checks.
92273         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
92274         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
92275
92276 2003-09-10  Bruno Haible  <bruno@clisp.org>
92277
92278         * lib/strcspn.c: Include <string.h> unconditionally.
92279         * lib/strpbrk.c: Include <string.h> unconditionally.
92280         * lib/strstr.c: Include <string.h> unconditionally.
92281         * lib/unicodeio.c: Include <string.h> unconditionally.
92282         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
92283         * lib/unsetenv.c: Likewise.
92284         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
92285         * lib/yesno.c: Include <stdlib.h> unconditionally.
92286         (rpmatch): Add prototype.
92287
92288 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92289
92290         More patches to assume C89 or better.
92291         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
92292         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
92293         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
92294         or for string.h.
92295         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
92296         stdlib.h.
92297         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
92298         C headers.
92299         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
92300         string.h.
92301         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
92302         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
92303         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
92304         or for string.h.
92305         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
92306         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
92307         C headers.
92308         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
92309         memcpy.
92310         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
92311         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
92312         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
92313         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
92314         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
92315         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
92316         string.h, free.
92317         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
92318         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
92319         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
92320         C headers, or for string.h.
92321         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
92322         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
92323         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
92324         headers, memory.h, stdlib.h, string.h, strings.h.
92325         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
92326         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
92327         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
92328         strchr.
92329         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
92330         headers, memory.h, string.h.
92331         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
92332         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
92333         free.
92334         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
92335         headers.
92336         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
92337         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
92338         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
92339         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
92340         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
92341
92342 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92343
92344         More K&R removal.
92345
92346         * lib/acosl.c (main): Use a prototype.
92347         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
92348         tanl.c: Likewise.
92349
92350         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
92351
92352         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
92353         (getopt, etopt_long, getopt_long_only, _getopt_internal)
92354         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
92355         with a prototype.
92356         * lib/getopt.c (const): Remove macro.
92357         Include <string.h> unconditionally.
92358         (my_index): Remove; all uses changed to strchr.
92359         (strlen): Remove decl.
92360         (exchange): Remove forward decl; no longer needed.
92361         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
92362         Define with prototype.
92363         * lib/getopt1.c (const): Remove macro.
92364         (getopt_long, getopt_long_only, main): Define with prototype.
92365
92366         * lib/getugroups.c: Include <string.h> unconditionally.
92367
92368         * lib/getusershell.c: Include <stdlib.h> unconditionally.
92369         (getusershell, setusershell, endusershell, readname, main):
92370         Define with prototypes.
92371
92372         * lib/group-member.c: Include group-member.h first.
92373         Include <stdlib.h> unconditionally.
92374
92375         * lib/hard-locale.c: Include hard-locale.h first.
92376         Include <stdlib.h>, <string.h> unconditionally.
92377
92378         * lib/hash.c (free, malloc): Remove decls.
92379         Include <stdlib.h> unconditionally.
92380
92381         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
92382         (getenv): Do not declare.
92383
92384         * lib/idcache.c: Include <string.h> unconditionally.
92385
92386         * lib/long-options.c: Include long-options.h first, to test interface.
92387         Include <stdlib.h> unconditionally.
92388
92389         * lib/makepath.c: Include makepath.h first, to test interface.
92390         Include <stdlib.h> and <string.h> unconditionally.
92391
92392         * lib/linebuffer.c: Include <stdlib.h>.
92393         (free): Remove decl.
92394
92395         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
92396         stddef.h. rpl_malloc returns void *, not char *.
92397         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
92398         prototype.
92399
92400         * lib/md5.h: Include <limits.h> unconditionally.
92401         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
92402         (__P): Remove; all uses removed.
92403         * lib/md5.c: Include "md5.h" first.
92404         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
92405         md5_buffer, md5_process_bytes, md5_process_block):
92406         Define with prototypes.
92407         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
92408         * lib/sha.c: Include "sha.h" first.
92409         Include <stdlib.h>, <string.h> unconditionally.
92410
92411         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
92412         * lib/memcmp.c (__ptr_t): Likewise.
92413         * lib/memrchr.c (__ptr_t): Likewise.
92414         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
92415         Include <string.h> unconditionally.
92416         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
92417         * lib/memchr.c: Include <stdlib.h> unconditionally.
92418         * lib/memchr.c (LONG_MAX): Remove.
92419         * lib/memrchr.c (LONG_MAX): Likewise.
92420         * lib/memchr.c (__memchr): Define via a prototype.
92421         * lib/memrchr.c (__memrchr): Likewise.
92422         * lib/memcmp.c (__P): Remove, and remove all uses.
92423         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
92424         Remove forward decls; no longer needed.
92425         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
92426         Use types required by C89 in prototype.
92427
92428         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
92429         * lib/savedir.c: Likewise.
92430         * lib/mkdir.c (free): Remove decl.
92431         * lib/rmdir.c (rmdir): Define with a prototype.
92432         * lib/savedir.c: Include savedir.h first, to test interface.
92433
92434         * lib/mktime.c (STDC_HEADERS): Remove.
92435         Include <stdlib.h>, <string.h> unconditionally.
92436
92437         * lib/modechange.c: Include <stdlib.h> unconditionally.
92438         (malloc): Remove decl.
92439
92440         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
92441         (free): Remove decl.
92442
92443         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
92444         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
92445         (This type really should be intptr_t, but that's a C99ism.)
92446         (_obstack_memcpy): Remove: all uses changed to memcpy.
92447         Include <string.h> unconditionally.
92448         (struct obstack): Assume __STDC__ for types of members
92449         chunkfun, freefun, extra_arg.
92450         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
92451         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
92452         obstack_begin, obstack_specify_allocation,
92453         obstack_specify_allocation_with_arg, obstack_chunkfun,
92454         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
92455         Remove unprototyped decls and the macros that use them.
92456         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92457         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92458         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92459         (defined __STDC__ && __STDC__)]:
92460         Remove nonprototyped code.
92461         Include <stdlib.h> unconditionally.
92462         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92463         _obstack_allocated_p, _obstack_free, obstack_free,
92464         _obstack_memory_used, print_and_abort):
92465         Define using prototypes.
92466         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92467         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92468         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92469         obstack_next_free, obstack_object_size, obstack_room) [0]:
92470         Remove unused, unprototyped code.
92471
92472         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92473
92474         * lib/physmem.c (physmem_total, physmem_available, main): Define
92475         with prototypes.
92476
92477         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92478         (main): Define with a prototype.
92479
92480         * lib/posixver.c (getenv): Remove decl.
92481
92482         * lib/putenv.c (malloc): Returns void *, not char *.
92483         Include <string.h> unconditionally.
92484         (strchr, memcpy, NULL): Do not define.
92485
92486         * lib/readtokens.c: Include readtokens.h first, to test interface.
92487         Include <stdlib.h>, <string.h> unconditionally.
92488         (init_tokenbuffer): Define with a prototype.
92489
92490         * lib/regex.c (PARAMS): Remove.  All uses removed.
92491         All uses of _RE_ARGS removed, too.
92492         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92493         unconditionally.
92494         (bzero): Assume memset exists.
92495         (memcmp, memcpy, NULL): Remove.
92496         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92497         char, or assignments to local vars of type signed char.
92498         (init_syntax_once, PREFIX(extract_number_and_incr),
92499         PREFIX(print_partial_compiled_pattern),
92500         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92501         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92502         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92503         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92504         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92505         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92506         wcs_compile_range, byte_compile_range, truncate_wchar,
92507         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92508         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92509         count_mbs_length, wcs_re_match_2_internal,
92510         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92511         PREFIX(alt_match_null_string_p),
92512         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92513         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92514         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92515         now-unnecessary declaration, if any.
92516         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92517         regcomp, regexec):
92518         Remove now-unnecessary casts among pointer types.
92519         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92520
92521         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92522         (free): Remove decl.
92523
92524         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92525
92526         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92527         (free): Remove decl.
92528
92529         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92530         * lib/xgetcwd.c: Likewise.
92531
92532         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92533         (free): Remove decl.
92534
92535         * lib/strchrnul.c (strchrnul): Define with a prototype.
92536         Fix bug: c_in was not converted to char before searching.
92537
92538         The following changes are not K&R related:
92539
92540         * lib/group-member.h: Include <sys/types.h>, so that this file is
92541         self-contained.
92542         * lib/makepath.h: Likewise.
92543
92544         * lib/getusershell.c (readname, default_index, line_size, readname):
92545         Use size_t, not int, for sizes.
92546         (readname): If the size overflows, report an error instead of
92547         looping forever.
92548
92549 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92550
92551         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92552         libc.
92553
92554 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92555
92556         * README: New section: portability guidelines.
92557
92558 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92559
92560         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92561         C89 spec.
92562
92563 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92564
92565         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92566
92567 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92568
92569         Assume C89 or better; remove K&R cruft.
92570         A few of these changes were first proposed by Derek Robert Price
92571         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92572
92573         * lib/addext.c: Include <string.h> unconditionally.
92574         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92575         Don't declare getenv or malloc.
92576
92577         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92578         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92579         (NULL): Remove.
92580         (find_stack_direction, alloca): Use prototypes.
92581
92582         * lib/atexit.c (atexit): Define using a prototype.
92583
92584         * lib/basename.c, dirname.c, stripslash.c:
92585         Include <string.h> unconditionally.
92586
92587         * lib/bcopy.c: Include <stddef.h>.
92588         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92589
92590         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92591
92592         * lib/error.h (error, error_at_line, error_print_progname)
92593         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92594         * lib/error.c: Include error.h first, to check interface.
92595         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92596         (VA_START): Remove; all uses changeed to va_start.
92597         (exit, strerror): Remove decls.
92598         (error_print_progname): Prototype uncondionally.
92599         Don't include <errno.h>; no longer needed.
92600         (private_strerror): Remove.
92601         (error_tail): Always define.
92602         (error, error_at_line): Assume C89 or better; always use prototypes.
92603         * lib/fatal.c: Include "fatal.h" first, to test interface.
92604         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92605         (VA_START): Remove; all uses changed to va_start.
92606         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92607         this case.
92608         (exit): Remove decl.
92609         (fatal): Prototype unconditionally.  Assume va_start works.
92610         Abort at end, to pacify gcc.
92611
92612         * lib/euidaccess.c (main): Define with a prototype.
92613
92614         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92615
92616         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92617
92618         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92619         prototypes.
92620         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92621         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92622         (getenv): Remove decl.
92623         (fnmatch): Define using a prototype.
92624         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92625         (FCT): Define using a prototype.
92626
92627         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92628
92629         * lib/gethostname.c: Include <stddef.h>.
92630         (gethostname): Define with prototype.  Length is size_t, not int.
92631
92632 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92633
92634         Assume C89 or better; remove K&R cruft.
92635         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92636         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92637         string.h, getenv, malloc.
92638         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92639         headers.
92640         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92641         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92642         do not check for strerror.
92643         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92644         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92645         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92646         do not check for doprnt or vprintf.
92647         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92648         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92649
92650 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92651
92652         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92653         getversion.c should have been removed then, but was accidentally
92654         preserved.
92655
92656         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92657         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92658
92659 2003-09-08  Karl Berry  <karl@gnu.org>
92660
92661         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92662                 config, forget about prep.
92663
92664         * config/depcomp, missing: update from automake.
92665
92666 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92667
92668         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92669         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92670
92671 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92672
92673         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92674         copy_tm_result.  Bug reported by Simon Josefsson in
92675         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92676
92677 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92678
92679         * m4/time_r.m4: New file.
92680         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92681         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92682         is. Check for timegm declaration.
92683         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92684         Do not check for gmtime_r.
92685         Replace mktime if __mktime_internal does not exist and if mktime
92686         hasn't been replaced already.
92687
92688 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92689
92690         * lib/time_r.c, lib/time_r.h: New files.
92691
92692         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92693         __localtime_r.
92694         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92695         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92696
92697         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92698         __gmtime_r.
92699         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92700         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92701         Include <time_r.h>.
92702
92703         * lib/timegm.c: Switch to glibc implementation, with the following
92704         changes:
92705         [defined HAVE_CONFIG_H]: Include <config.h>.
92706         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92707         (__mktime_internal) [!defined _LIBC]: New decl.
92708         (__gmtime_r) [!defined _LIBC]: New macro and function.
92709         (timegm): Use a prototype, since gnulib assumes C89.
92710         Do not bother declaring tmp to be const, as it's not really usefu.
92711         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92712         (timegm): Declare only if HAVE_DECL_TIMEGM.
92713
92714 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92715
92716         * MODULES.html.sh (func_all_modules): Add time_r.
92717         * modules/time_r: New file.
92718         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92719         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92720
92721 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92722
92723         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92724         Bug reported by Lute Kamstra in
92725         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92726
92727         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92728         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92729         course with correspondingly smaller numbers for tomorrow and
92730         yesterday.  From Tadayoshi Funaba.  Originally installed into
92731         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92732         coreutils merge?).
92733
92734 2003-08-31  Simon Josefsson  <jas@extundo.com>
92735
92736         * modules/timegm: New file.
92737         * MODULES.html.sh (func_all_modules): Add timegm.
92738
92739 2003-08-31  Simon Josefsson  <jas@extundo.com>
92740
92741         * m4/timegm.m4: New file.
92742
92743 2003-08-31  Simon Josefsson  <jas@extundo.com>
92744
92745         * lib/timegm.h: New file.
92746         * lib/timegm.c: New file.  Based on
92747         wget-1.8.2/src/http.c:mktime_from_utc.
92748
92749 2003-08-31  Karl Berry  <karl@gnu.org>
92750
92751         * lib/argp.h: update from libc.
92752
92753 2003-08-28  Bruno Haible  <bruno@clisp.org>
92754
92755         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92756         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92757         followed by '#define fnmatch fnmatch_posix' gives an error.
92758
92759 2003-08-28  Bruno Haible  <bruno@clisp.org>
92760
92761         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92762         warning on QNX, which defines O_BINARY to 000000.
92763
92764 2003-08-27  Jim Meyering  <jim@meyering.net>
92765
92766         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92767         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92768         would fail after 32.  Reported by Danny Levinson.  Details here:
92769         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92770
92771 2003-08-24  Bruno Haible  <bruno@clisp.org>
92772
92773         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92774         MSVC7 <stdio.h> is included later.
92775
92776 2003-08-22  Simon Josefsson  <jas@extundo.com>
92777
92778         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92779
92780 2003-08-20  Karl Berry  <karl@gnu.org>
92781
92782         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92783
92784 2003-08-20  Bruno Haible  <bruno@clisp.org>
92785
92786         * modules/progname: New file.
92787         * MODULES.html.sh (func_all_modules): Add progname.
92788
92789 2003-08-20  Bruno Haible  <bruno@clisp.org>
92790
92791         * lib/progname.h: New file, from GNU gettext.
92792         * lib/progname.c: New file, from GNU gettext.
92793         * lib/progreloc.c: New file, from GNU gettext.
92794
92795 2003-08-19  Jim Meyering  <jim@meyering.net>
92796
92797         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92798         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92799
92800 2003-08-19  Bruno Haible  <bruno@clisp.org>
92801
92802         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92803         more.
92804
92805 2003-08-19  Bruno Haible  <bruno@clisp.org>
92806
92807         * lib/xstrdup.c: Assume <string.h> exists.
92808
92809 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92810
92811         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92812         in makefile rules.
92813
92814 2003-08-18  Jim Meyering  <jim@meyering.net>
92815
92816         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92817         * m4/lib-ld.m4: Likewise.
92818
92819 2003-08-18  Jim Meyering  <jim@meyering.net>
92820
92821         * lib/setenv.h: Indent nested cpp directive.
92822         * lib/vasnprintf.c: Remove trailing blanks.
92823
92824 2003-08-17  Simon Josefsson  <jas@extundo.com>
92825
92826         * modules/xstrndup: New file.
92827         * MODULES.html.sh (func_all_modules): Add xstrndup.
92828
92829 2003-08-17  Simon Josefsson  <jas@extundo.com>
92830
92831         * modules/argp: Fix autoconf macro name. Add more dependencies.
92832
92833 2003-08-17  Simon Josefsson  <jas@extundo.com>
92834
92835         * m4/xstrndup.m4: New file.
92836
92837 2003-08-17  Simon Josefsson  <jas@extundo.com>
92838
92839         * m4/argp.m4: New file.
92840
92841 2003-08-17  Simon Josefsson  <jas@extundo.com>
92842             Bruno Haible  <bruno@clisp.org>
92843
92844         * lib/xstrndup.h: New file.
92845         * lib/xstrndup.c: New file.
92846
92847 2003-08-17  Bruno Haible  <bruno@clisp.org>
92848
92849         * modules/strndup (Files, Include): Add lib/strndup.h.
92850
92851 2003-08-17  Bruno Haible  <bruno@clisp.org>
92852
92853         * modules/euidaccess (Files): Add lib/euidaccess.h.
92854
92855 2003-08-17  Bruno Haible  <bruno@clisp.org>
92856
92857         * lib/strndup.h: New file.
92858
92859 2003-08-17  Bruno Haible  <bruno@clisp.org>
92860
92861         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92862         like AC_GNU_SOURCE.
92863         * modules/extensions (configure.ac): Comment out the invocation of
92864         gl_USE_SYSTEM_EXTENSIONS.
92865
92866 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92867
92868         Merges from coreutils, etc.
92869         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92870         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92871         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92872         fixing a typo.
92873         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92874         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92875
92876 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92877
92878         Document merge from coreutils.
92879         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92880         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92881         * modules/utime: Add m4/utimes-null.m4.
92882
92883 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92884
92885         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92886         space, undoing this 2003-08-12 change:
92887         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92888
92889 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92890
92891         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92892         strtoul.c from libc, undoing this 2003-08-12 change:
92893         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92894
92895 2003-08-16  Jim Meyering  <jim@meyering.net>
92896
92897         Merges from coreutils.
92898         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92899         prefix.  Adjust cache variables similarly.  Create 500 rather than
92900         just 300 files, to exercise bug on Darwin6.5, too.
92901         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92902         $missing_dir.
92903         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92904         AM_SYS_POSIX_TERMIOS.
92905         Reported by mkc@mathdogs.com.
92906         Also change use of $am_cv_sys_posix_termios
92907         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92908         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92909         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92910         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92911         in /proc/mounts until it finds one with matching device number.  This
92912         is unnecessary when the FILE argument *is* a mount point.  No stat call
92913         is necessary in that case.  So, disable the statvfs-testing code on
92914         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92915         as RedHat bug# 84846.
92916         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92917         to 1MB, so as not to render systems with no stack size limit (e.g.,
92918         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92919         Include <unistd.h>.  On some systems,
92920         it is required for the definition of _SC_PAGESIZE.
92921
92922 2003-08-16  Jim Meyering  <jim@meyering.net>
92923
92924         Merge from coreutils.
92925         * lib/xstrtoimax.c: #else #if -> #elif.
92926         * lib/xstrtoumax.c: Likewise.
92927
92928 2003-08-16  Jim Meyering  <jim@meyering.net>
92929
92930         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92931         * m4/utimes.m4: Removed.
92932         * m4/utimes-null.m4: Renamed from utimes.m4.
92933
92934         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92935         to 1MB, so as not to render systems with no stack size limit (e.g.,
92936         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92937         Include <unistd.h>.  On some systems,
92938         it is required for the definition of _SC_PAGESIZE.
92939
92940 2003-08-16  Jim Meyering  <jim@meyering.net>
92941         and Paul Eggert  <eggert@cs.ucla.edu>
92942
92943         Merges from coreutils, etc.
92944
92945         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92946         using the latest version from cvs.  This avoids problems with #line
92947         directives using a vendor (Sun) compiler.
92948         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92949         Don't set GETGROUPS_LIB here; now it's
92950         done via getgroups.m4's wrapper function.
92951         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92952         rather than just in sh-util/configure.in, so that the
92953         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92954         same.
92955         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92956         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92957         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92958         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92959         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92960         Remove code that is now done by the newly-required macros.
92961         Append $(EXEEXT) to DF_PROG.
92962         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92963         Do not invoke or require the following here,
92964         since prereq.m4 or some gnulib .m4 now does this for us:
92965         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92966         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92967         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92968         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92969         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92970         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92971         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92972         AC_FUNC_OBSTACK.
92973         Do not replace the following functions, as this is now the job
92974         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92975         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92976         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92977         atexit getpass, strdup, getpagesize.
92978         Replace 'raise'.
92979         Do not check for the following functions, as this is now the job
92980         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92981         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92982         setregid.
92983         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92984         Check for sys/sysctl.h.
92985         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92986         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92987         of checking for ssize_t ourselves.
92988
92989         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92990         Require every macro that gnulib/modules/* suggests for us.
92991         (jm_PREREQ_ADDEXT): New macro.
92992         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92993         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92994
92995         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92996         (gl_PHYSMEM): Use it.
92997         Also check for `table' function.
92998         Check for new headers and functions.
92999         Add check for sys/sysmp.h.
93000         With suggestions from Kaveh Ghazi.
93001         Ignore headers that are present but cannot be compiled.  This
93002         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
93003         C 5.4.
93004
93005 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93006
93007         Document merge from coreutils.
93008         * modules/userspec: Depend on posixver.
93009         * modules/strftime: Depend on tzset.
93010
93011 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93012
93013         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
93014         rather than tab, after '#' in shell-script copyright notices.
93015         Suggested by Bruno Haible.
93016
93017 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93018
93019         * config/srclist-update: Use three spaces, rather than tab, after '#'
93020         in shell-script copyright notices.  Suggested by Bruno Haible.
93021         Remove unnecessary parenthesization in regular expression.
93022
93023 2003-08-15  Jim Meyering  <jim@meyering.net>
93024
93025         Merge from coreutils.
93026         * lib/xgethostname.c: Include <stdlib.h>.
93027         (xghostname): Don't exit for anything other than memory-related
93028         failure; just return NULL.
93029         * lib/userspec.c: Include "posixver.h".
93030         (parse_user_spec): Accept `.' as a separator only
93031         in pre-POSIX-200112 mode.
93032         * lib/strtoimax.c: Use #elif rather than #else #if.
93033         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
93034         Remove function, now that we can rely on a working tzset function.
93035         [!_LIBC]: Ensure that the required autoconf test has been run.
93036         [!defined _NL_CURRENT && HAVE_STRFTIME]:
93037         Use underlying_strftime for %r.
93038         * lib/sha.c: Merge in some clean-up and optimization changes from
93039         glibc.
93040         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
93041         Ensure that it is a multiple of 64.
93042         Rearrange loop exit tests so as to avoid performing an
93043         additional fread after encountering an error or EOF.
93044         * lib/realloc.c: Update copyright date.
93045
93046 2003-08-15  Jim Meyering  <jim@meyering.net>
93047         and Paul Eggert  <eggert@twinsun.com>
93048
93049         Merge from coreutils.
93050         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
93051         member but strut utmpx does not.  Needed for AIX 4.3.3.
93052         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
93053
93054 2003-08-15  Jim Meyering  <jim@meyering.net>
93055         and Paul Eggert  <eggert@cs.ucla.edu>
93056
93057         Merges from coreutils, etc.
93058         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
93059         Require gl_FUNC_TZSET_CLOBBER.
93060         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
93061         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
93062         members.
93063
93064 2003-08-14  Paul Eggert  <eggert@twinsun.com>
93065
93066         Help the merge from coreutils.
93067         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
93068         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
93069         * m4/tzset.m4: Use it too.
93070
93071 2003-08-14  Paul Eggert  <eggert@twinsun.com>
93072
93073         * modules/tzset: New file.
93074
93075 2003-08-14  Jim Meyering  <jim@meyering.net>
93076
93077         Merges from coreutils.
93078         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
93079         variable names, rather than @FNMATCH_H@.
93080         * modules/alloca: Likewise for $(ALLOCA_H).
93081
93082         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
93083         the three copies of the literal target, `fnmatch.h'.
93084         * modules/alloca (alloca.h): Likewise.
93085
93086 2003-08-14  Jim Meyering  <jim@meyering.net>
93087
93088         Merge from coreutils.
93089         * m4/tzset.m4: New file.
93090         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
93091         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
93092         otherwise, AIX 5.1 systems would end up using the latter.
93093         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
93094         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
93095         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
93096         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
93097
93098 2003-08-14  Jim Meyering  <jim@meyering.net>
93099
93100         Merge from coreutils.
93101         * lib/obstack.h: Whitespace changes.
93102         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
93103         and xcalloc return values.
93104         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
93105         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
93106         hang on OSF/1 5.1 for DIR on both local and remote file systems.
93107         Reported by (and fix confirmed by) Nelson H. F. Beebe.
93108         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93109         error from mntctl.
93110         Use mntctl's return value to drive the entry-processing loop, since
93111         we can't rely on the value of the vmt_length member in the last
93112         entry.  On some systems doing so could result in exhausting
93113         virtual memory.  Based in part on a patch from Mike Jetzer.
93114
93115 2003-08-14  Jim Meyering  <jim@meyering.net>
93116         and Paul Eggert  <eggert@twinsun.com>
93117
93118         Merges from coreutils, plus other fixes.
93119         * lib/physmem.c: Merge in portability changes from gcc/libiberty
93120         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
93121         for credits and details.  Thanks to Kaveh Ghazi for helping
93122         to keep these files in sync.
93123         (ARRAY_SIZE): Define it.
93124         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
93125         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
93126         (memcasecmp): Don't assume size_t fits in unsigned int.
93127         Remove casts and duplicate code.
93128         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
93129         (memcpy): Remove definition.
93130         Merge in some clean-up and optimization changes from glibc.
93131         [BLOCKSIZE]: Move definition to top of file.
93132         Ensure that it is a multiple of 64.
93133         Rearrange loop exit tests so as to avoid performing an
93134         additional fread after encountering an error or EOF.
93135         * lib/md5.h (md5_uintptr): Define.
93136         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
93137         return to the initial working directory.  Preserve errno
93138         for caller.
93139         * lib/idcache.c: Include "xalloc.h".
93140         (xmalloc, xrealloc): Remove decls.
93141         (getuser): Remove casts no longer required in C89.
93142         * lib/human.c: Include stdio.h, for sprintf.
93143         * lib/group-member.c: Include "xalloc.h".
93144         (xmalloc, xrealloc): Remove decls.
93145         (get_group_info): Remove casts no longer required in C89.
93146         * lib/getusershell.c (readname): Remove casts no longer required in
93147         C89.
93148         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
93149         * lib/getline.c: Whitespace fix, from coreutils.
93150
93151 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93152
93153         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
93154         Check for isascii.
93155
93156         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93157         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93158         Undo previous (whitespace-only) change.
93159
93160 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93161
93162         * lib/exclude.c: Include <ctype.h>
93163         (IN_CTYPE_DOMAIN): New macro.
93164         (is_space): New fn.
93165         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
93166         and empty lines.
93167
93168         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93169         Undo previous (whitespace-only) change.
93170
93171 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93172
93173         * config/srclist-update: Change update back to the old behavior,
93174         leaving whitespace alone.  Use one 'sed' command rather than a
93175         pipeline.
93176         (fixlicense): Now a variable, not a function.
93177         (remove_trailing_blanks): Remove.
93178         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
93179         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93180         Undo previous (whitespace-only) change.
93181
93182 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93183
93184         Merge from coreutils.
93185         * modules/euidaccess: Add lib_SOURCES, include for new
93186         file euidaccess.h
93187
93188 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93189
93190         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93191         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93192         Normalize leading white space and remove trailing white space.
93193
93194         Merge from coreutils
93195         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
93196
93197         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
93198         0.12.1.  These files are now being upgraded automatically by
93199         ../config/srclist-update.
93200
93201 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93202
93203         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93204         Normalize leading white space and remove trailing white space.
93205         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
93206         notice, as per ../config/srclist-update.
93207
93208         Merge from coreutils.
93209         * lib/euidaccess.h: New file.
93210         * lib/euidaccess.c: Include it.
93211         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
93212         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
93213         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
93214
93215 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93216
93217         * config/srclist-update: Add copyright notice.
93218         (remove_id_lines, remove_trailing_blanks): New constants.
93219         (fixfile): Use them to normalize spacing a bit in copied files.
93220         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93221         Normalize leading white space and remove trailing white space.
93222
93223         * config/texinfo.tex: Sync with texinfo.
93224
93225         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
93226         strtoul.c from libc, to merge coreutils whitespace changes.
93227
93228         * config/srclist.txt: Get the following m4 files from gettext:
93229         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
93230         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
93231         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
93232         wint_t.m4.
93233
93234 2003-08-12  Karl Berry  <karl@gnu.org>
93235
93236         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
93237         been made.
93238
93239 2003-08-11  Paul Eggert  <eggert@twinsun.com>
93240
93241         * modules/gnu-source, m4/gnu-source.m4:
93242         Remove; we're assuming Autoconf 2.54 or later now.
93243         Suggested by Bruno Haible.
93244         * MODULES.html.sh (func_all_modules): Remove gnu-source.
93245
93246 2003-08-11  Bruno Haible  <bruno@clisp.org>
93247
93248         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
93249
93250 2003-08-11  Bruno Haible  <bruno@clisp.org>
93251
93252         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
93253         (vasnprintf): Use it instead of wcslen.
93254
93255 2003-08-11  Bruno Haible  <bruno@clisp.org>
93256
93257         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
93258         value to ensure that _Bool promotes to int. Use #define for _Bool when
93259         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
93260
93261 2003-08-10  Karl Berry  <karl@gnu.org>
93262
93263         * lib/regex.h: update from libc (whitespace fix).
93264
93265 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93266
93267         Merge some files from coreutils.  These changes were
93268         originally made by Jim Meyering.
93269         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
93270         many older Unixes require this.
93271         * lib/alloca.c (alloca): Remove cast to argument of free;
93272         no longer needed in C89.
93273         * lib/alloca_.h, regex.h: Fix white space to match
93274         what GNU indent does.
93275
93276 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93277
93278         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
93279         apparently Emacs's Unicode mode got confused before my 2003-08-05
93280         checkin.
93281
93282 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93283
93284         * m4/extensions.m4: New file.
93285         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
93286         Require gl_USE_SYSTEM_EXTENSIONS.
93287         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
93288         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
93289
93290 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93291
93292         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
93293         * modules/extensions, modules/gnu-source: New files.
93294         * modules/timespec, modules/unlocked-io: Depend on extensions.
93295
93296 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93297
93298         * modules/restrict: New file.
93299         * MODULES.html.sh (func_all_modules): Add restrict.
93300         * modules/regex: Depend on restrict.
93301
93302 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93303
93304         * m4/restrict.m4: New file.
93305         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
93306
93307 2003-08-07  Bruno Haible  <bruno@clisp.org>
93308
93309         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
93310         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
93311
93312 2003-08-07  Bruno Haible  <bruno@clisp.org>
93313
93314         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
93315         makes the module 'getndelim2' compatible with the module 'getline'.
93316
93317 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93318
93319         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
93320         byte with "\201" to avoid glitches when editing that source file
93321         with multi-gnome-terminal.
93322
93323 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93324
93325         * lib/bumpalloc.h: Remove.
93326
93327 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93328
93329         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
93330         * modules/bumpalloc: Remove.
93331
93332 2003-08-04  Paul Eggert  <eggert@twinsun.com>
93333
93334         * lib/getloadavg.c: Change copyright notice and spacing to conform to
93335         GNU coding style.
93336
93337         Merge from coreutils.
93338         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
93339         1. From glibc.
93340         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
93341         from Karl Berry, implemented by Jim Meyering.
93342         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
93343         from Dmitry V. Levin.
93344         Remove anachronistic cast of xrealloc.
93345         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
93346         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
93347         type. Otherwise, it wouldn't compile with at least /bin/cc on
93348         ymp-cray-unicos9.0.2.X.
93349         Combine two mostly-identical uses of alloca into one.
93350         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
93351
93352 2003-08-04  Dave Love  <d.love@dl.ac.uk>
93353
93354         [From Emacs.]
93355
93356         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
93357         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
93358         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
93359         obsolete NLIST_NAME_UNION.
93360         [__GNU__]: Undef BSD and FSCALE.
93361         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
93362
93363 2003-08-03  Paul Eggert  <eggert@twinsun.com>
93364
93365         * lib/stdbool_.h (_Bool): Make it signed char, instead of
93366         an enum type, so that it's guaranteed to promote to int.  See:
93367         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
93368
93369 2003-08-03  Karl Berry  <karl@gnu.org>
93370
93371         * config/depcomp: update from automake.
93372
93373 2003-07-31  Paul Eggert  <eggert@twinsun.com>
93374
93375         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
93376         (strerror): Don't assume that a printable int fits in 14 bytes.
93377
93378 2003-07-31  Bruno Haible  <bruno@clisp.org>
93379
93380         * modules/getpass-gnu: New file.
93381         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
93382
93383 2003-07-31  Bruno Haible  <bruno@clisp.org>
93384
93385         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
93386
93387 2003-07-24  Karl Berry  <karl@gnu.org>
93388
93389         * config/missing: update from automake.
93390
93391 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
93392             Bruno Haible  <bruno@clisp.org>
93393
93394         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
93395         * lib/getline.c (getline, getdelim): Likewise.
93396         Remove _GNU_SOURCE define; now it's defined in config.h through
93397         m4/getline.m4.
93398
93399 2003-07-23  Karl Berry  <karl@gnu.org>
93400
93401         * config/config.sub: update from prep.
93402
93403 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93404
93405         * modules/xalloc (Depends-on): Add exitfail.
93406         * modules/xmemcoll: Likewise.
93407
93408 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93409
93410         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
93411         over-parenthesization in macros.
93412
93413         Sync with coreutils.
93414
93415         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
93416         required by C99.
93417
93418         Use `exit_failure' for xalloc and xmemcoll instead of their own
93419         private exit-failure variables.
93420         * lib/xalloc.h (xalloc_exit_failure): Remove.
93421         * lib/xmalloc.c: Likewise.  Include exitfail.h.
93422         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
93423         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
93424         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
93425         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
93426
93427 2003-07-20  Jim Meyering  <jim@meyering.net>
93428
93429         * modules/closeout (Depends-on): Add exitfail.
93430         Suggestion from Bruno Haible.
93431
93432 2003-07-19  Karl Berry  <karl@gnu.org>
93433
93434         * config/config.sub: update from prep.
93435
93436 2003-07-18  Paul Eggert  <eggert@twinsun.com>
93437
93438         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
93439         Remove.
93440         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
93441         to test that it can stand by itself.  Include "exitfail.h".
93442         Clients should set exit_failure instead.
93443         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
93444
93445 2003-07-18  Bruno Haible  <bruno@clisp.org>
93446
93447         * modules/getndelim2: New file.
93448         * modules/getline: Share files with module getndelim2.
93449         * modules/getnline: Depend on getndelim2 instead of sharing files with
93450         it. Add getnline.c to lib_SOURCES.
93451         * MODULES.html.sh (func_all_modules): Add getndelim2.
93452
93453 2003-07-18  Bruno Haible  <bruno@clisp.org>
93454
93455         * m4/getndelim2.m4: New file.
93456         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93457         invoke gl_PREREQ_GETNDELIM2.
93458         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93459         gl_PREREQ_GETNDELIM2.
93460         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93461         gl_GETNDELIM2.
93462
93463 2003-07-18  Bruno Haible  <bruno@clisp.org>
93464
93465         * lib/getndelim2.h: New file.
93466         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93467         getndelim2.h.
93468         (getndelim2): Make non-static. Change return type to ssize_t.
93469         * lib/getline.h: Change argument names.
93470         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93471         * lib/getnline.c: Include getndelim2.h.
93472
93473 2003-07-18  Andreas Schwab  <schwab@suse.de>
93474
93475         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93476
93477 2003-07-17  Karl Berry  <karl@gnu.org>
93478
93479         * config/config.sub: update from prep.
93480
93481 2003-07-17  Bruno Haible  <bruno@clisp.org>
93482
93483         * modules/getnline: New file.
93484         * modules/getline: Add lib/getndelim2.c to source file list.
93485         * MODULES.html.sh (func_all_modules): Add getnline.
93486
93487 2003-07-17  Bruno Haible  <bruno@clisp.org>
93488
93489         * m4/getnline.m4: New file.
93490
93491 2003-07-17  Bruno Haible  <bruno@clisp.org>
93492
93493         * m4/Makefile.am.in: Remove file.
93494         * m4/Makefile.am: Remove file.
93495         * m4/Makefile.in: Remove file.
93496
93497 2003-07-17  Bruno Haible  <bruno@clisp.org>
93498
93499         * lib/getnline.h: New file.
93500         * lib/getnline.c: New file.
93501         * lib/getndelim2.c: New file, extracted from getline.c.
93502         (getndelim2): Renamed from getdelim2, with added nmax argument.
93503         * lib/getline.c: Include getndelim2.c.
93504         (getdelim2): Moved out to getndelim2.c.
93505         (getline, getdelim): Update.
93506
93507 2003-07-17  Bruno Haible  <bruno@clisp.org>
93508
93509         * lib/Makefile.am: Remove file.
93510         * lib/Makefile.in: Remove file.
93511
93512 2003-07-17  Bruno Haible  <bruno@clisp.org>
93513
93514         * configure.in: Remove file.
93515         * Makefile.in: Remove file.
93516
93517 2003-07-17  Bruno Haible  <bruno@clisp.org>
93518
93519         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93520
93521 2003-07-16  Karl Berry  <karl@gnu.org>
93522
93523         * config/srclist-update: was running fixlicense twice, which caused
93524                 texinfo.tex to be nullified for some reason.  Simplify,
93525                 $gplsrc is no longer needed as far as I can see?
93526
93527 2003-07-16  Jim Meyering  <jim@meyering.net>
93528
93529         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93530
93531 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93532
93533         * config/srclist.txt: Get the following files from gettext-runtime/intl
93534         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93535         ref-del.sin.  From Bruno Haible.
93536         * config/srclist-update (fixfile): Change grep pattern again, since the
93537         previous fix didn't work (there was another trailing $).  Use
93538         '[$]' to escape the $s.
93539
93540 2003-07-15  Karl Berry  <karl@gnu.org>
93541
93542         * lib/vasnprintf.c: update from gettext.
93543
93544 2003-07-15  Karl Berry  <karl@gnu.org>
93545
93546         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93547         gets expanded when surrounded by '$'.
93548
93549 2003-07-15  Jim Meyering  <jim@meyering.net>
93550
93551         * modules/save-cwd: Don't depend on error.  From Derek Price.
93552
93553 2003-07-15  Jim Meyering  <jim@meyering.net>
93554
93555         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93556
93557 2003-07-14  Simon Josefsson  <jas@extundo.com>
93558
93559         * modules/mempcpy: New file.
93560         * MODULES.html.sh (func_all_modules): Add mempcpy.
93561
93562 2003-07-14  Simon Josefsson  <jas@extundo.com>
93563
93564         * m4/mempcpy.m4: New file.
93565
93566 2003-07-14  Simon Josefsson  <jas@extundo.com>
93567
93568         * lib/mempcpy.h: New file.
93569         * lib/mempcpy.c: New file.
93570
93571 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93572
93573         * modules/getdate, modules/posixtm: Depend on mktime.
93574
93575 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93576
93577         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93578         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93579         unicodeio.c, unicodeio.h, unlocked-io.h:
93580         Switch from LGPL to GPL.
93581
93582 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93583
93584         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93585         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93586         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93587         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93588         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93589         updated automatically by ../config/srclist-update.  This changes
93590         their license from LPGL to GPL.
93591
93592 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93593
93594         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93595         assumed to refer to the root of the most recent stable gettext version.
93596         * config/srclistvars.sh: Add defaults for eggert.
93597         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93598         Match "This program" as well as "The program".  This is needed
93599         for gettext.
93600
93601 2003-07-14  Jim Meyering  <jim@meyering.net>
93602
93603         Don't emit diagnostics.  Let callers do that.
93604         * lib/save-cwd.c: Don't include "error.h".
93605         (save_cwd): Don't call error.  Ensure that errno is valid
93606         when returning nonzero.
93607
93608         * lib/save-cwd.h (restore_cwd): Update prototype.
93609         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93610         Simplify.  Don't call error upon failure.  Let callers do that.
93611         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93612         when auditing is enabled.  But don't bother updating the #if.
93613
93614 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93615
93616         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93617         it breaks C++ compilation.
93618         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93619
93620 2003-07-10  Simon Josefsson  <jas@extundo.com>
93621
93622         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93623
93624 2003-07-10  Jim Meyering  <jim@meyering.net>
93625
93626         * m4/clock_time.m4: Remove trailing blank.
93627         * m4/intmax_t.m4: Likewise.
93628
93629 2003-07-10  Jim Meyering  <jim@meyering.net>
93630
93631         * lib/vasnprintf.c: Remove trailing blanks.
93632         Make cpp indentation consistent.
93633
93634 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93635
93636         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93637         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93638         Switch from LGPL to GPL.
93639
93640 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93641
93642         * config/srclist.txt: Sort sublists.  Add
93643         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93644         that differ from gnulib for one reason or another; we'd like this list
93645         to be smaller but for now let's document what we have.
93646
93647 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93648
93649         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93650         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93651         and sweeter "eval x=$x".
93652         * config/srclist.txt: Get lib/argp* from glibc.
93653
93654 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93655
93656         * lib/mktime.c: Fix some boundary cases and remove need for floating
93657         point.
93658
93659         Issue a compile-time diagnostic if time_t is floating point, or if
93660         two's complement arithmetic is not in effect, or if arithmetic
93661         right shift does not propagate the sign.  These assumptions were
93662         all in the original code but they weren't checked.
93663
93664         (TIME_T_MIDPOINT, verify): New macros.
93665         (__isleap): Remove; it has integer overflow problems.
93666         (leapyear): New function, without those problems.
93667         (ydhms_tm_diff): Remove; splitting into two parts.
93668         (ydhms_diff): New function, containing the arithmetic part of
93669         the old ydhms_tm_diff function.  Issue a compile-time
93670         diagnostic if we are not using C99 integer division.
93671         Avoid casts when possible.
93672         (guess_time_tm): New function, containing the checking part of
93673         the old ydhms_tm_diff function.  Return the new value, rather than
93674         the difference between it and the old.  Accept a new argument T
93675         so that *T specifies the old value.  Check for overflow in the result.
93676
93677         (__mktime_internal): Use a time_t offset, not a long int offset.
93678         This undoes the 2003-06-04 change, which is no longer needed now
93679         that we have better overflow checking.
93680         (localtime_offset): Likewise.
93681
93682         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93683         and long are 64-bit but int is only 32-bit.
93684         (ydhms_diff): Use long int to store year1 and yday1.
93685         Issue a compile-time diagnostic if long int is not wide enough.
93686
93687         (__mktime_internal): Use long int to store adjusted year and yday.
93688         Use plain C rather than preprocessor commands, if that doesn't
93689         affect efficiency.
93690         Check for overflow (and try to repair) after each probe
93691         rather than checking only at the very end.  This avoids some bugs
93692         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93693         does not equal GMT offset at maximum time).
93694         Use integer to check for overflow rather than floating point; this
93695         is more portable to non-IEEE hosts, and is a tad faster.
93696         When we detect that we are oscillating between two values,
93697         don't check whether tm_isdst has the requested value, since
93698         we already know the answer.  When tm_isdst has the wrong value,
93699         use a different heuristic to find the right one, based on the
93700         extreme values actually observed in practice in tz2003a,
93701         rather than the (overly optimistic) "previous 3 calendar quarters".
93702
93703         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93704         "T const" to accommodate glibc style.
93705         (check_result): Use less-confusing report format.  "long" -> "long int.
93706         (main): Likewise.
93707         Don't loop if the iteration overflows time_t.
93708         Allow a negative step in the iteration.
93709
93710 2003-07-06  Karl Berry  <karl@gnu.org>
93711
93712         * config/depcomp: update from automake.
93713         * config/config.sub: update from prep.
93714
93715 2003-07-03  Karl Berry  <karl@gnu.org>
93716
93717         * config/config.guess: update from prep.
93718
93719 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93720
93721         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93722         xreadlink.c now includes it unconditionally.
93723
93724 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93725
93726         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93727         having it depend on HAVE_SYS_TYPES_H.
93728
93729 2003-07-01  Bruno Haible  <bruno@clisp.org>
93730
93731         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93732         <sys/types.h> should be sufficient.
93733         Reported by Paul Eggert.
93734
93735 2003-06-26  Karl Berry  <karl@gnu.org>
93736
93737         * config/depcomp: update from automake.
93738
93739 2003-06-26  Bruno Haible  <bruno@clisp.org>
93740
93741         * modules/human: Depend on module stdbool.
93742
93743 2003-06-25  Bruno Haible  <bruno@clisp.org>
93744
93745         * modules/readlink: New file.
93746         * modules/xreadlink: Depend on it.
93747         * MODULES.html.sh (func_all_modules): Add readlink.
93748
93749 2003-06-25  Bruno Haible  <bruno@clisp.org>
93750
93751         * m4/readlink.m4: New file.
93752
93753 2003-06-25  Bruno Haible  <bruno@clisp.org>
93754
93755         * lib/readlink.c: New file.
93756
93757 2003-06-22  Karl Berry  <karl@gnu.org>
93758
93759         * config/srclist.txt: update mkinstalldirs from automake.
93760         * config/mkinstalldirs: update.
93761
93762 2003-06-22  Bruno Haible  <bruno@clisp.org>
93763
93764         Portability to mingw32.
93765         * m4/ssize_t.m4: New file, from GNU gettext.
93766         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93767         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93768
93769 2003-06-22  Bruno Haible  <bruno@clisp.org>
93770
93771         * modules/safe-read: Add m4/ssize_t.m4.
93772         * modules/xreadlink: Add m4/ssize_t.m4.
93773
93774 2003-06-20  Bruno Haible  <bruno@clisp.org>
93775
93776         Assume C89, so PARAMS isn't needed.
93777         * lib/unicodeio.h (PARAMS): Remove.
93778         * lib/unicodeio.c: Don't use PARAMS.
93779
93780 2003-06-18  Karl Berry  <karl@gnu.org>
93781
93782         * config/config.{guess,sub}: update from prep.
93783
93784 2003-06-18  Jim Meyering  <jim@meyering.net>
93785
93786         Merge changes from coreutils.
93787         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93788         Remove explicit declarations of xmalloc and realloc.
93789         Include xalloc.h.
93790         (read_utmp): Remove anachronistic cast of xmalloc.
93791
93792 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93793
93794         Assume C89, so PARAMS isn't needed.
93795         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93796         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93797         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93798         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93799         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93800         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93801         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93802         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93803         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93804         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93805         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93806         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93807         no longer needed. Anyway, config.h should always be included before any
93808         other file.
93809
93810 2003-06-11  Simon Josefsson  <jas@extundo.com>
93811
93812         * modules/sysexits: New file.
93813         * MODULES.html.sh (func_all_modules): Add sysexits.
93814
93815 2003-06-11  Simon Josefsson  <jas@extundo.com>
93816
93817         * lib/sysexit_.h: New file.
93818
93819 2003-06-11  Derek Price  <derek@ximbiot.com>
93820
93821         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93822         necessary.
93823
93824 2003-06-11  Bruno Haible  <bruno@clisp.org>
93825
93826         * m4/sysexits.m4: New file.
93827
93828 2003-06-10  Simon Josefsson  <jas@extundo.com>
93829
93830         * lib/argp.h: New file, from glibc.
93831         * lib/argp-ba.c: New file, from glibc.
93832         * lib/argp-eexst.c: New file, from glibc.
93833         * lib/argp-fmtstream.c: New file, from glibc.
93834         * lib/argp-fmtstream.h: New file, from glibc.
93835         * lib/argp-fs-xinl.c: New file, from glibc.
93836         * lib/argp-help.c: New file, from glibc.
93837         * lib/argp-namefrob.h: New file, from glibc.
93838         * lib/argp-parse.c: New file, from glibc.
93839         * lib/argp-pv.c: New file, from glibc.
93840         * lib/argp-pvh.c: New file, from glibc.
93841         * lib/argp-xinl.c: New file, from glibc.
93842
93843 2003-06-10  Simon Josefsson  <jas@extundo.com>
93844
93845         * modules/strchrnul: New file.
93846
93847 2003-06-10  Simon Josefsson  <jas@extundo.com>
93848
93849         * modules/argp: New file.
93850
93851 2003-06-10  Simon Josefsson  <jas@extundo.com>
93852
93853         * m4/strchrnul.m4: New file.
93854
93855 2003-06-10  Simon Josefsson  <jas@extundo.com>
93856
93857         * lib/strchrnul.h: New file.
93858         * lib/strchrnul.c: New file.
93859
93860 2003-06-10  Bruno Haible  <bruno@clisp.org>
93861
93862         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93863
93864 2003-06-07  Karl Berry  <karl@gnu.org>
93865
93866         * config/config.{guess,sub}: update from prep.
93867
93868 2003-06-07  Jim Meyering  <jim@meyering.net>
93869
93870         * modules/strtod: Use $(...) notation, not @...@ for
93871         AC_REPLACE'd variables.
93872         * modules/localcharset: Likewise.
93873
93874 2003-06-07  Jim Meyering  <jim@meyering.net>
93875
93876         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93877         in place of my name in the copyright comment.
93878         Remove definition and uses of __P.
93879
93880         From coreutils.
93881         * lib/stat.c: Don't declare xmalloc explicitly.
93882         Instead, include "xalloc.h".
93883         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93884         xrealloc, and xcalloc return values.
93885         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93886         Improve comment.
93887         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93888
93889 2003-06-07  Bruno Haible  <bruno@clisp.org>
93890
93891         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93892         avoid AC_CONFIG_LINKS.
93893         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93894         fnmatch.h, to avoid AC_CONFIG_LINKS.
93895         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93896
93897 2003-06-07  Bruno Haible  <bruno@clisp.org>
93898
93899         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93900         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93901         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93902         directory.
93903         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93904         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93905         directory.
93906
93907 2003-06-06  Jim Meyering  <jim@meyering.net>
93908
93909         Merge from coreutils.
93910         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93911         Consolidate declarations and initializations of *_base* locals.
93912
93913         Merge from coreutils.
93914         This avoids a core dump on systems without GNU putenv,
93915         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93916         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93917         (unsetenv): New static function, from GNU libc.
93918         (rpl_putenv): Use it.
93919
93920         * lib/modechange.c: Remove trailing blanks.
93921
93922         Merge from coreutils.
93923         * lib/fsusage.c: Remove declaration of statfs.
93924         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93925
93926         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93927
93928 2003-06-06  Jim Meyering  <jim@meyering.net>
93929
93930         * lib/stdbool_.h: Renamed from stdbool.h.in.
93931
93932 2003-06-06  Jim Meyering  <jim@meyering.net>
93933             Bruno Haible  <bruno@clisp.org>
93934
93935         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93936         Adjust Makefile.am snippet not to redirect directly to target.
93937         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93938
93939 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93940
93941         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93942         mismatch, look in future quarters as well as past.  This fixes a
93943         bug when processing fall-backwards gaps immediately after a long
93944         period of daylight-saving time.
93945
93946         * lib/mktime.c: Assume freestanding C89 or better.
93947         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93948         (__P): Remove; not used.
93949         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93950         (mktime, not_equal_tm, print_tm, check_result,
93951         main): Use prototypes.  Use const * where appropriate.
93952         (main): Fix typo in testing code that uncovered by above changes.
93953         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93954
93955 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93956
93957         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93958         locale.h, localeconv.  This merges changes from coreutils.
93959
93960         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93961         It can be removed after the next Autoconf is released.
93962         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93963         needed.
93964
93965 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93966
93967         * lib/mktime.c: Fix Debian bug 177940
93968         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93969         (localtime_offset): Now long int, not time_t, because we want it
93970         to be guaranteed to be signed.  All uses changed.
93971         (__mktime_internal): If overflow would occur when adding offset,
93972         don't add it.
93973
93974         Merge 'human' changes from coreutils.  Rewrite to support
93975         locale-specific notations like thousands separators.
93976         * lib/human.c: Simplify authorship notice.
93977         Include human.h immediately after config.h.
93978         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93979         <limits.h>: Do not include, since human.h does.
93980         (SIZE_MAX, UINTMAX_MAX): New macros.
93981         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93982         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93983         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93984         (power_letter): Renamed from suffixes.
93985         (generate_suffix_backwards): Remove.
93986         (adjust_value): Now takes int style (because of human.h changes)
93987         and long double value (for greater precision on some platforms).
93988         (group_number): New function.
93989         (human_readable): Use it.  Use integer options, not enum.
93990         Put the options before the sizes in the arg list.
93991         Support all the new options.
93992         The old human_readable function has been removed;
93993         use inttostr.h instead.
93994         (human_readable, default_block_size, humblock):
93995         Use uintmax_t, not int, for block sizes.
93996         (human_readable_inexact, block_size_types): Remove.
93997         (block_size_opts): New constant.
93998         (human_options): Renamed from human_block_size, with new signature
93999         that allows block sizes up to UINTMAX_MAX.  All callers changed.
94000         * lib/human.h: Add copyright and authorship notice.
94001         Include <limits.h> and <stdbool.h> unconditionally.
94002         (PARAMS): Remove.  All uses removed.
94003         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
94004         (enum human_inexact_style): Remove tag; now a nameless enum.
94005         (human_floor, human_ceiling, human_round_to_even): Now have
94006         values 2, 0, 1 rather than -1, 1, 0.
94007         (human_group_digits, human_suppress_point_zero, human_autoscale,
94008         human_base_1024, human_SI, human_B): New constants.
94009         (human_readable_inexact, human_block_size): Remove.
94010         (human_readable): Size args are now uintmax_t, not int.
94011         (human_options): New decl.
94012
94013         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
94014         unnecessary now that we assume C89 or better.  This change
94015         imported from coreutils.
94016
94017         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94018         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
94019         in the 2003-05-30 sync from glibc.
94020
94021         .h files should stand alone, but we shouldn't include <sys/types.h>
94022         if we can get away with just <stddef.h>.
94023
94024         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
94025         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
94026         rather than <sys/types.h>, as we merely need size_t.
94027         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
94028         to get size_t.
94029         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
94030         Include <stdio.h>, to get FILE.
94031         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
94032         memcasecmp.h has included <stddef.h> and all we need is size_t.
94033         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
94034         our interface, instead of including <sys/types.h>
94035
94036 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94037
94038         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
94039         now, as glibc mktime is buggy on non-glibc systems.
94040
94041 2003-06-03  Karl Berry  <karl@gnu.org>
94042
94043         * config/config.sub: update from prep.
94044
94045 2003-06-02  Paul Eggert  <eggert@twinsun.com>
94046
94047         [from coreutils]
94048         Fix some minor time-related bugs with POSIX time arguments.
94049         Some valid time stamps were being rejected (notably -1, and
94050         time stamps before 1900 on 64-bit hosts).  And some invalid
94051         time stamps were being accepted, e.g. September 31.
94052
94053         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
94054         that we can return (time_t) -1 successfully.
94055         * lib/posixtm.c: Likewise.
94056         [HAVE_STDBOOL_H]: Include <stdbool.h>.
94057         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
94058         (t): Remove static var.
94059         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
94060         of static var.  All uses changed.
94061         (year): Do not reject years before 1900; they can occur with
94062         64-bit time_t.
94063         (posix_time_parse): Do not check for out-of-range components;
94064         that is now the caller's responsibility, since our checks were
94065         only approximations.
94066         (posixtime): Use mktime to check for out-of-range components,
94067         since it knows them exactly.
94068         If mktime returns (time_t) -1, check whether an error actually occurred
94069         by invoking localtime on -1.
94070         (main) [TEST_POSIXTIME]: Check for input data errors, and report
94071         posixtime failures better.
94072         Improve the test data (in comments only).
94073
94074 2003-06-02  Karl Berry  <karl@gnu.org>
94075
94076         * config/mkinstalldirs (version): new variable.
94077         (--version): new option.
94078         (usage): improve message.
94079
94080 2003-05-30  Karl Berry  <karl@gnu.org>
94081
94082         * lib/mktime.c: update from libc.
94083
94084 2003-05-30  Bruno Haible  <bruno@clisp.org>
94085
94086         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
94087         * config/config.rpath: Upgrade to gettext-0.12.1.
94088
94089 2003-05-30  Bruno Haible  <bruno@clisp.org>
94090
94091         * m4/gettext.m4: Upgrade to gettext-0.12.1.
94092         * m4/nls.m4: New file, from gettext-0.12.1.
94093         * m4/po.m4: New file, from gettext-0.12.1.
94094         * m4/progtest.m4: Upgrade to gettext-0.12.1.
94095
94096 2003-05-30  Bruno Haible  <bruno@clisp.org>
94097
94098         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
94099         * lib/localcharset.h: Likewise.
94100         * lib/localcharset.c: Likewise.
94101
94102 2003-05-29  Karl Berry  <karl@gnu.org>
94103
94104         * config/config.rpath: update from gettext.
94105
94106 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94107
94108         Assume the headers required for C89 freestanding compilers.
94109         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
94110         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
94111         * m4/human.m4 (gl_HUMAN): Likewise.
94112         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
94113         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
94114         * m4/userspec.m4 (gl_USERSPEC): Likewise.
94115         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
94116         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
94117         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
94118
94119 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94120
94121         Assume the headers required for C89 freestanding compilers.
94122         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
94123         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
94124         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
94125         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
94126         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
94127         define, since <limits.h> is guaranteed to do that.
94128         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
94129         * lib/exclude.c: Include <stdbool.h> unconditionally.
94130         * lib/tempname.c: Include <stddef.h> unconditionally.
94131         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
94132         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
94133         <stddef.h> does that.
94134         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
94135         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
94136         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
94137         needed.
94138         * lib/xstrtol.c: Likewise.
94139         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
94140         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
94141
94142         * lib/addext.c (addext): Use assignment rather than cast, to avoid
94143         warnings on some platforms.
94144
94145         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94146         arbitrarily.
94147
94148 2003-05-26  Jim Meyering  <jim@meyering.net>
94149
94150         Merge in a change from coreutils:
94151         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
94152         that is guaranteed to be `no'.  Use `no_such_member' to indicate
94153         that condition, rather than `-1' which is slightly misleading.
94154         Change the name of the cache variable to have the gl_ prefix.
94155         Prompted by a patch from Richard Dawe for DJGPP.
94156
94157 2003-05-24  Karl Berry  <karl@gnu.org>
94158
94159         * config/config.guess: update from prep.
94160
94161 2003-05-22  Karl Berry  <karl@gnu.org>
94162
94163         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
94164
94165 2003-05-20  Karl Berry  <karl@gnu.org>
94166
94167         * config/config.guess: update from prep.
94168
94169 2003-05-18  Karl Berry  <karl@gnu.org>
94170
94171         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
94172         might actually be set by the user.
94173
94174         * config/depcomp, install-sh, mdate-sh: update from automake.
94175
94176 2003-05-17  Bruno Haible  <bruno@clisp.org>
94177
94178         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
94179         invalid expansion for AC_EGREP_CPP.
94180         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
94181         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
94182         Suggested by Akim Demaille <akim@epita.fr> in
94183         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
94184
94185 2003-05-12  Jim Meyering  <jim@meyering.net>
94186
94187         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
94188         the space-padded-by-default conversion specifiers, %e, %k, %l.
94189
94190 2003-05-12  Bruno Haible  <bruno@clisp.org>
94191
94192         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
94193         the string is longer than 4 KB.
94194
94195 2003-05-11  Karl Berry  <karl@gnu.org>
94196
94197         * config/config.{guess,sub}: update from prep.
94198
94199 2003-05-09  Bruno Haible  <bruno@clisp.org>
94200
94201         * modules/error: Add m4/strerror_r.m4 to file list.
94202
94203 2003-05-03  Bruno Haible  <bruno@clisp.org>
94204
94205         Upgrade to Unicode-4.0.
94206         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
94207         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
94208         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
94209         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
94210         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
94211         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
94212         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
94213         Change width of U+E0100..U+E01EF from 1 to 0.
94214
94215 2003-04-25  Jim Meyering  <jim@meyering.net>
94216
94217         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
94218         of type size_t, not int.
94219
94220 2003-04-25  Bruno Haible  <bruno@clisp.org>
94221
94222         * lib/copy-file.c: Include <stddef.h>, for size_t.
94223
94224 2003-04-21  Paul Eggert  <eggert@twinsun.com>
94225
94226         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
94227         code which expansion is under static control.  Patch imported from
94228         Akim Demaille's patch to Bison; see
94229         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
94230
94231 2003-04-14  Bruno Haible  <bruno@clisp.org>
94232
94233         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
94234
94235 2003-04-11  Jim Meyering  <jim@meyering.net>
94236
94237         Merge changes from Coreutils.
94238
94239         2003-03-22  Jim Meyering  <jim@meyering.net>
94240
94241         * lib/strftime.c (widen): Cast alloca return value to proper type.
94242
94243         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
94244
94245         From GNU libc.
94246         * lib/strftime.c (my_strftime): Handle very large width
94247         specifications for numeric values correctly.  Improve checks for
94248         overflow.
94249
94250         2003-01-19  Jim Meyering  <jim@meyering.net>
94251
94252         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
94253         definitions.
94254         (nl_get_alt_digit) [! defined my_strftime]: Define.
94255         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
94256         _nl_get_alt_digit and _nl_get_walt_digit.
94257
94258         * lib/strftime.c (my_strftime): Merge in locale-related changes from
94259         libc. These changes have no effect outside of _LIBC.
94260
94261 2003-04-10  Bruno Haible  <bruno@clisp.org>
94262
94263         * modules/findprog: New file.
94264         * MODULES.html.sh (func_all_modules): Add it.
94265
94266 2003-04-10  Bruno Haible  <bruno@clisp.org>
94267
94268         * m4/findprog.m4: New file.
94269         * m4/eaccess.m4: New file.
94270
94271 2003-04-10  Bruno Haible  <bruno@clisp.org>
94272
94273         * lib/findprog.h: New file, from GNU gettext.
94274         * lib/findprog.c: New file, from GNU gettext.
94275
94276 2003-04-05  Jim Meyering  <jim@meyering.net>
94277
94278         Merge changes from Coreutils.
94279
94280         * lib/exclude.h (PARAMS): Remove definition and uses.
94281         * lib/exclude.c: Remove uses of `PARAMS'.
94282
94283         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
94284         Add test-cases for DOS filenames. Declare program_name.
94285         (main): Set up program_name.  Patch by Rich Dawe.
94286
94287         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
94288         error from mntctl.
94289         Use mntctl's return value to drive the entry-processing loop, since
94290         we can't rely on the value of the vmt_length member in the last
94291         entry.  On some systems doing so could result in exhausting
94292         virtual memory.  Based in part on a patch from Mike Jetzer.
94293
94294 2003-04-04  Bruno Haible  <bruno@clisp.org>
94295
94296         * modules/linebreak: New file.
94297         * MODULES.html.sh (func_all_modules): Add it.
94298
94299 2003-04-04  Bruno Haible  <bruno@clisp.org>
94300
94301         * m4/linebreak.m4: New file.
94302
94303 2003-04-04  Bruno Haible  <bruno@clisp.org>
94304
94305         * lib/linebreak.h: New file, from GNU gettext.
94306         * lib/linebreak.c: New file, from GNU gettext with slight
94307         modifications.
94308         * lib/lbrkprop.h: New file, from GNU gettext.
94309
94310 2003-04-03  Bruno Haible  <bruno@clisp.org>
94311
94312         * modules/utf8-ucs4: New file.
94313         * modules/utf16-ucs4: New file.
94314         * modules/ucs4-utf8: New file.
94315         * modules/ucs4-utf16: New file.
94316         * MODULES.html.sh (func_all_modules): Add them.
94317
94318 2003-04-03  Bruno Haible  <bruno@clisp.org>
94319
94320         * m4/utf-ucs4.m4: New file.
94321         * m4/ucs4-utf.m4: New file.
94322
94323 2003-04-03  Bruno Haible  <bruno@clisp.org>
94324
94325         * lib/utf8-ucs4.h: New file, from GNU gettext.
94326         * lib/utf16-ucs4.h: New file, from GNU gettext.
94327         * lib/ucs4-utf8.h: New file, from GNU gettext.
94328         * lib/ucs4-utf16.h: New file, from GNU gettext.
94329
94330 2003-04-02  Bruno Haible  <bruno@clisp.org>
94331
94332         * modules/binary-io: New file.
94333         * MODULES.html.sh (func_all_modules): Add it.
94334
94335 2003-04-02  Bruno Haible  <bruno@clisp.org>
94336
94337         * lib/binary-io.h: New file, from GNU gettext.
94338
94339 2003-04-01  Bruno Haible  <bruno@clisp.org>
94340
94341         * modules/pathname: New file.
94342         * MODULES.html.sh (func_all_modules): Add it.
94343
94344 2003-04-01  Bruno Haible  <bruno@clisp.org>
94345
94346         * lib/pathname.h: New file, from GNU gettext.
94347         * lib/concatpath.c: New file, from GNU gettext.
94348
94349 2003-03-30  Bruno Haible  <bruno@clisp.org>
94350
94351         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
94352
94353 2003-03-30  Bruno Haible  <bruno@clisp.org>
94354
94355         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
94356         function chown() doesn't exist.
94357
94358 2003-03-28  Bruno Haible  <bruno@clisp.org>
94359
94360         * modules/copy-file: New file.
94361         * MODULES.html.sh (func_all_modules): Add it.
94362
94363 2003-03-28  Bruno Haible  <bruno@clisp.org>
94364
94365         * m4/copy-file.m4: New file.
94366
94367 2003-03-28  Bruno Haible  <bruno@clisp.org>
94368
94369         * lib/copy-file.h: New file, from GNU gettext.
94370         * lib/copy-file.c: New file, from GNU gettext.
94371
94372 2003-03-18  Jim Meyering  <jim@meyering.net>
94373
94374         * lib/quote.c (quote_n): Fix typo in comment.
94375
94376 2003-03-18  Bruno Haible  <bruno@clisp.org>
94377
94378         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
94379         checking.
94380         * m4/onceonly_2_57.m4: Likewise.
94381
94382 2003-03-17  Bruno Haible  <bruno@clisp.org>
94383
94384         * m4/onceonly.m4: Require autoconf 2.54 or newer.
94385         (m4_quote): Remove macro.
94386         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
94387
94388 2003-03-14  Jim Meyering  <jim@meyering.net>
94389
94390         Merge changes from Coreutils.
94391         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
94392         to be const, in order to avoid warnings.
94393         (obstack_room): Likewise.
94394         (obstack_empty_p): Likewise.
94395
94396 2003-03-14  Bruno Haible  <bruno@clisp.org>
94397
94398         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
94399         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
94400
94401 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94402
94403         Merge changes from Bison.
94404         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
94405         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
94406         when compiling Bison 1.875's `bitset bset = obstack_alloc
94407         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
94408         * lib/hash.c: Include <stdbool.h> unconditionally.
94409
94410 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94411
94412         * m4/onceonly.m4 (m4_quote): New macro.
94413         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
94414         Quote AC_FOREACH variable-expansions properly.
94415
94416 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94417
94418         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
94419
94420 2003-03-09  Paul Eggert  <eggert@twinsun.com>
94421
94422         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
94423         Reported by Bruce Becker; see:
94424         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
94425
94426 2003-03-03  Paul Eggert  <eggert@twinsun.com>
94427             Bruno Haible  <bruno@clisp.org>
94428
94429         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
94430         Reported by John Hughes, see
94431         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
94432
94433 2003-02-20  Bruno Haible  <bruno@clisp.org>
94434
94435         * MODULES.html.sh (func_all_modules): Add poll.
94436
94437 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94438
94439         * modules/poll: New file.
94440
94441 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94442
94443         * lib/poll_.h: New file.
94444         * lib/poll.c: New file.
94445
94446 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94447
94448         * m4/poll.m4: New file.
94449
94450 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94451
94452         * modules/mathl: New file.
94453
94454 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94455
94456         * lib/mathl.h: New file.
94457         * lib/acosl.c: New file.
94458         * lib/asinl.c: New file.
94459         * lib/atanl.c: New file.
94460         * lib/ceill.c: New file.
94461         * lib/cosl.c: New file.
94462         * lib/expl.c: New file.
94463         * lib/floorl.c: New file.
94464         * lib/frexpl.c: New file.
94465         * lib/ldexpl.c: New file.
94466         * lib/logl.c: New file.
94467         * lib/sincosl.c: New file.
94468         * lib/sinl.c: New file.
94469         * lib/sqrtl.c: New file.
94470         * lib/tanl.c: New file.
94471         * lib/trigl.c: New file.
94472         * lib/trigl.h: New file.
94473
94474 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94475
94476         * m4/mathl.m4: New file.
94477
94478 2003-02-18  Bruno Haible  <bruno@clisp.org>
94479
94480         * MODULES.html.sh (func_all_modules): Add mathl.
94481
94482 2003-02-17  Bruno Haible  <bruno@clisp.org>
94483
94484         * modules/mkdtemp: New module.
94485         * MODULES.html.sh (func_all_modules): Add it.
94486
94487 2003-02-17  Bruno Haible  <bruno@clisp.org>
94488
94489         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94490
94491 2003-02-17  Bruno Haible  <bruno@clisp.org>
94492
94493         * lib/mkdtemp.h: New file, from GNU gettext.
94494         * lib/mkdtemp.c: New file, from GNU gettext.
94495
94496 2003-02-02  Jim Meyering  <jim@meyering.net>
94497
94498         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94499         e.g. glibc-2.2.93.
94500
94501 2003-01-31  Bruno Haible  <bruno@clisp.org>
94502
94503         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94504         'rpl_rename'.
94505         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94506         'rpl_strnlen'.
94507         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94508         'rpl_strtod'.
94509         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94510         'rpl_utime'.
94511
94512 2003-01-31  Bruno Haible  <bruno@clisp.org>
94513
94514         * lib/rename.c: #undef rename before defining rpl_rename.
94515         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94516
94517 2003-01-30  Bruno Haible  <bruno@clisp.org>
94518
94519         * modules/vasnprintf, modules/vasprintf: New modules.
94520         * MODULES.html.sh (func_all_modules): Add them.
94521
94522 2003-01-30  Bruno Haible  <bruno@clisp.org>
94523
94524         * m4/signed.m4: New file, from GNU gettext.
94525         * m4/longdouble.m4: New file, from GNU gettext.
94526         * m4/wchar_t.m4: New file, from GNU gettext.
94527         * m4/wint_t.m4: New file, from GNU gettext.
94528         * m4/vasnprintf.m4: New file.
94529         * m4/vasprintf.m4: New file.
94530
94531 2003-01-30  Bruno Haible  <bruno@clisp.org>
94532
94533         * lib/printf-args.h: New file, from GNU gettext.
94534         * lib/printf-args.c: New file, from GNU gettext.
94535         * lib/printf-parse.h: New file, from GNU gettext.
94536         * lib/printf-parse.c: New file, from GNU gettext.
94537         * lib/vasnprintf.h: New file, from GNU gettext.
94538         * lib/vasnprintf.c: New file, from GNU gettext.
94539         * lib/asnprintf.c: New file, from GNU gettext.
94540         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94541         * lib/vasprintf.c: New file, from GNU gettext.
94542         * lib/asprintf.c: New file, from GNU gettext.
94543
94544 2003-01-29  Bruno Haible  <bruno@clisp.org>
94545
94546         * modules/stpncpy: New module.
94547         * MODULES.html.sh (func_all_modules): Add it.
94548
94549 2003-01-29  Bruno Haible  <bruno@clisp.org>
94550
94551         * m4/stpncpy.m4: New file.
94552
94553 2003-01-29  Bruno Haible  <bruno@clisp.org>
94554
94555         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94556         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94557
94558 2003-01-28  Bruno Haible  <bruno@clisp.org>
94559
94560         * modules/c-ctype: New module.
94561         * MODULES.html.sh (func_all_modules): Add it.
94562
94563 2003-01-28  Bruno Haible  <bruno@clisp.org>
94564
94565         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94566         Paul Eggert.
94567         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94568         Paul Eggert.
94569
94570 2003-01-27  Bruno Haible  <bruno@clisp.org>
94571
94572         * modules/xsetenv: New module.
94573         * MODULES.html.sh (func_all_modules): Add it.
94574
94575 2003-01-27  Bruno Haible  <bruno@clisp.org>
94576
94577         * lib/xsetenv.h: New file, from GNU gettext.
94578         * lib/xsetenv.c: New file, from GNU gettext.
94579
94580 2003-01-23  Jim Meyering  <jim@meyering.net>
94581
94582         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94583         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94584
94585 2003-01-23  Bruno Haible  <bruno@clisp.org>
94586
94587         * modules/minmax: New module.
94588         * MODULES.html.sh (func_all_modules): Add it.
94589
94590 2003-01-23  Bruno Haible  <bruno@clisp.org>
94591
94592         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94593         Eggert.
94594
94595 2003-01-22  Bruno Haible  <bruno@clisp.org>
94596
94597         * modules/exit: New module.
94598         * MODULES.html.sh (func_all_modules): Add it.
94599
94600 2003-01-22  Bruno Haible  <bruno@clisp.org>
94601
94602         * lib/exit.h: New file, from GNU gettext.
94603
94604 2003-01-19  Bruno Haible  <bruno@clisp.org>
94605
94606         * gnulib-tool: Recognize option --extract-maintainer.
94607         (func_get_maintainer): New function.
94608         * modules/*: Add Maintainer entry.
94609
94610 2003-01-16  Jim Meyering  <jim@meyering.net>
94611
94612         * m4/regex.m4: The `regex' struct is both input and output.
94613         Initialize it before each use.  Patch by Tim Waugh.
94614
94615 2003-01-16  Bruno Haible  <bruno@clisp.org>
94616
94617         * MODULES.html.sh: Add a table of contents. Add the module name as
94618         leftmost column. Add hyperlinks.
94619
94620 2003-01-15  Bruno Haible  <bruno@clisp.org>
94621
94622         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94623
94624 2003-01-15  Bruno Haible  <bruno@clisp.org>
94625
94626         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94627         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94628         suffix.
94629
94630 2003-01-15  Bruno Haible  <bruno@clisp.org>
94631
94632         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94633
94634 2003-01-15  Bruno Haible  <bruno@clisp.org>
94635
94636         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94637         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94638
94639 2003-01-14  Jim Meyering  <jim@meyering.net>
94640
94641         * lib/same.c (same_name): Tweak a comment.
94642
94643 2003-01-14  Bruno Haible  <bruno@clisp.org>
94644
94645         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94646         when a string comparison is sufficient.
94647
94648 2003-01-14  Bruno Haible  <bruno@clisp.org>
94649
94650         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94651         'unsigned int'.
94652
94653 2003-01-14  Bruno Haible  <bruno@clisp.org>
94654
94655         * lib/hash-pjw.c: Add comment about low quality of this function.
94656
94657 2003-01-13  Bruno Haible  <bruno@clisp.org>
94658
94659         * modules/stpcpy: Distribute lib/stpcpy.h.
94660         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94661
94662 2003-01-13  Bruno Haible  <bruno@clisp.org>
94663
94664         * modules/*: Add a description.
94665         * modules/strpbrk: Fix Makefile.am snippet.
94666         * modules/strtoimax: Fix dependencies.
94667         * modules/strtoumax: Likewise.
94668
94669 2003-01-13  Bruno Haible  <bruno@clisp.org>
94670
94671         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94672         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94673         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94674
94675 2003-01-13  Bruno Haible  <bruno@clisp.org>
94676
94677         * gnulib-tool (func_create_testdir): Store config/* files in the main
94678         directory.
94679         * config.rpath: Move to ...
94680         * config/config.rpath: ... here.
94681         * modules/gettext: Contains config/config.rpath, not config.rpath.
94682         * modules/iconv: Likewise.
94683
94684 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94685
94686         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94687         to avoid collisions with libcurses and libreadline.
94688
94689         * m4/getstr.m4: Remove.
94690         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94691
94692 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94693
94694         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94695         to avoid collisions with libcurses and libreadline.
94696
94697         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94698         * lib/getstr.h, getstr.c: Remove.
94699         * lib/getline.c: Include "getline.h", to check interface.
94700         Move body of old getstr.c here: this defines MIN_CHUNK and
94701         declares getdelim2, which is renamed from getstr.
94702         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94703
94704         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94705         All uses changed.
94706         * lib/linebuffer.h: Likewise.
94707         (readline): Remove backward-compatibility macro.
94708
94709 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94710
94711         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94712         to avoid collisions with libcurses and libreadline.
94713         * getstr: Remove.
94714         * MODULES.html.sh: Remove getstr.
94715         * modules/getline: Depend on unlocked-io, not getstr.
94716
94717 2003-01-12  Jim Meyering  <jim@meyering.net>
94718
94719         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94720
94721 2003-01-10  Bruno Haible  <bruno@clisp.org>
94722
94723         * modules/alloca: Change Makefile.am requirements. Simplify Include
94724         requirements. Add lib/alloca_.h to file list.
94725
94726 2003-01-10  Bruno Haible  <bruno@clisp.org>
94727
94728         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94729
94730 2003-01-10  Bruno Haible  <bruno@clisp.org>
94731
94732         * lib/alloca_.h: New file.
94733         * lib/getdate.y: Unconditionally include alloca.h.
94734         * lib/makepath.c: Likewise.
94735         * lib/setenv.c: Likewise.
94736         * lib/userspec.c: Likewise.
94737
94738 2003-01-09  Karl Berry  <karl@gnu.org>
94739
94740         * MODULES.html.sh: include `dirname $0` in PATH, to find
94741         gnulib-tool.
94742
94743 2003-01-09  Bruno Haible  <bruno@clisp.org>
94744
94745         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94746         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94747
94748 2003-01-09  Bruno Haible  <bruno@clisp.org>
94749
94750         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94751
94752 2003-01-09  Bruno Haible  <bruno@clisp.org>
94753
94754         * lib/stdbool.h.in: New file.
94755
94756 2003-01-09  Bruno Haible  <bruno@clisp.org>
94757
94758         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94759         * MODULES.html.sh: Likewise.
94760
94761 2003-01-08  Jim Meyering  <jim@meyering.net>
94762
94763         * lib/full-write.c: Undefine and define-away `const' after inclusion
94764         of errno.h, not before.  Suggestion from Bruno Haible.
94765
94766 2003-01-08  Bruno Haible  <bruno@clisp.org>
94767
94768         * modules/full-read: Depend on full-write.
94769
94770 2003-01-08  Bruno Haible  <bruno@clisp.org>
94771
94772         * lib/safe-read.c: Include specification header first, to ensure its
94773         selfcontainedness.
94774         * lib/full-write.c: Likewise.
94775
94776 2003-01-07  Jim Meyering  <jim@meyering.net>
94777
94778         * lib/full-write.c: Rework so that it may serve to define full_read,
94779         too.
94780         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94781
94782 2003-01-07  Bruno Haible  <bruno@clisp.org>
94783
94784         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94785         <inttypes.h>.
94786         * lib/xstrtol.h: Likewise.
94787         * lib/xstrtoimax.c: Likewise.
94788         * lib/xstrtoumax.c: Likewise.
94789         * lib/human.h: Likewise.
94790
94791         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94792         on systems that have <inttypes.h> but not <stdint.h>.
94793
94794 2003-01-07  Bruno Haible  <bruno@clisp.org>
94795
94796         * MODULES.html.sh: Add copyright notice.
94797         (missed_files): Omit CVS directory entries.
94798         (func_module): Make it work with sed-3.02.
94799         * MODULES.txt: Remove file.
94800
94801 2003-01-06  Jim Meyering  <jim@meyering.net>
94802
94803         * lib/version-etc.c: Update year in translatable copyright string.
94804
94805 2003-01-03  Karl Berry  <karl@gnu.org>
94806
94807         * config/config.{guess,sub}: update from prep.
94808
94809 2003-01-02  Karl Berry  <karl@gnu.org>
94810
94811         * doc/COPYING.DOC: belatedly updated to 1.2.
94812
94813 2003-01-01  Karl Berry  <karl@gnu.org>
94814
94815         * gnulib-tool (func_verify_module): report module name $module in
94816         error message, not $1.
94817         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94818         be created, only if it doesn't exist.
94819         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94820
94821 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94822
94823         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94824
94825 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94826
94827         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94828         memcmp if strcoll doesn't work.
94829
94830 2002-12-31  Bruno Haible  <bruno@clisp.org>
94831
94832         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94833         nonempty.
94834
94835 2002-12-31  Bruno Haible  <bruno@clisp.org>
94836
94837         * lib/memcoll.c (STRCOLL): New macro.
94838         (memcoll): Use it.
94839
94840 2002-12-31  Bruno Haible  <bruno@clisp.org>
94841
94842         * lib/localcharset.h: New file.
94843         * lib/localcharset.c: Include it.
94844         * lib/unicodeio.c: Likewise.
94845
94846 2002-12-31  Bruno Haible  <bruno@clisp.org>
94847
94848         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94849         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94850
94851 2002-12-31  Bruno Haible  <bruno@clisp.org>
94852
94853         * lib/getline.h: Include <stddef.h>, for size_t.
94854
94855         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94856         * lib/unicodeio.c: Don't include <stddef.h>.
94857
94858 2002-12-31  Bruno Haible  <bruno@clisp.org>
94859
94860         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94861         HAVE_TM_ZONE.
94862
94863 2002-12-24  Karl Berry  <karl@gnu.org>
94864
94865         * config/config.guess: update from prep.
94866
94867 2002-12-24  Bruno Haible  <bruno@clisp.org>
94868
94869         General infrasructure.
94870         * m4/README: Rewritten.
94871         * m4/onceonly.m4: New file.
94872         * m4/onceonly_2_57.m4: New file.
94873
94874         Module atexit.
94875         * m4/atexit.m4: New file.
94876
94877         Module strtod.
94878         * m4/strtod.m4: New file.
94879
94880         Module strtol.
94881         * m4/strtol.m4: New file.
94882
94883         Module strtoul.
94884         * m4/strtoul.m4: New file.
94885
94886         Module memchr.
94887         * m4/memchr.m4: New file.
94888
94889         Module memcmp.
94890         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94891         (jm_FUNC_MEMCMP): Invoke it.
94892
94893         Module memcpy.
94894         * m4/memcpy.m4: New file.
94895
94896         Module memmove.
94897         * m4/memmove.m4: New file.
94898
94899         Module memset.
94900         * m4/memset.m4: New file.
94901
94902         Module strcspn.
94903         * m4/strcspn.m4: New file.
94904
94905         Module strpbrk.
94906         * m4/strpbrk.m4: New file.
94907
94908         Module strstr.
94909         * m4/strstr.m4: New file.
94910
94911         Module strerror.
94912         * m4/strerror.m4: New file.
94913
94914         Module mktime.
94915         * m4/mktime.m4: Renamed from jm-mktime.m4.
94916         (gl_PREREQ_MKTIME): New macro.
94917         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94918
94919         Module malloc.
94920         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94921         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94922         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94923
94924         Module realloc.
94925         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94926         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94927         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94928
94929         Module strftime.
94930         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94931         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94932         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94933         gl_TM_GMTOFF.
94934         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94935
94936         Module xalloc.
94937         * m4/xalloc.m4: New file.
94938
94939         Module alloca.
94940         * m4/alloca.m4: New file.
94941
94942         Module putenv.
94943         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94944         (jm_FUNC_PUTENV): Invoke it.
94945
94946         Module setenv.
94947         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94948         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94949         when invoked twice.
94950         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94951         gt_FUNC_SETENV.
94952
94953         Module memrchr.
94954         * m4/memrchr.m4: New file.
94955
94956         Module stpcpy.
94957         * m4/stpcpy.m4: New file.
94958
94959         Module strcase.
94960         * m4/strcase.m4: New file.
94961
94962         Module strdup.
94963         * m4/strdup.m4: New file.
94964
94965         Module strnlen.
94966         * m4/strnlen.m4: New file.
94967
94968         Module strndup.
94969         * m4/strndup.m4: New file.
94970
94971         Module xstrtod.
94972         * m4/xstrtod.m4: New file.
94973
94974         Module xstrtol.
94975         * m4/xstrtol.m4: New file.
94976
94977         Module getdate.
94978         * m4/getdate.m4: New file.
94979
94980         Module unlocked-io.
94981         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94982         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94983         * m4/jm-glibc-io.m4n: Remove file.
94984
94985         Module long-options.
94986         * m4/long-options.m4: New file.
94987
94988         Module md5.
94989         * m4/md5.m4: New file.
94990
94991         Module sha.
94992         * m4/sha.m4: New file.
94993
94994         Module getstr.
94995         * m4/getstr.m4: New file.
94996
94997         Module getline.
94998         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94999         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
95000         <sys/types.h>, for size_t. Use the function name gnu_getline, not
95001         simply getline. Infoke gl_PREREQ_GETLINE.
95002
95003         Module obstack.
95004         * m4/obstack.m4: New file.
95005
95006         Module hash.
95007         * m4/hash.m4: New file.
95008
95009         Module readtokens.
95010         * m4/readtokens.m4: New file.
95011
95012         Module strverscmp.
95013         * m4/strverscmp.m4: New file.
95014
95015         Module stdbool.
95016         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
95017         OSF/1.
95018
95019         Module strtoll.
95020         * m4/strtoll.m4: New file.
95021
95022         Module strtoull.
95023         * m4/strtoull.m4: New file.
95024
95025         Module strtoimax.
95026         * m4/strtoimax.m4: New file.
95027
95028         Module strtoumax.
95029         * m4/strtoumax.m4: New file.
95030
95031         Module xstrtoimax.
95032         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
95033         jm_AC_PREREQ_XSTRTOIMAX.
95034         Moved the strtol prerequisites to strtol.m4.
95035         Moved the strtoll prerequisites to strtoll.m4.
95036         Moved the strtoimax prerequisites to strtoimax.m4.
95037
95038         Module xstrtoumax.
95039         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
95040         jm_AC_PREREQ_XSTRTOUMAX.
95041         Moved the strtoul prerequisites to strtoul.m4.
95042         Moved the strtoull prerequisites to strtoull.m4.
95043         Moved the strtoumax prerequisites to strtoumax.m4.
95044
95045         Module chown.
95046         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
95047         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
95048
95049         Module dup2.
95050         * m4/dup2.m4: New file.
95051
95052         Module ftruncate.
95053         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
95054         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
95055
95056         Module getgroups.
95057         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
95058         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
95059
95060         Module gettimeofday.
95061         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
95062         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
95063         gl_PREREQ_GETTIMEOFDAY.
95064
95065         Module mkdir.
95066         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
95067         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
95068
95069         Module mkstemp.
95070         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
95071         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
95072         jm_AC_TYPE_UINTMAX_T.
95073         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
95074
95075         Module stat.
95076         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
95077         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
95078
95079         Module lstat.
95080         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
95081         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
95082
95083         Module timespec.
95084         * m4/timespec.m4 (gl_TIMESPEC): New macro.
95085         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
95086         * m4/st_mtim.m4: Indentation.
95087
95088         Module nanosleep.
95089         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
95090         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
95091         gl_PREREQ_NANOSLEEP.
95092
95093         Module regex.
95094         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
95095         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
95096         (gl_REGEX): New macro.
95097
95098         Module rename.
95099         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
95100         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
95101
95102         Module rmdir.
95103         * m4/rmdir.m4: New file.
95104
95105         Module utime.
95106         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
95107         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
95108         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
95109
95110         Module dirname.
95111         * m4/dirname.m4: New file.
95112
95113         Module getopt.
95114         * m4/getopt.m4: New file.
95115
95116         Module unistd-safer.
95117         * m4/unistd-safer.m4: New file.
95118
95119         Module fnmatch.
95120         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
95121         declaration.
95122         (gl_PREREQ_FNMATCH_EXTRA): New macro.
95123         (gl_FUNC_FNMATCH_POSIX): New macro.
95124         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
95125         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
95126         simply fnmatch.
95127
95128         Module exclude.
95129         * m4/exclude.m4: New file.
95130
95131         Module human.
95132         * m4/human.m4: New file.
95133
95134         Module acl.
95135         * m4/acl.m4: Nop.
95136
95137         Module backupfile.
95138         * m4/backupfile.m4: New file.
95139         * m4/d-ino.m4: Indentation.
95140
95141         Module fsusage.
95142         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
95143         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
95144         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
95145
95146         Module dirfd.
95147         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
95148         requirements.
95149
95150         Module euidaccess.
95151         * m4/euidaccess.m4: New file.
95152
95153         Module file-type.
95154         * m4/file-type.m4: New file.
95155
95156         Module fileblocks.
95157         * m4/fileblocks.m4: New file.
95158
95159         Module filemode.
95160         * m4/filemode.m4: New file.
95161
95162         Module isdir.
95163         * m4/isdir.m4: New file.
95164
95165         Module lchown.
95166         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
95167         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
95168
95169         Module makepath.
95170         * m4/makepath.m4: New file.
95171
95172         Module modechange.
95173         * m4/modechange.m4: New file.
95174
95175         Module mountlist.
95176         * m4/mountlist.m4: New file.
95177         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
95178         Indentation.
95179
95180         Module path-concat.
95181         * m4/path-concat.m4: New file.
95182
95183         Module pathmax.
95184         * m4/pathmax.m4: New file.
95185
95186         Module same.
95187         * m4/same.m4: New file.
95188
95189         Module save-cwd.
95190         * m4/save-cwd.m4: New file.
95191
95192         Module savedir.
95193         * m4/savedir.m4: New file.
95194
95195         Module xgetcwd.
95196         * m4/xgetcwd.m4: New file.
95197         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
95198
95199         Module xreadlink.
95200         * m4/xreadlink.m4: New file.
95201
95202         Module safe-read.
95203         * m4/safe-read.m4: New file.
95204
95205         Module safe-write.
95206         * m4/safe-write.m4: New file.
95207
95208         Module closeout.
95209         * m4/closeout.m4: New file.
95210
95211         Module stdio-safer.
95212         * m4/stdio-safer.m4: New file.
95213
95214         Module getpass.
95215         * m4/getpass.m4: New file.
95216
95217         Module getugroups.
95218         * m4/getugroups.m4: New file.
95219
95220         Module group-member.
95221         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
95222         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
95223
95224         Module idcache.
95225         * m4/idcache.m4: New file.
95226
95227         Module userspec.
95228         * m4/userspec.m4: New file.
95229
95230         Module gettime.
95231         * m4/clock_time.m4: New file.
95232         * m4/gettime.m4: New file.
95233
95234         Module settime.
95235         * m4/settime.m4: New file.
95236
95237         Module posixtm.
95238         * m4/posixtm.m4: New file.
95239
95240         Module gethostname.
95241         * m4/gethostname.m4: New file.
95242
95243         Module canon-host.
95244         * m4/canon-host.m4: New file.
95245
95246         Module gettext.
95247         * m4/codeset.m4: New file, from gettext-0.11.5.
95248         * m4/gettext.m4: New file, from gettext-0.11.5.
95249         * m4/glibc21.m4: New file, from gettext-0.11.5.
95250         * m4/iconv.m4: New file, from gettext-0.11.5.
95251         * m4/intdiv0.m4: New file, from gettext-0.11.5.
95252         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
95253         * m4/inttypes.m4: New file, from gettext-0.11.5.
95254         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
95255         * m4/isc-posix.m4: New file, from gettext-0.11.5.
95256         * m4/lcmessage.m4: New file, from gettext-0.11.5.
95257         * m4/lib-ld.m4: New file, from gettext-0.11.5.
95258         * m4/lib-link.m4: New file, from gettext-0.11.5.
95259         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
95260         * m4/progtest.m4: New file, from gettext-0.11.5.
95261         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
95262         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
95263         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
95264
95265         Module localcharset.
95266         * m4/localcharset.m4: New file.
95267
95268         Module hard-locale.
95269         * m4/hard-locale.m4: New file.
95270
95271         Module mbswidth.
95272         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
95273         onceonly macros.
95274         * m4/mbrtowc.m4: Add comment.
95275
95276         Module memcasecmp.
95277         * m4/memcasecmp.m4: New file.
95278
95279         Module memcoll.
95280         * m4/memcoll.m4: New file.
95281
95282         Module unicodeio.
95283         * m4/unicodeio.m4: New file.
95284
95285         Module rpmatch.
95286         * m4/rpmatch.m4: New file.
95287
95288         Module yesno.
95289         * m4/yesno.m4: New file.
95290
95291         Module exitfail.
95292         * m4/exitfail.m4: New file.
95293
95294         Module c-stack.
95295         * m4/c-stack.m4 (gl_C_STACK): New macro.
95296         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
95297
95298         Module error.
95299         * m4/error.m4 (gl_ERROR): New macro.
95300         (jm_PREREQ_ERROR): Use onceonly macros.
95301
95302         Module fatal.
95303         * m4/fatal.m4: New file.
95304
95305         Module getloadavg.
95306         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
95307         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
95308
95309         Module getpagesize.
95310         * m4/getpagesize.m4: New file.
95311
95312         Module getusershell.
95313         * m4/getusershell.m4: New file.
95314
95315         Module physmem.
95316         * m4/physmem.m4: New file.
95317
95318         Module posixver.
95319         * m4/posixver.m4: New file.
95320
95321         Module quotearg.
95322         * m4/quotearg.m4: New file.
95323
95324         Module quote.
95325         * m4/quote.m4: New file.
95326
95327         Module readutmp.
95328         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
95329
95330         Module sig2str.
95331         * m4/sig2str.m4: New file.
95332
95333         Other.
95334         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
95335         ulonglong.m4.
95336         * m4/intmax_t.m4: New file.
95337         * m4/d-type.m4: Indentation.
95338         * m4/jm-macros.m4: Update.
95339         * m4/prereq.m4 (jm_PREREQ): Update.
95340         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
95341         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
95342         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
95343         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
95344         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
95345         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
95346         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
95347         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
95348         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
95349         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
95350         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
95351         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
95352         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
95353         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
95354         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
95355         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
95356         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
95357         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
95358         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
95359
95360 2002-12-24  Bruno Haible  <bruno@clisp.org>
95361
95362         * MODULES.txt: Update according to m4/ changes.
95363
95364         Module gettext.
95365         * config.rpath: New file, from gettext-0.11.5.
95366
95367         * modules/*: New module descriptions.
95368         * gnulib-tool: New file.
95369         * MODULES.html.sh: New file.
95370
95371 2002-12-21  Karl Berry  <karl@gnu.org>
95372
95373         * doc/fdl.texi: update to version 1.2.
95374
95375 2002-12-19  Karl Berry  <karl@gnu.org>
95376
95377         * config/config.guess: update from prep.
95378
95379 2002-12-18  Bruno Haible  <bruno@clisp.org>
95380
95381         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
95382         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
95383
95384 2002-12-17  Bruno Haible  <bruno@clisp.org>
95385
95386         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
95387         stdlib.h, string.h.
95388
95389 2002-12-17  Bruno Haible  <bruno@clisp.org>
95390
95391         * lib/canon-host.c (strdup): Remove unused declaration.
95392
95393         * lib/fsusage.c: Include full_read.h.
95394         (get_fs_usage): Use full_read instead of safe_read.
95395
95396         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
95397
95398 2002-12-12  Karl Berry  <karl@gnu.org>
95399
95400         * config/config.guess: update from prep.
95401
95402 2002-12-11  Bruno Haible  <bruno@clisp.org>
95403
95404         * m4/setenv.m4: New file, from gettext-0.11.5.
95405
95406 2002-12-11  Bruno Haible  <bruno@clisp.org>
95407
95408         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
95409         not unsetenv().
95410         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
95411         modifications:
95412
95413         2002-12-11  Bruno Haible  <bruno@clisp.org>
95414
95415                 * setenv.c (alloca): Fall back to malloc.
95416                 (freea): New macro.
95417                 (setenv): Use freea() to free memory allocated with alloca().
95418
95419         2002-11-13  Bruno Haible  <bruno@clisp.org>
95420
95421                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
95422                 function declarations.
95423                 * unsetenv.c (unsetenv): Likewise.
95424
95425         2002-03-04  Bruno Haible  <bruno@clisp.org>
95426
95427                 Portability to AIX 4.3.3.
95428                 * unsetenv.c: New file, extracted from setenv.c.
95429                 * setenv.c: Move the unsetenv() function to unsetenv.c.
95430
95431         2001-12-20  Bruno Haible  <bruno@clisp.org>
95432
95433                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
95434                 use malloc instead. For SunOS 4.
95435
95436         2001-12-11  Bruno Haible  <bruno@clisp.org>
95437
95438                 * setenv.c: Declare alloca.
95439                 (compar_fn_t): New typedef.
95440                 (KNOWN_VALUE, STORE_VALUE): Use it.
95441
95442         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
95443         setenv.h.
95444
95445 2002-12-10  Paul Eggert  <eggert@twinsun.com>
95446
95447         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
95448         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
95449         Choose values that are less likely to collide with system fnmatch
95450         options.
95451         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
95452         defined (e.g., a pure POSIX system).
95453         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
95454         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
95455
95456 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95457
95458         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95459         a pain in practice to deal with generated m4 files.  This change
95460         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95461
95462         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95463         and jm-glibc-io.m4, as they are no longer a special case.
95464         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95465         kludge and the auto-generation stuff.  Check only whether the
95466         functions are declared, not whether they exist, since older hosts
95467         that don't declare the functions can't use the optimization anyway.
95468
95469 2002-12-06  Jim Meyering  <jim@meyering.net>
95470
95471         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95472
95473         Merge in changes from libc's misc/error.c, in preparation
95474         for the merge of gnulib's changes back into libc.
95475
95476         * lib/error.c (_): Define only if not already defined.
95477         Move definition to follow all #include directives.
95478         Include unlocked-io.h only if !_LIBC.
95479         [_LIBC]: Include <libio/libioP.h>.
95480         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95481         (fflush): Tweak definition to use INTUSE.
95482         (putc): Define.
95483
95484 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95485
95486         * lib/alloca.c [defined emacs]: Include "lisp.h".
95487         (xalloc_die) [defined emacs]: New macro.
95488         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95489         [! defined emacs]: Include <xalloc.h>.
95490         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95491         (pointer): Typedef to POINTER_TYPE *.
95492         (malloc): Remove decl; we now always use xmalloc.
95493         (alloca): Use old-style definition, since Emacs needs this.
95494         Check for arithmetic overflow when computing combined size.
95495
95496 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95497
95498         Do not generate unlocked-io.h automatically, since it's easier to
95499         maintain it by hand.
95500
95501         * lib/unlocked-io.h: New file, from GNU diffutils,
95502         but with proper copyright notice and attribution.
95503         * lib/gen-uio: Remove.
95504         * lib/Makefile.am: Add copyright notice.
95505         (libfetish_a_SOURCES): Add unlocked-io.h.
95506         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95507         (DISTCLEANFILES, io_functions): Remove macros.
95508         (EXTRA_DIST): Remove gen_uio.
95509         (unlocked-io.h): Remove rule.
95510
95511 2002-12-04  Jim Meyering  <jim@meyering.net>
95512
95513         Reflect the fact that stat.c and lstat.c are no longer generated.
95514         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95515         (DISTCLEANFILES): Likewise.
95516         (EXTRA_DIST): Likewise.
95517         (all_local): Don't depend on stat.c or lstat.c.
95518         (stat.c, lstat.c): Remove rules.
95519         (EXTRA_DIST): Remove xstat.in.
95520
95521         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95522         * lib/stat.c: New file.  Contents mostly from xstat.in.
95523         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95524         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95525
95526         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95527         too.
95528         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95529
95530 2002-12-03  Jim Meyering  <jim@meyering.net>
95531
95532         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95533         but not semantics, to minimize the differences between these two files.
95534         (safe_read): Change comment to mention SAFE_READ_ERROR.
95535
95536         * lib/safe-read.c (IS_EINTR): Define.
95537         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95538
95539 2002-12-02  Jim Meyering  <jim@meyering.net>
95540
95541         * lib/safe-read.c (EINTR): Define.
95542         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95543         (INT_MAX): Provide fallback.
95544         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95545
95546         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95547
95548 2002-12-02  Bruno Haible  <bruno@clisp.org>
95549
95550         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95551         Define, taken from safe-read.c.
95552         (INT_MAX): Provide fallback.
95553         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95554         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95555
95556         * lib/safe-read.c (EINTR): Remove definition.
95557         (safe_read): Don't use EINTR if it is absent.
95558
95559 2002-12-01  Jim Meyering  <jim@meyering.net>
95560
95561         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95562         zero.
95563         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95564
95565 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95566
95567         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95568         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95569         with `if (! (value < limit)) abort ();', for readability.
95570
95571 2002-11-26  Karl Berry  <karl@gnu.org>
95572
95573         * lib/strdup.c: copy from libc again, with jim's ok.
95574         * lib/.cppi-disable: re-add strdup.c
95575
95576 2002-11-25  Karl Berry  <karl@gnu.org>
95577
95578         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95579         instead of "strtol.c".
95580
95581 2002-11-25  Karl Berry  <karl@gnu.org>
95582
95583         * config/install-sh: update from automake for variable quoting, $0 in
95584         error msgs, etc.
95585
95586         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95587         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95588         entry.
95589
95590 2002-11-25  Jim Meyering  <jim@meyering.net>
95591
95592         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95593
95594 2002-11-24  Karl Berry  <karl@gnu.org>
95595
95596         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95597         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95598
95599 2002-11-24  Jim Meyering  <jim@meyering.net>
95600
95601         Update from coreutils:
95602
95603         * lib/mktime.c: Merge in changes from libc.
95604
95605         Avoid a link-time failure on some Linux systems.
95606         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95607         (otherwise).
95608         (__mon_yday): Declare with the STATIC attribute.
95609         (__mktime_internal): Likewise.
95610         Based on a report from Greg Schafer.
95611
95612 2002-11-23  Jim Meyering  <jim@meyering.net>
95613
95614         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95615         Use `unsigned', not `int', as type of index.
95616
95617         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95618
95619         * lib/fsusage.c: Remove unneeded parentheses around operands of
95620         `defined'.
95621
95622 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95623
95624         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95625         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95626         so that we can be included first.
95627         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95628         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95629         No need to include stddef.h or sys/types.h any more.
95630         Surround local include files with "", not "<>".
95631         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95632         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95633         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95634         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95635         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95636         (ISPRINT): Remove; no longer needed now that we assume C89.
95637
95638         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95639         Preserve errno.
95640
95641         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95642         quotearg_char): Use SIZE_MAX rather than
95643         (size_t) -1 when we are talking about "infinity".
95644
95645         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95646
95647 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95648
95649         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95650         hint that one should use `if (! x) abort ();' rather than `assert
95651         (x);', and anyway it's one less thing to worry about configuring.
95652         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95653         hash_rehash, hash_insert): Use abort rather than assert.
95654
95655 2002-11-22  Bruno Haible  <bruno@clisp.org>
95656
95657         * lib/safe-read.h: Assume C89. Add comments.
95658         (safe_read): Change return type to size_t.
95659         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95660         byte counts > SSIZE_MAX correctly.
95661         * lib/safe-write.h: New file.
95662         * lib/safe-write.c: New file.
95663         * lib/full-read.h: New file.
95664         * lib/full-read.c: New file.
95665         * lib/full-write.h: Assume C89. Add comments.
95666         * lib/full-write.c: Include safe-write.h.
95667         (full_write): Rewritten to use safe_write.
95668         Suggested by Jim Meyering and Paul Eggert.
95669
95670 2002-11-21  Jim Meyering  <jim@meyering.net>
95671
95672         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95673
95674         Merge in changes from the coreutils.
95675
95676         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95677         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95678         <stdint.h>.
95679         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95680         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95681         int.  Work more efficiently if X is the same width as uintmax_t.
95682         Do not compare X to -1, to avoid bogus compiler warning.
95683         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95684         Don't assume that f_frsize and f_bsize are the same type.
95685
95686         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95687         warning on FreeBSD.
95688
95689         * lib/makepath.c (make_path): Restore umask *before* creating the final
95690         component.
95691         (make_path): Minor reformatting.
95692
95693         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95694         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95695         HAVE_MALLOC/HAVE_REALLOC.
95696
95697         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95698         dummy ones.  At least on GNU/Linux systems, `auto' means something
95699         else.
95700         From Michael Stone.
95701
95702 2002-11-21  Bruno Haible  <bruno@clisp.org>
95703
95704         Remove case insensitive option matching.
95705         * lib/argmatch.h (argcasematch): Remove declaration.
95706         (ARGCASEMATCH): Remove macro.
95707         (__xargmatch_internal): Remove case_sensitive argument.
95708         (XARGMATCH): Update.
95709         (XARGCASEMATCH): Remove macro.
95710         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95711         case_sensitive argument.
95712         (argcasematch): Remove function.
95713         (__xargmatch_internal): Remove case_sensitive argument.
95714         (main): Use XARGMATCH instead of XARGCASEMATCH.
95715
95716         * lib/xmalloc.c: Change compile-time error message. Add comment about
95717         required autoconf version.
95718
95719 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95720
95721         Merge argmatch cleanups from Bison.  Assume C89.
95722
95723         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95724         Include stdlib.h, for EXIT_FAILURE.
95725         Always include <string.h>, since we assume C89.
95726         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95727         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95728         Include <stddef.h> instead, since it's all we need for size_t.
95729         (PARAMS): Remove.  All uses removed.
95730         (ARRAY_CARDINALITY): Do not bother to #undef.
95731         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95732         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95733         Remove unnecessary parentheses.
95734         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95735         Insert necessary parentheses.
95736         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95737         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95738
95739 2002-11-19  Bruno Haible  <bruno@clisp.org>
95740
95741         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95742         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95743
95744         * lib/mbswidth.h (PARAMS): Remove macro.
95745         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95746         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95747
95748         * lib/gcd.h (PARAMS): Remove macro.
95749         (gcd): Use ANSI C function declarations.
95750         * lib/gcd.c (gcd): Likewise.
95751
95752 2002-11-15  Bruno Haible  <bruno@clisp.org>
95753
95754         * lib/strcspn.c: Include <stddef.h>.
95755         (strcspn): Use ANSI C function declaration. Change return type to
95756         size_t. Use NULL.
95757         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95758         (strpbrk): Use NULL.
95759         * lib/strpbrk.h (PARAMS): Remove macro.
95760         (strpbrk): Use ANSI C function declaration.
95761         * lib/strstr.c: Don't include <sys/types.h>.
95762         * lib/strstr.h (PARAMS): Remove macro.
95763         (strstr): Use ANSI C function declarations.
95764
95765 2002-11-14  Karl Berry  <karl@gnu.org>
95766
95767         * config/mkinstalldirs: `do' on separate line, instead of
95768         `for var; do'.
95769
95770 2002-11-06  Bruno Haible  <bruno@clisp.org>
95771
95772         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95773         * lib/gcd.c (gcd): Likewise.
95774
95775 2002-11-05  Bruno Haible  <bruno@clisp.org>
95776
95777         * lib/gcd.h: New file, from gettext-0.11.5.
95778         * lib/gcd.c: New file, from gettext-0.11.5.
95779
95780 2002-11-05  Bruno Haible  <bruno@clisp.org>
95781
95782         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95783         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95784         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95785         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95786
95787         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95788         <libintl.h>.
95789         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95790         <libintl.h>.
95791
95792         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95793         * lib/human.c: Include gettext.h instead of <libintl.h>.
95794         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95795         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95796         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95797         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95798         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95799         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95800         (textdomain): Remove definition.
95801         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95802
95803         * lib/long-options.c: Remove include of <libintl.h> and definition of
95804         _.
95805         * lib/same.c: Remove include of <libintl.h> and definition of _.
95806
95807 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95808
95809         * lib/config.charset: A few additions for Solaris.
95810
95811 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95812
95813         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95814         * lib/localcharset.c (locale_charset): Declare as extern "C".
95815
95816 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95817
95818         * lib/config.charset: msdos in uk_UA uses CP1125.
95819
95820 2002-11-04  Bruno Haible  <bruno@clisp.org>
95821
95822         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95823         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95824         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95825         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95826         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95827
95828 2002-11-04  Bruno Haible  <bruno@clisp.org>
95829
95830         * lib/localcharset.c (locale_charset): Don't return an empty string.
95831
95832 2002-11-04  Bruno Haible  <bruno@clisp.org>
95833
95834         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95835         aliases.
95836
95837 2002-11-04  Bruno Haible  <bruno@clisp.org>
95838
95839         * lib/config.charset: Update for newest glibc. Add canonical names
95840         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95841
95842 2002-11-04  Bruno Haible  <bruno@clisp.org>
95843
95844         * lib/config.charset: Add support for NetBSD.
95845
95846 2002-11-04  Bruno Haible  <bruno@clisp.org>
95847
95848         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95849
95850 2002-11-01  Bruno Haible  <bruno@clisp.org>
95851
95852         * configure.in: Add AC_CONFIG_AUX_DIR call.
95853         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95854         test/Makefile.
95855         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95856
95857 2002-09-28  Karl Berry  <karl@gnu.org>
95858
95859         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95860         installed automake until the next release, since changes have been
95861         made.
95862
95863 2002-09-25  Karl Berry  <karl@gnu.org>
95864
95865         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95866         * lib/getopt*: copy from libc/posix.
95867         * lib/gettext.h: copy from gettext.
95868         * lib/.cppi-disable: add strdup.c, gettext.h.
95869
95870 2002-09-25  Karl Berry  <karl@gnu.org>
95871
95872         * config/srclist.txt: enable gettext.h check.
95873         * config/config.{guess,sub}: update from prep.
95874         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95875                 from automake 1.6.3.
95876         See srclist*.
95877
95878 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95879
95880         * regex.c (PATFETCH): Remove the translating fetch.
95881         (PATFETCH_RAW): Rename to PATFETCH.
95882         (set_image_of_range): New fun.
95883         (SET_RANGE_TABLE_WORK_AREA): Use it.
95884         (regex_compile): Don't translate the pattern chars so eagerly.
95885         Only do it when inserting an `exactn' bytecode or when handling
95886         a char-range.
95887         (mutually_exclusive_p): Avoid empty statement.
95888
95889 2002-07-06  Jim Meyering  <meyering@lucent.com>
95890
95891         * m4/README: Don't mention Makefile.am.in.
95892         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95893
95894 2002-07-01  Jim Meyering  <meyering@lucent.com>
95895
95896         * lib/c-stack.c: Include sys/time.h.
95897         From Volker Borchert.
95898
95899 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95900
95901         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95902
95903 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95904
95905         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95906         New macro.  Use it uniformly instead of
95907         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95908         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95909         reported by Vin Shelton.
95910
95911 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95912
95913         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95914         Do not assume SA_SIGINFO behavior.
95915         Bug reported by Jim Meyering on NetBSD 1.5.2.
95916
95917 2002-06-22  Jim Meyering  <meyering@lucent.com>
95918
95919         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95920         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95921
95922         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95923         now that configure.ac uses AC_GNU_SOURCE.
95924         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95925         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95926
95927         Update to latest tools.  Suggestions from Paul Eggert.
95928         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95929         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95930         * m4/fnmatch.m4: Likewise.
95931         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95932         to AC_HEADER_STDBOOL
95933
95934 2002-06-22  Jim Meyering  <meyering@lucent.com>
95935
95936         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95937         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95938
95939 2002-06-22  Jim Meyering  <meyering@lucent.com>
95940
95941         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95942
95943         * lib/exitfail.c, exitfail.h: Likewise.
95944         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95945
95946         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95947         of fnmatch.h.
95948         (EXTRA_DIST): Add fnmatch_loop.c.
95949         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95950
95951         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95952         * lib/fnmatch.c: Update from diffutils-2.8.2.
95953         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95954         * lib/fnmatch.h: Remove file.
95955
95956 2002-06-21  Jim Meyering  <meyering@lucent.com>
95957
95958         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95959         * m4/mbrtowc.m4: Likewise.
95960
95961         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95962         * m4/mbswidth.m4: Reflect name change:
95963         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95964         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95965
95966         * m4/lib-link.m4: Update from gettext-0.11.2.
95967         * m4/gettext.m4: Likewise.
95968
95969         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95970         From Alfred M. Szmidt.
95971
95972 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95973
95974         * lib/file-type.h: Report an error if neither S_ISREG nor
95975         S_IFREG is defined, instead of using a test specific to glibc
95976         2.2.  This should be safe, since POSIX requires S_ISREG and
95977         Unix Version 7 had S_IFREG.  We don't need to check for
95978         <sys/types.h> since we don't use any symbols that it defines.
95979
95980 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95981
95982         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95983         $@-t, so that each temporary file name is unique and valid in the first
95984         8 characters, for operation under DOS.
95985
95986 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95987
95988         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95989
95990 2002-06-15  Jim Meyering  <meyering@lucent.com>
95991
95992         Work even with DJGPP 2.03, which lacks support for symlinks.
95993         From Richard Dawe.
95994         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95995         is defined.
95996         * lib/lchown.c (S_ISLNK): Likewise.
95997
95998 2002-06-15  Jim Meyering  <meyering@lucent.com>
95999
96000         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
96001         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
96002         have been included before this file.
96003
96004 2002-06-14  Jim Meyering  <meyering@lucent.com>
96005
96006         * lib/file-type.h: Use the version from diffutils-2.8.2.
96007         * lib/file-type.c: Likewise.
96008
96009 2002-06-07  Jim Meyering  <meyering@lucent.com>
96010
96011         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
96012         They're needed at least for NetBSD 1.5.2.
96013         ($statxfs_includes): Include those same headers.
96014         ($statxfs_includes): Include sys/vfs.h if available.
96015         ($statxfs_includes): Likewise for sys/statvfs.h.
96016         Check for the following members in both structs statfs and statvfs:
96017         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
96018
96019 2002-06-01  Jim Meyering  <meyering@lucent.com>
96020
96021         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
96022         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
96023
96024 2002-05-28  Jim Meyering  <meyering@lucent.com>
96025
96026         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
96027         Reported by Volker Borchert.
96028
96029 2002-05-27  Jim Meyering  <meyering@lucent.com>
96030
96031         Fix a problem seen only on nonconforming systems whereby ls.c's
96032         use of localtime, and then of gettimeofday would cause trouble:
96033         the localtime call used to initialize rpl_gettimeofday's save
96034         mechanism would clobber ls's current local time information so
96035         that in any long listing the first file would always be listed
96036         with date 1970-01-01.  Analysis by Volker Borchert.
96037
96038         * lib/gettimeofday.c (localtime): Undefine.
96039         (rpl_localtime): New function.
96040
96041 2002-05-27  Jim Meyering  <meyering@lucent.com>
96042
96043         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
96044         localtime.
96045
96046         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
96047         use the replacement function; it wouldn't resolve at link time.
96048         Reported by Volker Borchert.
96049
96050 2002-05-22  Jim Meyering  <meyering@lucent.com>
96051
96052         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
96053         file-type.h.
96054         * lib/file-type.h: New file.
96055         * lib/file-type.c (file_type): New file/function.  Extracted from
96056         diffutils.
96057
96058 2002-04-30  Jim Meyering  <meyering@lucent.com>
96059
96060         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
96061
96062 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96063
96064         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
96065
96066 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96067
96068         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
96069         Do not check for alloca.h (no longer used) or stdbool.h (was never
96070         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
96071
96072 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96073
96074         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
96075
96076 2002-04-29  Jim Meyering  <meyering@lucent.com>
96077
96078         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
96079         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
96080         Use AC_FUNC_STRNLEN here instead.
96081
96082         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
96083         With autoconf-2.53a, it's part of AC_PROG_CC.
96084
96085 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96086
96087         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
96088         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
96089
96090 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96091
96092         * lib/sig2str.h, lib/sig2str.c: New files.
96093         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
96094
96095 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96096
96097         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
96098         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
96099         of 127, since 64 is the largest conceivable number for ancient
96100         nonstandard hosts.
96101         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
96102
96103 2002-04-28  Jim Meyering  <meyering@lucent.com>
96104
96105         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
96106
96107 2002-04-24  Jim Meyering  <meyering@lucent.com>
96108
96109         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
96110         (jm_PREREQ): Use it.
96111
96112         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
96113         mach/mach.h fcntl.h.
96114         Check for this function: setlocale.
96115
96116 2002-04-24  Jim Meyering  <meyering@lucent.com>
96117
96118         * lib/gettext.h: New file, from Gettext.
96119         * lib/Makefile.am (INCLUDES): Remove -I../intl.
96120         (libfetish_a_SOURCES): Add gettext.h.
96121
96122 2002-04-16  Jim Meyering  <meyering@lucent.com>
96123
96124         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
96125         ut_pid, ut_id, ut_exit.
96126
96127 2002-04-16  Jim Meyering  <meyering@lucent.com>
96128
96129         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
96130         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
96131         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
96132
96133 2002-04-12  Jim Meyering  <meyering@lucent.com>
96134
96135         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
96136         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
96137         existence of the getmntinfo function.  Needed for Darwin 5.3.
96138
96139         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
96140         This is necessary at least on Darwin 5.3.
96141
96142         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
96143         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
96144         strnlen.o in the library, and that makes some versions of ranlib
96145         object.
96146
96147 2002-04-12  Jim Meyering  <meyering@lucent.com>
96148
96149         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
96150
96151 2002-04-09  Jim Meyering  <meyering@lucent.com>
96152
96153         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
96154         to be more precise.  Rather than saying we're checking whether the
96155         function `works', say what we're testing.
96156         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
96157         Reported by Bruno Haible.
96158
96159 2002-03-10  Jim Meyering  <meyering@lucent.com>
96160
96161         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
96162         Suggestion from Santiago Vila.
96163
96164 2002-03-08  Jim Meyering  <meyering@lucent.com>
96165
96166         * lib/rename.c: Mention that this wrapper is needed also on
96167         mips-dec-ultrix4.4 systems.
96168
96169 2002-03-02  Jim Meyering  <meyering@lucent.com>
96170
96171         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
96172         not HAVE_CLOCK_SETTIME.
96173
96174 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96175
96176         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
96177         Check for clock_settime.
96178
96179 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96180
96181         * lib/nanosleep.h: Rename to....
96182         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
96183
96184         * lib/gettime.c: New file.
96185         * lib/settime.c: New file.
96186         * lib/stime.c: Remove.
96187
96188         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
96189         timespec.h.  Remove nanosleep.h.
96190
96191 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96192
96193         * m4/acl.m4: New file.
96194         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
96195         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
96196
96197 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96198
96199         * lib/acl.c, lib/acl.h: New files.
96200         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
96201
96202 2002-02-24  Jim Meyering  <meyering@lucent.com>
96203
96204         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
96205         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
96206         cause trouble.  Reported by Nelson Beebe.
96207
96208 2002-02-23  Paul Eggert  <eggert@twinsun.com>
96209
96210         * lib/path-concat.c (xpath_concat): Reorder code to pacify
96211         compilers that don't know that xalloc_die never returns.
96212
96213 2002-02-20  Jim Meyering  <meyering@lucent.com>
96214
96215         * lib/getdate.c: Regenerate using bison-1.33.
96216
96217 2002-02-17  Jim Meyering  <meyering@lucent.com>
96218
96219         * config/config.guess (main): Don't use `head -1'; it's no longer
96220         portable. Use `sed 1q' instead.
96221
96222 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
96223
96224         * m4/codeset.m4: Upgrade to gettext-0.11.
96225         * m4/gettext.m4: Upgrade to gettext-0.11.
96226         * m4/glibc21.m4: Upgrade to gettext-0.11.
96227         * m4/iconv.m4: Upgrade to gettext-0.11.
96228         * m4/isc-posix.m4: Upgrade to gettext-0.11.
96229         * m4/lcmessage.m4: Upgrade to gettext-0.11.
96230         * m4/lib-ld.m4: New file, from gettext-0.11.
96231         * m4/lib-link.m4: New file, from gettext-0.11.
96232         * m4/lib-prefix.m4: New file, from gettext-0.11.
96233         * m4/progtest.m4: Upgrade to gettext-0.11.
96234
96235 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96236
96237         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
96238         (jm_PREREQ): Use it.
96239
96240 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96241
96242         * lib/posixver.c, lib/posixver.h: New files.
96243         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96244
96245 2002-02-02  Paul Eggert  <eggert@twinsun.com>
96246             Bruno Haible  <bruno@clisp.org>
96247
96248         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
96249         (fwrite_success_callback): New declaration.
96250         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
96251         print_unicode_char. Call failure callback instead of error.
96252         (fwrite_success_callback): New function.
96253         (exit_failure_callback): New function.
96254         (fallback_failure_callback): New function.
96255         (print_unicode_char): Call unicode_to_mb.
96256
96257 2002-01-26  Jim Meyering  <meyering@lucent.com>
96258
96259         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
96260         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
96261
96262 2002-01-26  Jim Meyering  <meyering@lucent.com>
96263
96264         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
96265
96266 2002-01-22  Paul Eggert  <eggert@twinsun.com>
96267
96268         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
96269
96270 2002-01-22  Jim Meyering  <meyering@lucent.com>
96271
96272         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
96273         Otherwise, some versions of automake would omit the rule that makes
96274         Makefile from Makefile.in.
96275
96276 2002-01-21  Paul Eggert  <eggert@twinsun.com>
96277
96278         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
96279         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96280         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
96281         (memcoll): Set errno to zero if there is no error.
96282
96283         * lib/quotearg.c (quotearg_buffer_restyled):
96284         Fix bug with quoting buffers containing NUL when backslashing escapes.
96285         This bug was exposed by the other changes in this patch.
96286         (quotearg_n_options): New arg ARGSIZE.
96287         All callers changed.
96288         (quoting_options_from_style): New function.
96289         (quotearg_n_style): Use it.
96290         (quotearg_n_style_mem): New function.
96291
96292         * lib/quotearg.h (quotearg_n_style_mem): New function.
96293
96294 2002-01-19  Jim Meyering  <meyering@lucent.com>
96295
96296         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
96297         Remove useless quotes: DF_PROG="df".
96298         * m4/strnlen.m4: New file.
96299
96300 2002-01-16  Paul Eggert  <eggert@twinsun.com>
96301
96302         * lib/backupfile.c (ISDIGIT): Comment fix.
96303         * lib/getdate.y (ISDIGIT): Likewise.
96304         * lib/posixtm.c (ISDIGIT, year): Likewise.
96305         * lib/strverscmp.c (ISDIGIT): Likewise.
96306         * lib/userspec.c (ISDIGIT): Likewise.
96307
96308 2002-01-16  Jim Meyering  <meyering@lucent.com>
96309
96310         * lib/getdate.y: Add three semicolons, each just before a closing
96311         brace. Bison (as of version 1.31) no longer papers over that mistake.
96312
96313 2002-01-05  Jim Meyering  <meyering@lucent.com>
96314
96315         * lib/version-etc.c (version_etc_copyright): Update copyright year.
96316
96317 2001-12-19  Paul Eggert  <eggert@twinsun.com>
96318
96319         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
96320         not silently exit merely because the output buffer happens to
96321         have nothing pending.
96322
96323 2001-12-18  Paul Eggert  <eggert@twinsun.com>
96324
96325         See the big note in ../ChangeLog.
96326         * lib/human.c (suffixes): Prefer K to k for 1024.
96327         (generate_suffix_backwards): New function.
96328         (human_readable_inexact): Use it.
96329         * lib/xstrtol.c (__xstrtol): If there is no number but there
96330         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
96331         Accept 'K' as well as 'k'.
96332
96333 2001-12-15  Jim Meyering  <meyering@lucent.com>
96334
96335         * lib/regex.h (__restrict_arr): Update from libc.
96336
96337         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
96338         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
96339         (STREQ): Define.
96340
96341 2001-12-14  Jim Meyering  <meyering@lucent.com>
96342
96343         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
96344         Suggestion from Bruno Haible.
96345
96346 2001-12-10  Jim Meyering  <meyering@lucent.com>
96347
96348         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
96349         xrealloc, Instead, include "xalloc.h".
96350         (initbuffer): Don't cast xmalloc return value to char*.
96351         (readline): Reword comment.
96352         Don't cast xrealloc return value to char*
96353         Return NULL, not 0.
96354
96355 2001-12-09  Jim Meyering  <meyering@lucent.com>
96356
96357         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
96358         about `signed and unsigned type in conditional expression'.
96359         * lib/posixtm.c (posix_time_parse): Likewise.
96360
96361         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
96362
96363         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
96364         to avoid a pedantic warning.
96365
96366         * lib/getstr.c: Don't include assert.h.
96367         (getstr): Remove warning-evoking assertions.
96368         Return -1 if offset parameter is out of bounds.
96369         Change the type of a local from int to size_t.
96370
96371         * lib/strftime.c (my_strftime_localtime_r): Include this function
96372         definition in the `#if ! HAVE_TM_GMTOFF' block.
96373
96374         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
96375         Include xalloc.h instead.
96376
96377 2001-12-02  Jim Meyering  <meyering@lucent.com>
96378
96379         * lib/tempname.c: Don't declare getenv, thus reverting the change of
96380         2001-11-18.  It's no longer necessary, now that stdlib.h is always
96381         included.
96382
96383         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
96384         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
96385
96386 2001-11-30  Akim Demaille  <akim@epita.fr>
96387
96388         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
96389         before being defined.
96390
96391 2001-11-27  Paul Eggert  <eggert@twinsun.com>
96392
96393         * lib/quotearg.h (quotearg_n, quotearg_n_style):
96394         First arg is int, not unsigned.
96395         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
96396         (SIZE_MAX, UINT_MAX): New macros.
96397         (quotearg_n_options): Abort if N is negative.
96398         Avoid overflow check on hosts where size_t is 64 bits and int
96399         is 32 bits, as overflow is impossible there.
96400         Fix off-by-one typo that caused unnecessary reallocation.
96401
96402 2001-11-27  Jim Meyering  <meyering@lucent.com>
96403
96404         * lib/tempname.c: Merge with version from libc.
96405         * lib/regex.c: Likewise.
96406
96407         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
96408         systems for which STDC_HEADERS is 0, it was not included, resulting in
96409         a warning about an integer-to-pointer conversion problem with getenv.
96410         Reported by Volker Borchert.
96411
96412 2001-11-26  Jim Meyering  <meyering@lucent.com>
96413
96414         * lib/gtod.h: Remove file.
96415         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
96416         * lib/gettimeofday.c: Don't include gtod.h.
96417         (GTOD_init): Remove function.
96418         (rpl_gettimeofday): Do its job here instead, rather than aborting.
96419         Suggestion from Volker Borchert.
96420
96421 2001-11-23  Jim Meyering  <meyering@lucent.com>
96422
96423         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
96424         it.
96425         * lib/hash.c (struct hash_table): Define it here instead.
96426
96427 2001-11-22  Jim Meyering  <meyering@lucent.com>
96428
96429         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
96430
96431 2001-11-20  Jim Meyering  <meyering@lucent.com>
96432
96433         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
96434         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
96435
96436 2001-11-19  Jim Meyering  <meyering@lucent.com>
96437
96438         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
96439         directory.  Use "conftestXXXXXX" as the template.
96440         Suggestion from Paul Eggert.
96441
96442         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
96443         immediately, so the test doesn't mistakenly hit the max-open-files
96444         limit.
96445
96446 2001-11-18  Paul Eggert  <eggert@twinsun.com>
96447
96448         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
96449         (TEMPORARIES): New macro.
96450         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
96451         removes an artificial limitation (e.g. HP-UX 10.20, where
96452         TMP_MAX is 17576).
96453
96454 2001-11-18  Jim Meyering  <meyering@lucent.com>
96455
96456         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96457
96458 2001-11-18  Jim Meyering  <meyering@lucent.com>
96459
96460         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96461         on SunOS 4.
96462
96463         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96464         files will be created before anything else.
96465
96466 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96467
96468         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96469         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96470
96471 2001-11-17  Jim Meyering  <meyering@lucent.com>
96472
96473         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96474         Prompted by a report from Bob Proulx.
96475
96476         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96477         Instead, require UTILS_FUNC_MKSTEMP.
96478
96479 2001-11-17  Jim Meyering  <meyering@lucent.com>
96480
96481         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96482         Now, that's done as part of AC_FUNC_STRTOD.
96483
96484 2001-11-17  Jim Meyering  <meyering@lucent.com>
96485
96486         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96487         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96488         rather than group writable.  Patch by Juan F. Codagnone.
96489
96490         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96491         xrealloc, Instead, include "xalloc.h".
96492
96493         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96494         Remove explicit declarations of xmalloc, xrealloc,
96495         and xstrdup.  Instead, include "xalloc.h".
96496
96497         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96498         unlocked-io.h.
96499         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96500         Likewise.
96501         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96502
96503         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96504         Reported by Padraig Brady.
96505
96506         * lib/mkstemp.c: #undef mkstemp.
96507         Include config.h.
96508         (rpl_mkstemp): Rename from mkstemp.
96509         Protoize.
96510
96511 2001-11-16  Jim Meyering  <meyering@lucent.com>
96512
96513         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96514         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96515         determine the amount of total physical memory, use pstat_getstatic.
96516         HPUX-11 doesn't define _SC_PHYS_PAGES.
96517         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96518         If sysconf couldn't be used to determine the amount of available
96519         physical memory, use both pstat_getstatic and pstat_getdynamic.
96520         Based on a patch from Bob Proulx.
96521
96522 2001-11-10  Jim Meyering  <meyering@lucent.com>
96523
96524         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96525         (jm_PREREQ): Use it.
96526
96527 2001-11-09  Jim Meyering  <meyering@lucent.com>
96528
96529         * m4/jm-macros.m4: Require autoconf-2.52f.
96530         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96531         Use these AC_-prefixed names, not the AM_-prefixed ones.
96532
96533         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96534
96535 2001-11-05  Jim Meyering  <meyering@lucent.com>
96536
96537         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96538
96539 2001-11-04  Jim Meyering  <meyering@lucent.com>
96540
96541         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96542         $DEFS.
96543
96544 2001-11-03  Jim Meyering  <meyering@lucent.com>
96545
96546         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96547         of AC_DEFUN.
96548
96549         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96550         know the name of the variable in the macro definition.
96551
96552 2001-11-03  Jim Meyering  <meyering@lucent.com>
96553
96554         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96555         in argmatch_to_argument call.
96556
96557         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96558         argument.
96559
96560         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96561         e.g., a fault due to an attempt to free a NULL pointer.
96562
96563 2001-11-01  Jim Meyering  <meyering@lucent.com>
96564
96565         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96566         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96567
96568 2001-11-01  Jim Meyering  <meyering@lucent.com>
96569
96570         * lib/dirfd.c, lib/dirfd.h: New files.
96571         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96572
96573         * lib/hash.c (hash_print) [TESTING]: Clean up.
96574
96575 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96576
96577         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96578         to avoid a warning if -Wall.
96579
96580 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96581
96582         * README: New file
96583         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96584         (per RMS's instructions, this is now the canonical source)
96585         * lgpl/, gpl/: New directories.
96586
96587 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96588
96589         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96590
96591 2001-10-21  Jim Meyering  <meyering@lucent.com>
96592
96593         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96594         this code would end up calling gettext even in packages built
96595         with --disable-nls.
96596         * lib/getopt.c (_): Likewise.
96597         * lib/regex.c (_): Likewise.
96598
96599 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96600
96601         * m4/error.m4 (jm_PREREQ_ERROR):
96602         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96603         AC_FUNC_STRERROR_R does that.
96604         Check for strerror declaration.
96605
96606         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96607         are supposed to have them these days.
96608         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96609         Merge changes from latest Autoconf CVS.
96610         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96611         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96612         POSIX decided to standardize on the int flavor of strerror_r.
96613
96614 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96615
96616         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96617         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96618         Use strerror_r that is only a macro, even if it is not a function.
96619         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96620         (private_strerror): Use prototypes, not old-style function definition.
96621         (print_errno_message): New function.
96622         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96623         char*-flavored one.
96624         (error_tail, error, error_at_line): Use it.
96625
96626 2001-10-11  Jim Meyering  <meyering@lucent.com>
96627
96628         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96629         and quote_n (1, ... to avoid clobbering a buffer.
96630
96631 2001-10-05  Jim Meyering  <meyering@lucent.com>
96632
96633         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96634         hash-pjw.h.
96635         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96636         * lib/hash-pjw.h: New file.
96637
96638 2001-09-30  Jim Meyering  <meyering@lucent.com>
96639
96640         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96641         `struct fsstat' has the `f_fstypename' member.
96642         Use that to define FS_TYPE, which is now used to make
96643         the getfsstat link test tighter.
96644
96645 2001-09-30  Jim Meyering  <meyering@lucent.com>
96646
96647         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96648         Include <sys/ucred.h>, for Apple Darwin.
96649         Include sys/mount.h and sys/fs_types.h only if available.
96650         (FS_TYPE): Define.
96651         (read_filesystem_list): Use FS_TYPE.
96652
96653 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96654
96655         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96656         a boolean context.
96657
96658 2001-09-29  Jim Meyering  <meyering@lucent.com>
96659
96660         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96661         [one-argument getmntent function]): Include stdio.h before mntent.h.
96662         SunOS 4.1.x needs it for the declaration of `FILE'.
96663         Patch by Volker Borchert.
96664
96665         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96666         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96667         sys/fs_types.h, and make the link-test for getfsstat guard #include
96668         directives with appropriate #if HAVE_*_H tests so that we can
96669         detect getfsstat on Apple Darwin1.3.7 systems.
96670         Reported by Nelson Beebe.
96671         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96672
96673 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96674
96675         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96676         #defines strtoimax.  Also treat the other strto* functions
96677         like strtoimax.
96678
96679         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96680         Check for strtoul and strtoumax,
96681         as those declarations are made even in the signed case.
96682         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96683         Likewise, for strtol and strtoimax.
96684
96685 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96686
96687         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96688         #defines strtoimax.  Also treat the other strto* functions
96689         like strtoimax.
96690
96691         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96692         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96693         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96694
96695 2001-09-26  Jim Meyering  <meyering@lucent.com>
96696
96697         Most macros in unlocked-io.h had the wrong number of arguments.
96698         * lib/gen-uio: New script.
96699         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96700         * lib/unlocked-io.hin: Remove file.
96701         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96702         rather than trying to embed it here.
96703         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96704         Reported by Padraig Brady.
96705
96706 2001-09-25  Volker Borchert  <bt@teknon.de>
96707
96708         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96709         `result'.
96710
96711 2001-09-24  Jim Meyering  <meyering@lucent.com>
96712
96713         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96714
96715 2001-09-23  Jim Meyering  <meyering@lucent.com>
96716
96717         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96718         instead of the mere test for existence of mntent.h.  The latter
96719         would get a false-positive on AIX 3.4 systems.
96720         In the outer getmntent if-block, don't die if neither of the getmntent
96721         tests succeeds.  Instead, just fall through and continue with the
96722         remaining tests.
96723
96724 2001-09-23  Jim Meyering  <meyering@lucent.com>
96725
96726         * lib/mountlist.c: Remove useless parentheses in #if directives.
96727         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96728         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96729
96730 2001-09-22  Jim Meyering  <meyering@lucent.com>
96731
96732         * m4/gettext.m4: New file.  From gettext.
96733         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96734         * m4/progtest.m4: Likewise
96735         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96736         * m4/glibc21.m4: Likewise.
96737
96738         * m4/libintl.m4: Remove.  No longer used.
96739
96740 2001-09-22  Jim Meyering  <meyering@lucent.com>
96741
96742         * lib/localcharset.c: Update from latest gettext.
96743         * lib/config.charset: Likewise.
96744
96745 2001-09-20  Jim Meyering  <meyering@lucent.com>
96746
96747         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96748         strtoimax.
96749         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96750         strtoumax.
96751
96752 2001-09-20  Jim Meyering  <meyering@lucent.com>
96753
96754         * lib/xstrtol.c (strtoimax): Guard declaration with
96755         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96756         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96757         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96758         (strtoumax): Likewise, for completeness (it wasn't necessary).
96759
96760 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96761
96762         * lib/strtoimax.c (HAVE_LONG_LONG):
96763         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96764         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96765         to work around bug in IBM C compiler.
96766
96767 2001-09-17  Jim Meyering  <meyering@lucent.com>
96768
96769         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96770         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96771         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96772         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96773         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96774         whenever the right hand side need not be expanded by the shell.
96775
96776 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96777
96778         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96779         library.  It's not correct, as some older glibcs are buggy.
96780         fnmatch wasn't fixed until glibc 2.2.
96781
96782         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96783         special shell magic here.
96784
96785 2001-09-16  Jim Meyering  <meyering@lucent.com>
96786
96787         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96788         * m4/jm-macros.m4: Require it.
96789
96790 2001-09-16  Jim Meyering  <meyering@lucent.com>
96791
96792         * lib/mkdir.c: New file.
96793
96794 2001-09-15  Jim Meyering  <meyering@lucent.com>
96795
96796         * m4/jm-macros.m4: Check for help2man.
96797
96798 2001-09-11  Jim Meyering  <meyering@lucent.com>
96799
96800         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96801         The body, by Paul Eggert, was moved here from configure.in.
96802         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96803
96804 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96805
96806         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96807         (jm_PREREQ): Use it.
96808
96809 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96810
96811         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96812         Use ssize_t, not int, to store result of readlink.
96813         Check for ssize_t overflow as well as size_t overflow,
96814         as POSIX says the result of readlink is implementation-defined
96815         when ssize_t overflows.
96816         Remove unnecessary cast to char*.
96817         Use free+malloc instead of realloc, as the storage doesn't need
96818         to be preserved and it's clearer and can be more efficient that way.
96819         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96820         * lib/xreadlink.h (xreadlink): Update prototype.
96821
96822 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96823
96824         * lib/xgetcwd.c: Revert some of the previous change; intead,
96825         fix the HAVE_GETCWD_NULL code to behave more like the
96826         !HAVE_GETCWD_NULL code used to.
96827
96828         Include "xalloc.h".
96829         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96830         invoke xalloc_die.
96831
96832 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96833
96834         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96835         sys/param.h, as pathmax.h includes them.
96836
96837 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96838
96839         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96840         (jm_PREREQ_XGETCWD): New macro.
96841
96842         * m4/getcwd.m4: New file.
96843
96844 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96845
96846         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96847         like the HAVE_GETCWD_NULL code.
96848         Include pathmax.h if not HAVE_GETCWD.
96849         Do not include xalloc.h.
96850         (INITIAL_BUFFER_SIZE): New symbol.
96851         Do not use xmalloc / xrealloc, since the caller is responsible for
96852         handling errors.  Preserve errno around `free' during failure.
96853         Do not overrun buffer when using getwd.
96854
96855 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96856
96857         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96858         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96859         getcwd (NULL, 0).
96860
96861 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96862
96863         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96864         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96865         spotted by Jim Meyering.
96866
96867 2001-09-03  Jim Meyering  <meyering@lucent.com>
96868
96869         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96870         failure.
96871
96872 2001-09-02  Jim Meyering  <meyering@lucent.com>
96873
96874         * lib/error.c: Update from GNU libc.
96875
96876 2001-09-01  Jim Meyering  <meyering@lucent.com>
96877
96878         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96879         Used by df.
96880
96881 2001-09-01  Jim Meyering  <meyering@lucent.com>
96882
96883         * lib/xreadlink.c: New file.
96884         * lib/xreadlink.h: New file.
96885         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96886         xreadlink.h.
96887
96888         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96889         doesn't conflict with sparc Solaris 7's definition in
96890         /usr/include/sys/int_types.h.
96891
96892         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96893         files.
96894         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96895         and strncasecmp as r-values.  Unixware didn't have declarations.
96896
96897 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96898
96899         * lib/xstrtol.h: Add copyright notice.
96900         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96901         LONGINT_INVALID_SUFFIX_CHAR.
96902
96903 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96904
96905         * lib/xstrtol.c (strtoimax): New decl.
96906
96907 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96908
96909         * lib/xgetcwd.c: Don't include pathmax.h.
96910         Include stdlib.h and unistd.h if available.
96911         Include xalloc.h.
96912         (xmalloc, xstrdup, free): Remove decls.
96913         (xgetcwd): Don't assume sizes fit in unsigned.
96914         Check for overflow when computing sizes.
96915         Simplify reallocation code.
96916
96917 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96918
96919         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96920         a directory's st_size can have an arbitrary value, so the old
96921         usage could waste an arbitrary amount of memory.  All uses
96922         changed.
96923         * lib/savedir.h: Update prototype.
96924
96925 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96926
96927         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96928
96929         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96930         old strtoimax.c.
96931
96932         Also, make the following further changes to make this file's
96933         configuration more similar to that of strtol.c:
96934         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96935         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96936         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96937         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96938         changed to signed values.
96939
96940         And make the following changes as well:
96941         Fix copyright notice, as 1999 was missing.
96942         (verify): New macro.
96943         (strtoimax): Check sizes at compile-time, not run-time.
96944         Prefer strtol to strtoll if both work.
96945         (main): Remove; it was not that useful and was a pain to maintain.
96946
96947         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96948
96949 2001-08-31  Jim Meyering  <meyering@lucent.com>
96950
96951         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96952         Use an initial, malloc'd, buffer of length 128 rather than
96953         a statically allocated one of length 1024.
96954
96955 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96956
96957         Simplify code, partly by assuming autoconf 2.52 semantics.
96958
96959         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96960
96961         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96962         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96963         All uses removed.
96964         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96965         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96966         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96967         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96968         jm_AC_HEADER_INTTYPES_H.
96969         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96970
96971         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96972
96973         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96974         Quote first arg of AC_DEFUN.
96975         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96976         since they are needed to parse the include file even if we need
96977         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96978         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96979         but with opposite signedness.
96980
96981 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96982
96983         Merge 'exclude' changes from tar 1.13.22.
96984         This fixes one or two unlikely storage allocation overflow bugs,
96985         but doesn't change user-visible behavior otherwise.
96986
96987 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96988
96989         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96990         (jm_PREREQ_EXCLUDE): New macro.
96991
96992 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96993
96994         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96995         tm to be declared.
96996
96997 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96998
96999         * lib/hash.c: Remove '2001' from copyright notice.
97000
97001 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97002
97003         * lib/full-write.h: New file.
97004         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
97005         * lib/full-write.c: Correct credits, as cccp.c no longer
97006         exists and anyway it was so heavily changed from the old cccp
97007         code as to be unrecognizable.  Include full-write.h.
97008         (full_write): Return size_t, with short writes meaning failure.
97009         All callers changed.  This fixes a bug with large buffers
97010         on 64-bit hosts.
97011         * lib/utime.c: Include full-write.h.
97012
97013 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97014
97015         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
97016         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
97017         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
97018         Include if available.
97019         (<xalloc.h>): Include
97020         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
97021         (verify): New macro.  Use it to verify that EXCLUDE macros do not
97022         collide with FNM macros.
97023         (struct patopts): New struct.
97024         (struct exclude): Use it, as exclude patterns now come with options.
97025         (new_exclude): Support above changes.
97026         (new_exclude, add_exclude_file):
97027         Initial size must now be a power of two to simplify overflow checking.
97028         (free_exclude, fnmatch_no_wildcards): New function.
97029         (excluded_filename): No longer requires options arg, as the options
97030         are determined by add_exclude.  Now returns bool, not int.
97031         (excluded_filename, add_exclude):
97032         Add support for the fancy new exclusion options.
97033         (add_exclude, add_exclude_file): Now takes int options arg.
97034         Check for arithmetic overflow when computing sizes.
97035         (add_exclude_file): xrealloc might modify errno, so don't
97036         realloc until after errno might be used.
97037
97038         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
97039         New macros.
97040         (free_exclude): New decl.
97041         (add_exclude, add_exclude_file): Now takes int options arg.
97042         (excluded_filename): No longer requires options arg, as the options
97043         are determined by add_exclude.  Now returns bool, not int.
97044
97045 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97046
97047         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
97048
97049 2001-08-27  Jim Meyering  <meyering@lucent.com>
97050
97051         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
97052
97053         * lib/version-etc.c (N_): Remove definition.
97054         Revert most of last change.
97055         Instead, simply don't mark the `Copyright...' string for translation.
97056         Based on advice from Paul Eggert.
97057
97058         * lib/strtoxmax.c: Tweak comment.
97059
97060 2001-08-26  Jim Meyering  <meyering@lucent.com>
97061
97062         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
97063
97064         * m4/xstrtoimax.m4: New file.
97065         * m4/xstrtoumax.m4: Add comments explaining why we
97066         AC_REPLACE_FUNCS(strtol).
97067
97068 2001-08-26  Jim Meyering  <meyering@lucent.com>
97069
97070         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
97071         of copyright with `%s' so translators don't get an untranslated
97072         message in 2002.
97073         (COPYRIGHT_YEAR): Define.
97074         (version_etc): Use fprintf rather than fputs.
97075         Suggestion from Ulrich Drepper.
97076
97077         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
97078
97079         * lib/strtoll.c: New file, from GNU libc.
97080         * lib/xstrtoimax.c: New file.
97081
97082         * lib/xstrtol.h: Add xstrtoimax.
97083         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
97084         * lib/strtoimax.c: New file.  Likewise, but first define
97085         STRTOUXMAX_SIGNED.
97086
97087         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
97088         ...
97089         * lib/strtoxmax.c: ... then renamed to this.
97090
97091 2001-08-18  Paul Eggert  <eggert@twinsun.com>
97092
97093         * m4/inttypes.m4: Add AC_PREREQ(2.13).
97094         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
97095         (jm_AC_TYPE_INTMAX_T): New macro.
97096         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
97097
97098         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
97099
97100         * m4/longlong.m4: Renamed from ulonglong.m4.
97101         * m4/inttypes.m4: Renamed from inttypes_h.m4.
97102         * m4/uintmax_t.m4: Removed.
97103
97104 2001-08-13  Paul Eggert  <eggert@twinsun.com>
97105
97106         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
97107         Port to Solaris 8, where 'sed' requires a space after the 'r'
97108         command, and where sh dislikes "$/".  Clean up the spacing a bit.
97109         Redirect output to $tmp just once.
97110
97111 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
97112
97113         * lib/addext.c (<errno.h>): Include.
97114         (errno): Declare if not defined.
97115         (addext): Work correctly when pathconf returns -1 and leaves
97116         errno alone because there is no limit.  Also, work even if
97117         pathconf returns a value greater than SIZE_MAX.
97118
97119 2001-08-12  Jim Meyering  <meyering@lucent.com>
97120
97121         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
97122         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
97123         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
97124         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
97125         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
97126         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
97127         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
97128         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
97129         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
97130         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
97131         utime.m4, utimes.m4, xstrtoumax.m4:
97132         Quote the first argument in each use of AC_DEFUN.
97133
97134 2001-08-12  Jim Meyering  <meyering@lucent.com>
97135
97136         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
97137         Simply `return getcwd (NULL, 0);'.
97138         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
97139         Use 1300 as initial value for length, not PATH_MAX.
97140
97141         * lib/pathmax.h: Clean up cpp syntax.
97142
97143 2001-08-12  Jim Meyering  <meyering@lucent.com>
97144
97145         * lib/gettimeofday.c: New file.
97146         * lib/gtod.h: New file.
97147         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
97148
97149 2001-08-05  Jim Meyering  <meyering@lucent.com>
97150
97151         * m4/jm-macros.m4: Require autoconf-2.52.
97152
97153 2001-08-04  Jim Meyering  <meyering@lucent.com>
97154
97155         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
97156         stmt, to get in sync with glibc.
97157
97158 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97159
97160         The following changes are from gettext 0.10.39 as maintained by
97161         Bruno Haible.
97162
97163         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
97164         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
97165         with inverted sense.  All uses changed.
97166
97167         * lib/mbswidth.c: Don't include <limits.h>.
97168         Include <stdlib.h> and <string.h> unconditionally.
97169         (iswcntrl, mbsinit, ISCNTRL): New macros.
97170         (mbsnwidth): Use K&R style function declarations.
97171         Don't bother checking for MB_LEN_MAX == 1, since the compiler
97172         can optimize it when MB_CUR_MAX == 1.
97173         The width of control characters is zero, not 1.
97174
97175 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97176
97177         The following changes are from gettext 0.10.39 as maintained by
97178         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
97179
97180         * m4/codeset.m4: Upgrade to serial AM1.
97181         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
97182         all uses changed.  Quote first arg of AC_DEFUN.
97183         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
97184
97185         * m4/iconv.m4: Upgrade to serial AM2.
97186         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
97187         Add --with-libconv-prefix.
97188         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
97189         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
97190         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
97191         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
97192         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
97193
97194         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
97195         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
97196         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
97197         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
97198         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
97199         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
97200         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
97201         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
97202         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
97203
97204         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
97205         string.h any more.
97206
97207         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
97208         not the default value.
97209
97210         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
97211         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
97212         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
97213         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
97214         Also check for iswcntrl, used for wcwidth fallback.
97215         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
97216         to Autoconf 2.13.
97217
97218 2001-08-03  Jim Meyering  <meyering@lucent.com>
97219
97220         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
97221         as it was in the original.  Reported by Paul Eggert.
97222
97223 2001-07-16  Jim Meyering  <meyering@lucent.com>
97224
97225         * m4/gettimeofday.m4: New file.
97226         Prompted by a report from Bernhard Baehr.
97227
97228 2001-07-15  Jim Meyering  <meyering@lucent.com>
97229
97230         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
97231         stuff. Now it's in ../Makefile.cfg.
97232
97233 2001-07-15  Jim Meyering  <meyering@lucent.com>
97234
97235         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
97236         (BUILT_SOURCES): Add unlocked-io.h.
97237         (io_functions): Define.
97238         (unlocked-io.h): New rule.
97239         (DISTCLEANFILES): Add unlocked-io.h.
97240         (all-local): Depend on unlocked-io.h, to ensure it is created.
97241
97242         * lib/unlocked-io.hin: New file
97243
97244         * lib/regex.c: Update from glibc.
97245
97246 2001-07-05  Jim Meyering  <meyering@lucent.com>
97247
97248         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
97249         recommendation.
97250         (libfetish_a_SOURCES): Put all .h files here instead.
97251         Remove a thus-exposed (better checks in automake) duplicate and
97252         two unnecessary .h files.
97253
97254 2001-07-04  Jim Meyering  <meyering@lucent.com>
97255
97256         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
97257         that generates jm-glibc-io.m4 so that it doesn't trigger any make
97258         distcheck failure.
97259
97260 2001-07-02  Jim Meyering  <meyering@lucent.com>
97261
97262         The following changes were prompted by suggestions from Bruno Haible.
97263
97264         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
97265         is now generated.
97266         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
97267         definition of EXTRA_DIST.
97268         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
97269         ensure that the generated file is created/updated whenever the list
97270         of $(unlocked_functions) is changed.
97271         (jm-glibc-io.m4): New rule.
97272         (unlocked-io.h): New rule -- currently unused.
97273
97274 2001-06-24  Jim Meyering  <meyering@lucent.com>
97275
97276         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
97277         unmatched right bracket, rather than kludging it with an extra,
97278         falsely-matching quote in a comment.  Patch by Akim Demaille.
97279
97280 2001-06-11  Jim Meyering  <meyering@lucent.com>
97281
97282         * lib/regex.c: Update from GNU libc.
97283
97284 2001-05-27  Jim Meyering  <meyering@lucent.com>
97285
97286         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
97287         Check for ut_type in struct utmp.
97288
97289 2001-05-27  Jim Meyering  <meyering@lucent.com>
97290
97291         * lib/readutmp.h (UT_TYPE): Define.
97292
97293 2001-05-24  Jim Meyering  <meyering@lucent.com>
97294
97295         * lib/argmatch.c: Include "quote.h".
97296         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
97297         quote function.  Reported by Göran Uddeborg.
97298
97299 2001-05-22  Jim Meyering  <meyering@lucent.com>
97300
97301         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
97302         now that we use the package-supplied version unconditionally.
97303         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
97304
97305 2001-05-21  Jim Meyering  <meyering@lucent.com>
97306
97307         * m4/regex.m4: Change a couple backticks to single quotes to avoid
97308         shell syntax errors.
97309
97310 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97311
97312         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
97313
97314 2001-05-20  Paul Eggert  <eggert@twinsun.com>
97315
97316         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
97317         Don't bother to check library strftime, since
97318         we'll be using our own my_strftime function anyway.
97319         Define my_strftime instead of strftime.
97320
97321 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
97322
97323         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
97324         which is not yet declared.
97325
97326 2001-05-15  Jim Meyering  <meyering@lucent.com>
97327
97328         * m4/regex.m4: Use proper quoting so brackets appear in the test
97329         program.
97330         Reported by, and with help from, Bruno Haible.
97331
97332 2001-05-13  Jim Meyering  <meyering@lucent.com>
97333
97334         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
97335         undefined.
97336
97337 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97338
97339         dirname code cleanup.  base_name now behaves more compatibly
97340         with POSIX basename when given file names that have trailing
97341         slashes, and similarly for dir_name.  Add new primitives
97342         base_len and dir_len.  Put the directory-name-related decls
97343         into dirname.h.
97344
97345         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
97346         * lib/backupfile.c (base_name): Likewise.
97347         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
97348         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
97349         * lib/makepath.c (strip_trailing_slashes): Likewise.
97350         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
97351         ISSLASH): Likewise.
97352         * lib/rename.c (strip_trailing_slashes): Likewise.
97353         * lib/same.c (base_name): Likewise.
97354         * lib/stripslash.c (ISSLASH): Likewise.
97355
97356         * lib/addext.c: Include <dirname.h> after size_t is defined.
97357         * lib/backupfile.c: Likewise.
97358
97359         * lib/addext.c (addext): Use base_len to trim redundant
97360         trailing slashes instead of doing it ourselves.
97361         But do not trim the last slash if it is not redundant.
97362
97363         * lib/backupfile.c (find_backup_file_name,
97364         max_backup_version): Use base_len instead of rolling it ourselves.
97365         Handle the case of "" and (on DOS) "C:" correctly.
97366
97367         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
97368         needed. Include <string.h>, <dirname.h>.
97369         (base_name): Allow file names ending in slashes, other than names
97370         that are all slashes.  In this case, return the basename followed
97371         by the slashes.  This is more general, and can be used in places
97372         where the original base_name purposely had an assertion failure.
97373         (base_len): New function.
97374
97375         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
97376         Do not include <assert.h>; no longer needed.
97377         Include xalloc.h.
97378         (memrchr): Remove decl.
97379         (dir_name_r): Remove.
97380         (dir_len): Renamed from dirlen.  All callers changed.
97381         Rewrite in terms of base_name, for simplicity and consistency.
97382         (dir_name): Never return NULL.  All callers changed.
97383         Do not include <stdlib.h> in test program; no longer needed.
97384         return 0; is fine for test program.
97385
97386         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
97387         New macros.
97388         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
97389
97390         * lib/path-concat.c (path_concat): Use base_len to compute
97391         base length, not strlen; this means we cannot rely on memcpy
97392         to null-terminate.
97393
97394         * lib/same.c (STREQ): Remove.
97395         (same_name): Handle the case where the basename ends in trailing '/'.
97396
97397         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
97398         a slash was stripped.  Do not strip the last slash after a
97399         file system prefix.
97400
97401 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97402
97403         * lib/Makefile.am (libfetish_a_SOURCES):
97404         Add strftime.c, since we now compile it on all hosts.
97405
97406         * lib/strftime.c (my_strftime):
97407         Define to nstrftime if emacs, but only if my_strftime is not defined.
97408         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
97409         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
97410         Add one more extra argument: a nanoseconds value.
97411         All uses changed.
97412         (ns): New macro.
97413         (my_strftime function): Add %N format.
97414         (emacs_strftimeu): Renamed from emacs_strftime,
97415         with extra ut argument.
97416
97417 2001-05-09  Paul Eggert  <eggert@twinsun.com>
97418
97419         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
97420
97421 2001-04-21  Jim Meyering  <meyering@lucent.com>
97422
97423         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
97424         doesn't interfere.
97425
97426 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97427
97428         * m4/ftruncate.m4: Check for chsize.
97429         Link with ftruncate.o unconditionally if ftruncate is missing.
97430         This was required when cross-compiling to i586-mingw32msvc.
97431
97432 2001-04-08  Jim Meyering  <meyering@lucent.com>
97433
97434         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
97435         recomputed; that's necessary when the offset spans a DST transition.
97436         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
97437
97438 2001-04-02  Jim Meyering  <meyering@lucent.com>
97439
97440         * lib/regex.h, regex.c: Update from GNU libc.
97441
97442 2001-03-24  Jim Meyering  <meyering@lucent.com>
97443
97444         * m4/jm-macros.m4: Require autoconf-2.49d.
97445
97446 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
97447
97448         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
97449
97450 2001-03-19  Paul Eggert  <eggert@twinsun.com>
97451
97452         * lib/version-etc.c (version_etc_copyright): Update to 2001.
97453
97454 2001-03-17  Jim Meyering  <meyering@lucent.com>
97455
97456         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97457         now that the version in autoconf is equivalent.
97458         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97459
97460         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97461         Suggestion from Akim Demaille.
97462
97463         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97464         (jm_PREREQ_TEMPNAME): New function.
97465
97466 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97467
97468         * lib/tempname.c (uint64_t): Define to uintmax_t if
97469         not defined, and if UINT64_MAX is not defined.
97470         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97471         Reported by John David Anglin.
97472
97473 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97474
97475         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97476         resolve alias if codeset is empty.
97477         * lib/config.charset (BeOS): Use wildcard syntax.
97478
97479 2001-03-13  Jim Meyering  <meyering@lucent.com>
97480
97481         * lib/path-concat.c (path_concat)
97482         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97483         concatenating e.g., `C:' and `foo'.
97484         From Bruno Haible.
97485
97486 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97487
97488         * lib/localcharset.c (locale_charset): Don't use
97489         setlocale(LC_CTYPE,NULL). Don't return NULL.
97490         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97491
97492 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97493
97494         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97495         support for DOS/DJGPP.
97496
97497 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97498
97499         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97500         lacks mkstemp.  Compile our own tempname.c if we compile our own
97501         mkstemp.c, as mkstemp relies on tempname.
97502
97503 2001-03-01  Jim Meyering  <meyering@lucent.com>
97504
97505         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97506         AH_VERBATIM really does output its argument verbatim.
97507
97508 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97509
97510         * lib/Makefile.am (libfetish_a_SOURCES):
97511         Add dup-safer.c, fopen-safer.c.
97512         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97513
97514         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97515         * lib/unistd-safer.h: New files.
97516
97517 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97518
97519         The mkstemp replacement is taken from glibc 2.2.2, with some
97520         portability fixes for use outside glibc, as follows:
97521
97522         * lib/tempname.c (struct_stat64): New macro.
97523         (direxists, __gen_tempname): Use it.
97524         This avoids a portability problem with Solaris 8.
97525
97526         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97527         (<stddef.h>, <stdint.h>, <string.h>):
97528         Include only if STDC_HEADERS || _LIBC.
97529         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97530         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97531         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97532         (__set_errno): Define this macro if <errno.h> doesn't.
97533         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97534         Define these macros if <stdio.h> doesn't.
97535         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97536         Define these macros if <sys/stat.h>
97537         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97538         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97539         __xstat64): Define if not _LIBC.
97540         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97541         (__gen_tempname): Invoke gettimeofday only if
97542         HAVE_GETTIMEOFDAY || _LIBC;
97543         otherwise, fall back on plain "time".
97544         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97545
97546         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97547
97548         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97549
97550 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97551
97552         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97553
97554 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97555
97556         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97557         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97558         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97559         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97560
97561 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97562
97563         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97564         Remove workaround macros for hosts that have mbrtowc but not
97565         mbstate_t, as we now insist on proper declarations for both
97566         before using mbrtowc.
97567
97568 2001-02-17  Jim Meyering  <meyering@lucent.com>
97569
97570         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97571         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97572         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97573         UnixWare 7.1.1.
97574
97575         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97576         rather than AC_CACHE_VAL.
97577
97578 2001-02-17  Jim Meyering  <meyering@lucent.com>
97579
97580         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97581         around included file name.
97582
97583         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97584
97585         * lib/strftime.c: Update from GNU libc (the only changes were to
97586         comments).
97587
97588 2001-02-17  Jim Meyering  <meyering@lucent.com>
97589
97590         * lib/regex.c: Update from libc.
97591
97592 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97593
97594         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97595         clash.
97596
97597 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97598
97599         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97600         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97601         Reported by Mark Hounschell via Paul Eggert.
97602
97603 2001-02-07  Jim Meyering  <meyering@lucent.com>
97604
97605         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97606
97607 2001-02-05  Jim Meyering  <meyering@lucent.com>
97608
97609         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97610         it includes the patch required for `large file' support with at least
97611         HP-UX's 10.20 /bin/cc.
97612
97613 2001-02-03  Jim Meyering  <meyering@lucent.com>
97614
97615         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97616         AS_IF, now that it works once again (mysteriously).
97617         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97618
97619 2001-01-30  Jim Meyering  <meyering@lucent.com>
97620
97621         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97622         * m4/chown.m4: Rename conftestchown to conftest.chown.
97623         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97624         s/conftestdir2/conftest.d2/.
97625         * m4/utimes.m4: s/conftestdata/conftest.data/
97626         Inspired by Pavel Roskin's change in autoconf.
97627
97628 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97629
97630         * lib/config.charset: Update for FreeBSD 4.2.
97631
97632 2001-01-27  Jim Meyering  <meyering@lucent.com>
97633
97634         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97635         a use of AS_IF.
97636         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97637
97638 2001-01-26  Jim Meyering  <meyering@lucent.com>
97639
97640         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97641         quotearg.c includes it.
97642
97643 2001-01-26  Jim Meyering  <meyering@lucent.com>
97644
97645         * lib/quotearg.c: Include stddef.h.
97646         * lib/quote.c: Include stddef.h.
97647         Reported by Axel Kittenberger.
97648
97649         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97650         line in double quotes so that it evokes a better diagnostic.
97651         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97652         Reported by Axel Kittenberger.
97653
97654 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97655
97656         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97657         as if it was a `charset'.
97658
97659 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97660
97661         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97662         has const.
97663
97664 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97665
97666         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97667         to avoid a warning.  Add back 'const' to inptr.
97668
97669 2001-01-20  Jim Meyering  <meyering@lucent.com>
97670
97671         Be sure that headers are checked before used in code compiled
97672         for the type checks.
97673         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97674         In place of that, invoke jm_CHECK_ALL_TYPES.
97675         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97676         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97677         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97678         The check for ssize_t was mistakenly run before the test for unistd.h.
97679
97680         The configure-time check for stdbool.h was missing.
97681         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97682         (jm_PREREQ_HASH): New function.
97683
97684 2001-01-17  Jim Meyering  <meyering@lucent.com>
97685
97686         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97687         for autoconf-2.49c.
97688         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97689
97690 2001-01-16  Jim Meyering  <meyering@lucent.com>
97691
97692         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97693         From Bruno Haible.
97694
97695 2001-01-14  Jim Meyering  <meyering@lucent.com>
97696
97697         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97698         foo and bar.  Create conftestdir/ in the script, not in the C code.
97699         Remove directories in the script, not in the C code.
97700         Remove conftestdir{,2} before trying to create the directory.
97701         Make the entire configure script fail if the mkdir fails.
97702
97703 2001-01-14  Jim Meyering  <meyering@lucent.com>
97704
97705         * lib/rename.c: New file.  From Volker Borchert.
97706         Include stdlib.h, string.h or strings.h, and xalloc.h.
97707         Use strip_trailing_slashes rather than open-coding it.
97708
97709 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97710
97711         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97712
97713 2001-01-03  Jim Meyering  <meyering@lucent.com>
97714
97715         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97716         of local `inptr' to avoid warning with some system declarations of
97717         iconv.
97718
97719 2001-01-02  Volker Borchert  <bt@teknon.de>
97720
97721         * m4/rename.m4: New file.
97722         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97723
97724 2001-01-01  Jim Meyering  <meyering@lucent.com>
97725
97726         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97727         even on systems with utmpx.h.  It's necessary for the declaration of
97728         utmp's ut_user member.  Reported by Andreas Jaeger.
97729
97730         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97731         available. They are required for the declarations of getgrgid and
97732         getpwuid resp.
97733         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97734         Reported by Andreas Jaeger.
97735
97736 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97737
97738         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97739         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97740         so `make install' also works in VPATH builds.
97741
97742 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97743
97744         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97745         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97746         can be used in subdirectories.
97747
97748 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97749
97750         * lib/modechange.c: Do not assume that mode_t uses the
97751         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97752         the other-execute bit of FOO even if S_IXOTH != 1.
97753
97754         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97755         WOTH, XOTH, ALLM): New macros.
97756         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97757          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97758         Use them.
97759         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97760         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97761         (mode_compile):
97762         No need to use uintmax_t; unsigned long is long enough.
97763         Don't bother to get suffix since we don't use it.
97764
97765 2000-12-26  Jim Meyering  <meyering@lucent.com>
97766
97767         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97768         better with autoheader.
97769
97770 2000-12-24  Jim Meyering  <meyering@lucent.com>
97771
97772         * lib/hash.c (is_prime): Return explicit boolean values.
97773         (hash_get_first): Return NULL to appease Irix5.6's 89.
97774         Reported by Nelson Beebe.
97775
97776 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97777
97778         * lib/localcharset.c (locale_charset): Add support for Win32.
97779
97780 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97781
97782         * lib/physmem.h, lib/physmem.c: New files.
97783
97784         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97785         (noinst_HEADERS): Add physmem.h.
97786
97787         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97788         't' for compatibility with Solaris 8 sort.
97789
97790 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97791
97792         * lib/config.charset: Add support for BeOS.
97793
97794 2000-12-17  Jim Meyering  <meyering@lucent.com>
97795
97796         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97797         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97798
97799 2000-12-16  Jim Meyering  <meyering@lucent.com>
97800
97801         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97802         N and M) would have treated it like `chown N:N FILE'.
97803
97804         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97805
97806 2000-12-16  Jim Meyering  <meyering@lucent.com>
97807
97808         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97809         SHELLS_FILE to a file name that's useful on djgpp systems.
97810         Include stdlib.h.
97811         (ADDITIONAL_DEFAULT_SHELLS): Define.
97812         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97813         Based mostly on a patch from Prashant TR.
97814
97815 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97816
97817         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97818         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97819         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97820
97821 2000-12-08  Andreas Schwab  <schwab@suse.de>
97822
97823         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97824         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97825
97826 2000-12-07  Jim Meyering  <meyering@lucent.com>
97827
97828         * lib/stripslash.c (ISSLASH): Define.
97829         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97830         `/'.
97831         From Prashant TR.
97832
97833         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97834         (dir_name_r): Declare this function as static.
97835         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97836         manifest itself on a name containing a mix of slashes and
97837         backslashes.
97838         Make this function work with names starting with a DOS-style
97839         drive letter and colon prefix.
97840         (dir_name): Append `.' if necessary.
97841         Based mostly on patches from Prashant TR and Eli Zaretskii.
97842
97843         * lib/dirname.h (dir_name_r): Remove prototype.
97844
97845 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97846
97847         * m4/off_t-format.m4: Remove this file.
97848         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97849
97850 2000-12-06  Jim Meyering  <meyering@lucent.com>
97851
97852         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97853         replacement strtoull, we may well need the replacement strtoul, too.
97854         Check for declarations of strtoul and strtoull.
97855         Check for strtol.  Mainly as a cue to cause automake to include
97856         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97857         Check for limits.h -- strtol.c needs it.
97858
97859 2000-12-05  Jim Meyering  <meyering@lucent.com>
97860
97861         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97862
97863 2000-12-04  Jim Meyering  <meyering@lucent.com>
97864
97865         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97866         Also include memory.h, stdlib.h, unistd.h if appropriate.
97867         Reported by Andreas Jaeger (conflicting declaration of malloc).
97868
97869 2000-12-02  Jim Meyering  <meyering@lucent.com>
97870
97871         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97872         * m4/jm-macros.m4 (jm_MACROS): require it.
97873
97874 2000-12-02  Jim Meyering  <meyering@lucent.com>
97875
97876         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97877
97878 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97879
97880         * lib/memrchr.c: Include <config.h> before any system include file.
97881
97882 2000-11-30  Jim Meyering  <meyering@lucent.com>
97883
97884         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97885
97886 2000-11-30  Jim Meyering  <meyering@lucent.com>
97887
97888         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97889
97890 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97891
97892         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97893
97894 2000-11-26  Jim Meyering  <meyering@lucent.com>
97895
97896         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97897
97898 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97899
97900         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97901         size of (size_t) -1; it's not portable.
97902
97903 2000-11-17  Jim Meyering  <meyering@lucent.com>
97904
97905         * lib/strstr.c: Update from GNU libc.
97906
97907 2000-11-17  Akim Demaille  <akim@epita.fr>
97908
97909         * lib/obstack.h: Formatting changes.
97910         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97911         prevent type checking.
97912         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97913         cast the value to (void *): assigning a `foo *' to a `void *'
97914         variable is valid.
97915         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97916
97917 2000-11-16  Jim Meyering  <meyering@lucent.com>
97918
97919         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97920
97921 2000-11-11  Jim Meyering  <meyering@lucent.com>
97922
97923         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97924
97925 2000-11-10  Jim Meyering  <meyering@lucent.com>
97926
97927         * lib/obstack.h: Update from GNU libc.
97928         * lib/obstack.c: Likewise.
97929
97930 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97931
97932         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97933
97934 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97935
97936         * lib/getusershell.c (setusershell): Use rewind rather than
97937         fseek/fseeko, to avoid configuration hassles with fseeko.
97938         Don't bother opening SHELLS_FILE if shellstream is NULL;
97939         it's not necessary.
97940
97941 2000-11-05  Jim Meyering  <meyering@lucent.com>
97942
97943         * lib/makepath.h (make_dir): Declare.
97944         * lib/makepath.c (make_dir): Remove `static' attribute.
97945         Tweak a comment.
97946
97947 2000-11-04  Jim Meyering  <meyering@lucent.com>
97948
97949         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97950
97951 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97952
97953         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97954         last one in a bucket, advance to the next bucket.
97955
97956 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97957
97958         * lib/fnmatch.c: Do not comment out all the code if we are using
97959         the GNU C library, because in some cases we are replacing buggy
97960         code in the GNU C library itself.
97961
97962 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97963
97964         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97965         (regex_compile): Catch bogus \(\1\).
97966
97967 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97968
97969         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97970         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97971         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97972
97973 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97974
97975         * lib/error.h, getline.h, modechange.h:
97976         Remove "2000" from Copyright line, as the file hasn't been
97977         changed this year other than in the copyright notice.
97978
97979         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97980         was changed this year.
97981
97982 2000-10-29  Jim Meyering  <meyering@lucent.com>
97983
97984         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97985         renaming.
97986         * m4/ls-mntd-fs.m4: Likewise
97987
97988 2000-10-29  Jim Meyering  <meyering@lucent.com>
97989
97990         * lib/xstat.in: Fix grammar in comment.
97991
97992 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97993
97994         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97995         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97996         doesn't define __restrict_arr.
97997
97998 2000-10-28  Jim Meyering  <meyering@lucent.com>
97999
98000         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
98001         (jm_PREREQ_MEMCHR): New function.
98002
98003 2000-10-28  Jim Meyering  <meyering@lucent.com>
98004
98005         * lib/memchr.c: Update from libc.
98006         Adjust for portability:
98007         [HAVE_STDLIB_H]: Include stdlib.h.
98008         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
98009         Undef __memchr, too.
98010         [!weak_alias]: Define __memchr to memchr.
98011
98012         * lib/regex.c: Update from libc.
98013         * lib/regex.h: Likewise.
98014         * lib/getopt1.c: Likewise.
98015         * lib/memcmp.c: Likewise.
98016
98017         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
98018         Avoid using fseek, when possible -- it's broken by design.
98019         Patch by Ulrich Drepper.
98020
98021 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
98022
98023         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
98024         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
98025         Giving in to popular pressure to shut up the compiler with casts.
98026
98027 2000-10-26  Jim Meyering  <meyering@lucent.com>
98028
98029         * lib/strftime.c: Update from libc.
98030
98031 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
98032
98033         * regex.c: More `unsigned char' -> `re_char' changes.
98034         Also change several `int' into `re_wchar_t'.
98035         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
98036         (PUSH_FAILURE_POINTER): Don't cast any more.
98037         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
98038         We want GCC to complain, since this piece of code makes
98039         re_match non-reentrant, which *should* be fixed.
98040         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
98041         (EXTEND_BUFFER): Use RETALLOC.
98042         (SET_LIST_BIT): Don't cast.
98043         (re_wchar_t): New type.
98044         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
98045         that those two functions will always properly return.
98046         (IMMEDIATE_QUIT_CHECK): Cast to void.
98047         (analyse_first): Use recursion rather than an explicit stack.
98048         (re_compile_fastmap): Can't fail anymore.
98049         (re_search_2): Don't check re_compile_fastmap for failure.
98050         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
98051         Now also sets the new value (passed in a new argument).
98052         (re_match_2_internal): Use it.
98053         Also, use a new var `reg' of type size_t when looping through regs
98054         rather than reuse the inappropriate `mcnt'.
98055
98056 2000-10-25  Jim Meyering  <meyering@lucent.com>
98057
98058         * lib/obstack.c: Update from libc.
98059
98060 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
98061
98062         * regex.c (regex_compile): Change the way of handling a range from
98063         a char less than 256 to a char not less than 256.
98064
98065 2000-10-24  Andrew Innes  <andrewi@gnu.org>
98066
98067         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
98068         NT-Emacs only.
98069         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
98070         so that re_search functions only quit when callers expect them to.
98071
98072 2000-10-23  Jim Meyering  <meyering@lucent.com>
98073
98074         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
98075         wrong.  That set_locale call must not have any side effects.
98076         From Paul Eggert.
98077
98078 2000-10-22  Jim Meyering  <meyering@lucent.com>
98079
98080         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
98081         [CYCLIC]: Remove now-unused definition.
98082
98083         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
98084         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
98085         Suggestion from Ulrich Drepper.
98086
98087 2000-10-21  Jim Meyering  <meyering@lucent.com>
98088
98089         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
98090         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
98091         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
98092
98093 2000-10-21  Jim Meyering  <meyering@lucent.com>
98094
98095         * lib/dirname.c (memrchr): Declare if necessary.
98096         (dir_name): Remove the restriction that there be no
98097         trailing slashes.  Now, this code skips past them, effectively
98098         ignoring them.
98099         [TEST_DIRNAME] (main): New unit tests.
98100
98101         * lib/memrchr.c: New file from GNU libc.
98102         Undef __memrchr, too.
98103         [!weak_alias]: Define __memrchr to memrchr.
98104         Guard weak_alias use with `#ifdef weak_alias'.
98105
98106 2000-10-21  Jim Meyering  <meyering@lucent.com>
98107
98108         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
98109         (dir_name): Use dir_name_r.
98110         * lib/dirname.h (dir_name_r): Declare it.
98111
98112 2000-10-17  Jim Meyering  <meyering@lucent.com>
98113
98114         * lib/quote.h (PARAMS): Define and use.
98115         Reported by Akim Demaille.
98116
98117         * lib/getopt.c: Update from libc.
98118
98119 2000-10-16  Jim Meyering  <meyering@lucent.com>
98120
98121         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
98122         setlocale.
98123         From Jan Fedak.
98124
98125 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
98126
98127         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
98128
98129 2000-09-25  Jim Meyering  <meyering@lucent.com>
98130
98131         * lib/md5.h (rol): Define (from GnuPG).
98132
98133         * lib/sha.c: Give credit (GnuPG) where due.
98134         (M): Use rol rather than open-coding it.
98135         Add a FIXME comment.
98136
98137 2000-09-21  Jim Meyering  <meyering@lucent.com>
98138
98139         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
98140         Reported by Michael Stone.
98141
98142 2000-09-20  Jim Meyering  <meyering@lucent.com>
98143
98144         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
98145         (noinst_HEADERS): Add sha.h.
98146         Based on code from Scott G. Miller and from GnuPG.
98147
98148 2000-09-18  Jim Meyering  <meyering@lucent.com>
98149
98150         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
98151         LIBS. Otherwise, everyone ends up linking with -lelf for some
98152         configurations.
98153         Reported by Mike Stone.
98154
98155 2000-09-15  Jim Meyering  <meyering@lucent.com>
98156
98157         * lib/regex.c: Update from libc.
98158
98159 2000-09-10  Jim Meyering  <meyering@lucent.com>
98160
98161         * lib/getopt.c (_getopt_internal): Update from glibc.
98162
98163 2000-09-09  Jim Meyering  <meyering@lucent.com>
98164
98165         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
98166         think it should be used as a general replacement for isascii.
98167         * lib/fnmatch.c: Likewise.
98168         * lib/mbswidth.c: Likewise
98169         * lib/regex.c: Likewise.
98170
98171         Don't use atoi.
98172         * lib/userspec.c: Include sys/param.h and limits.h.
98173         Include xstrtol.h.
98174         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
98175         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
98176         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
98177         UID, GID.  Check range.
98178
98179 2000-09-06  Jim Meyering  <meyering@lucent.com>
98180
98181         * lib/getopt.c (_getopt_internal): Update from glibc.
98182
98183 2000-08-30  Jim Meyering  <meyering@lucent.com>
98184
98185         * lib/strftime.c: Merge in changes from GNU libc.
98186
98187 2000-08-26  Jim Meyering  <meyering@lucent.com>
98188
98189         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
98190         * m4/fpending.m4: New file.
98191
98192 2000-08-26  Jim Meyering  <meyering@lucent.com>
98193
98194         * lib/closeout.c: Include "__fpending.h".
98195         (close_stdout_status): Return right away if there's nothing to flush.
98196
98197         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
98198         * lib/__fpending.c: New file.
98199         * lib/__fpending.h: New file.
98200
98201 2000-08-20  Jim Meyering  <meyering@lucent.com>
98202
98203         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
98204         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
98205         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
98206
98207 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
98208
98209         Improve fileutils installation on systems where running
98210         programs (like install) can't be unlinked.
98211         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
98212         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
98213
98214 2000-08-07  Paul Eggert  <eggert@twinsun.com>
98215
98216         Standardize on "memory exhausted" instead of "Memory exhausted"
98217         or "virtual memory exhausted".
98218         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
98219         "virtual memory exhausted".
98220         * lib/same.c (same_name): Invoke xalloc_die instead of printing
98221         our own message.
98222         * lib/userspec.c (parse_user_spec): Likewise.
98223         * lib/bumpalloc.h: comment fix
98224         * lib/same.c, userspec.c: Include xalloc.h.
98225
98226         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
98227         not char *const and pointing to a constant array.
98228         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
98229         (xrealloc): Comment fix.
98230
98231         * lib/userspec.c (parse_user_spec):
98232         Don't translate a message until just before returning,
98233         to avoid unnecessary translation.
98234
98235 2000-08-07  Jim Meyering  <meyering@lucent.com>
98236
98237         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
98238         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
98239         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
98240         getgroups.c, gethostname.c, getopt.h, group-member.c,
98241         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
98242         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
98243         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
98244         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
98245         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
98246         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
98247         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
98248         yesno.c: Back out Copyright date changes for each file with no change
98249         this year.  This eases coordination with other programs using the same
98250         source code modules.  From Paul Eggert.
98251
98252 2000-08-06  Paul Eggert  <eggert@twinsun.com>
98253
98254         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
98255         not char, for compatibility with glibc 2.1.3 strftime.c.
98256
98257 2000-08-03  Greg McGary  <greg@mcgary.org>
98258
98259         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
98260         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
98261         (EXTEND_BUFFER): Use them.
98262
98263 2000-08-01  Jim Meyering  <meyering@lucent.com>
98264
98265         * lib/dirname.c (ISSLASH): Define.
98266         (BACKSLASH_IS_PATH_SEPARATOR): Define.
98267         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
98268         both `\' and `/' may be use as path separators.
98269         Based on a patch from Prashant TR.
98270
98271 2000-07-31  Paul Eggert  <eggert@twinsun.com>
98272
98273         * lib/quotearg.c (quotearg_n_options): Don't make the initial
98274         slot vector a constant, since it might get modified.
98275
98276 2000-07-31  Jim Meyering  <meyering@lucent.com>
98277
98278         * lib/xmalloc.c: Use `virtual memory exhausted', not
98279         `Memory exhausted'.
98280         * lib/obstack.c (print_and_abort): Likewise.
98281
98282 2000-07-30  Paul Eggert  <eggert@twinsun.com>
98283
98284         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
98285         buffer, so that the caller can always quote one small
98286         component of a "memory exhausted" message in slot 0.
98287         From a suggestion by Jim Meyering.
98288
98289 2000-07-30  Jim Meyering  <meyering@lucent.com>
98290
98291         * lib/makepath.c (make_path): Quote the other instance, too.
98292
98293         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
98294         (STATIC_BUF_SIZE): Define.
98295         (quotearg_n_options): Use only statically allocated storage when
98296         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
98297         than STATIC_BUF_SIZE.
98298
98299 2000-07-29  Jim Meyering  <meyering@lucent.com>
98300
98301         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
98302         * lib/dirname.c (dir_name): Likewise.
98303
98304         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
98305         `/'.
98306
98307         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
98308         (dir_name): Assert that there are no trailing slashes.
98309
98310 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
98311
98312         * lib/mbswidth.h (mbswidth): Add a flags argument.
98313         (mbswidth): New declaration.
98314         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
98315         * lib/mbswidth.c (mbswidth): Add a flags argument.
98316         (mbsnwidth): New function.
98317
98318 2000-07-24  Jim Meyering  <meyering@lucent.com>
98319
98320         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
98321
98322 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98323
98324         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
98325
98326 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98327
98328         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
98329         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
98330         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
98331         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
98332         invoke multibyte primitives.
98333
98334 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98335
98336         * lib/quotearg.c:
98337         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
98338         so that mbstate_t is always defined.
98339
98340         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
98341         be 1 in at least one GCC installation, and this configuration
98342         error is likely to be common.  Ignoring MB_LEN_MAX hurts
98343         performance on hosts that have mbrtowc but have only unibyte
98344         locales, but I assume these hosts are rare.
98345
98346 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98347
98348         * lib/mbswidth.c (_XOPEN_SOURCE):
98349         Don't define; this causes problems on Solaris 7.
98350         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
98351
98352 2000-07-23  Jim Meyering  <meyering@lucent.com>
98353
98354         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
98355         too: getgrgid, getpwuid, getuid.
98356
98357 2000-07-23  Jim Meyering  <meyering@lucent.com>
98358
98359         * lib/basename.c (base_name): Add an assertion.
98360
98361 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
98362
98363         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
98364         shadow its mbsinit function.
98365
98366 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98367
98368         * lib/mbswidth.h: New file.
98369         * lib/mbswidth.c: New file.
98370         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
98371         (noinst_HEADERS): Add mbswidth.h.
98372
98373 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98374
98375         * lib/config.charset: Add support for FreeBSD. Improve support for
98376         HP-UX and IRIX 6.
98377
98378 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
98379
98380         * m4/mbswidth.m4: New file.
98381         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
98382
98383 2000-07-15  Jim Meyering  <meyering@lucent.com>
98384
98385         * lib/makepath.c: Include quote.h.
98386         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
98387         corresponding argument in a `quote (...)' call.
98388         Give better diagnostics.
98389
98390         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
98391         (noinst_HEADERS): Add quote.h.
98392
98393         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
98394         from tar's src/misc.c.
98395         * lib/quote.h: New file.  Prototypes for same.
98396
98397 2000-07-14  Paul Eggert  <eggert@twinsun.com>
98398
98399         From a suggestion by Bruno Haible.
98400         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
98401         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
98402         to decide whether to define the BeOS workaround macro;
98403         this adjusts to the change to AC_MBSTATE_T.
98404
98405 2000-07-14  Jim Meyering  <meyering@lucent.com>
98406
98407         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
98408         jm_AC_TYPE_UINTMAX_T.
98409
98410 2000-07-13  Paul Eggert  <eggert@twinsun.com>
98411
98412         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
98413
98414         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
98415         quotearg_buffer_restyled): Add support for
98416         clocale_quoting_style.  Undo previous change to
98417         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
98418         and "{RIGHT QUOTATION MARK}" msgids.
98419
98420 2000-07-10  Paul Eggert  <eggert@twinsun.com>
98421
98422         From a suggestion by Bruno Haible.
98423         * m4/mbstate_t.m4 (AC_MBSTATE_T):
98424         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
98425         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
98426         and mbstate_t, to a single-part test that simply defines mbstate_t.
98427         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
98428         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
98429
98430 2000-07-10  Jim Meyering  <meyering@lucent.com>
98431
98432         * m4/strerror_r.m4: Mirror the correction made in autoconf.
98433
98434         * m4/gnu-source.m4: Output to confdefs.h directly.
98435         Suggestion from Akim Demaille.
98436
98437 2000-07-09  Paul Eggert  <eggert@twinsun.com>
98438
98439         The old behavior of quoting `like this' doesn't look good with
98440         newer, ISO-style fonts.  See:
98441         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
98442
98443         Instead, quote "like this" by default.  Let the translator
98444         tailor the locale-specific quoting behavior by providing
98445         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
98446
98447         * lib/quotearg.c (N_): New macro.
98448         (gettext_default): New function.
98449         (quotearg_buffer_restyled): Use
98450         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
98451         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
98452
98453 2000-07-09  Jim Meyering  <meyering@lucent.com>
98454
98455         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98456         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98457
98458         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98459         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98460
98461 2000-07-09  Jim Meyering  <meyering@lucent.com>
98462
98463         * lib/Most files: Update copyright dates to include 2000.
98464
98465 2000-07-08  Jim Meyering  <meyering@lucent.com>
98466
98467         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98468         if not defined.
98469         (xgethostname): Remove now-unnecessary #ifdef.
98470         Move declaration of `err' into loop where it's used.
98471
98472 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98473         and Bruno Haible  <haible@clisp.cons.org>
98474
98475         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98476         only if the test for an object-type mbstate_t fails.  This
98477         prevents us from mistakenly reporting that mbstate_t is a
98478         system object type after we "#define mbstate_t int" to work
98479         around its lack.
98480
98481 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98482         and Bruno Haible  <haible@clisp.cons.org>
98483
98484         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98485
98486 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98487
98488         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98489         to strerror_r.
98490         Include <ctype.h> for use of isalpha.
98491
98492 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98493
98494         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98495         by allocating a larger buffer. Test the gethostname return value for
98496         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98497         returns an error and ENAMETOOLONG isn't defined.
98498
98499 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98500
98501         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98502         dimension.
98503
98504 2000-07-04  Jim Meyering  <meyering@lucent.com>
98505
98506         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98507         of the deprecated AC_CHECKING.
98508
98509 2000-07-04  Jim Meyering  <meyering@lucent.com>
98510
98511         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98512         Reported by Bruno Haible.
98513
98514 2000-07-04  Jim Meyering  <meyering@lucent.com>
98515
98516         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98517         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98518         lacks mbrtowc.
98519
98520 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98521
98522         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98523         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98524
98525 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98526         and Bruno Haible  <haible@clisp.cons.org>
98527
98528         * lib/quotearg.c (mbrtowc):
98529         Assign to *pwc, and return 1 only if result is nonzero.
98530         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98531
98532 2000-07-03  Jim Meyering  <meyering@lucent.com>
98533
98534         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98535
98536 2000-07-03  Jim Meyering  <meyering@lucent.com>
98537
98538         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98539         This is necessary to get a definition of e.g., UTMP_FILE on
98540         HP-UX 10.20.
98541         From Bob Proulx.
98542
98543 2000-07-02  Jim Meyering  <meyering@lucent.com>
98544
98545         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98546
98547         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98548         AC_LIBOBJ(function_name).
98549         * m4/chown.m4: Likewise.
98550         * m4/fnmatch.m4: Likewise.
98551         * m4/ftruncate.m4: Likewise.
98552         * m4/getgroups.m4: Likewise.
98553         * m4/getline.m4: Likewise.
98554         * m4/group-member.m4: Likewise.
98555         * m4/jm-macros.m4: Likewise.
98556         * m4/lstat.m4: Likewise.
98557         * m4/malloc.m4: Likewise.
98558         * m4/memcmp.m4: Likewise.
98559         * m4/nanosleep.m4: Likewise.
98560         * m4/putenv.m4: Likewise.
98561         * m4/realloc.m4: Likewise.
98562         * m4/regex.m4: Likewise.
98563         * m4/stat.m4: Likewise.
98564         * m4/strftime.m4: Likewise.
98565
98566 2000-07-02  Jim Meyering  <meyering@lucent.com>
98567
98568         * lib/quotearg.c (mbstate_t): Don't define here.
98569
98570 2000-07-02  Jim Meyering  <meyering@lucent.com>
98571
98572         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98573
98574 2000-07-01  Jim Meyering  <meyering@lucent.com>
98575
98576         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98577
98578 2000-07-01  Jim Meyering  <meyering@lucent.com>
98579
98580         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98581         problem.
98582
98583 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98584
98585         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98586         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98587
98588 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98589
98590         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98591         per change in ../m4/ls-mntd-fs.m4.
98592         (read_filesystem_list): Ignore symbolic links.
98593
98594 2000-06-29  Jim Meyering  <meyering@lucent.com>
98595
98596         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98597         for declaration of strcmp.
98598
98599         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98600
98601         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98602         Avoid warning by casting result to `char *' to remove `const'.
98603
98604 2000-06-28  Jim Meyering  <meyering@lucent.com>
98605
98606         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98607         included by quotearg.c, for which we perform this test.  From
98608         Bruno Haible.
98609
98610 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98611
98612         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98613         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98614         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98615
98616 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98617
98618         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98619
98620 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98621
98622         savedir now sets errno on failure and invokes xmalloc to get memory.
98623         Fix a couple of other minor bugs while we're at it.
98624
98625         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98626         (NAMLEN): Remove macro.
98627         (malloc, realloc): Remove decls.
98628         (stpcpy): Likewise.
98629         ("xalloc.h"): Include.
98630         (NAME_SIZE_DEFAULT): New macro.
98631         (savedir): Use xmalloc / xrealloc to allocate memory.
98632         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98633         Skip "" directory entries.
98634         Use strlen to calculate directory entry length, since the old method
98635         is rarely used these days and isn't worth supporting.
98636         Don't use a pointer after freeing it.
98637         Check for integer overflow when calculating allocation size.
98638         Use memcpy to copy entries, instead of stpcpy.
98639         Set errno properly when returning NULL.
98640         Check for readdir error.
98641
98642 2000-06-26  Jim Meyering  <meyering@lucent.com>
98643
98644         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98645
98646 2000-06-25  Jim Meyering  <meyering@lucent.com>
98647
98648         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98649         Linux header bug when _XOPEN_SOURCE is defined to 500.
98650
98651 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98652
98653         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98654         deficiency.
98655
98656 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98657
98658         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98659         Include xalloc.h.
98660         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98661
98662 2000-06-24  Jim Meyering  <meyering@lucent.com>
98663
98664         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98665         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98666         for which strerror does return char*, but which lacks a conveniently
98667         accessible declaration of the function.  If the compile-test says
98668         strerror_r doesn't work, then resort to a `run'-test that works on
98669         BeOS and segfaults on DEC Unix.
98670
98671 2000-06-24  Jim Meyering  <meyering@lucent.com>
98672
98673         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98674
98675 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98676
98677         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98678         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98679
98680 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98681
98682         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98683         (mbrtowc, mbstate_t): Define substitutes if
98684         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98685         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98686         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98687
98688 2000-06-23  Jim Meyering  <meyering@lucent.com>
98689
98690         * m4/afs.m4: Add missing AC_MSG_RESULT.
98691         Reported by Bruno Haible.
98692
98693         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98694         Suggestion from Bruno Haible.
98695
98696 2000-06-23  Jim Meyering  <meyering@lucent.com>
98697
98698         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98699
98700 2000-06-21  Jim Meyering  <meyering@lucent.com>
98701
98702         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98703
98704 2000-06-21  Jim Meyering  <meyering@lucent.com>
98705
98706         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98707         (noinst_HEADERS): Add getstr.h.
98708
98709         * lib/getline.c (getstr): Move into a separate file.
98710         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98711         the following changes: new parameter, delim2; both delim[12]
98712         parameters have type `int', not `char'.  The latter would lose
98713         with 8-bit delimiters.
98714         * lib/getstr.h: New file.
98715
98716 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98717
98718         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98719         than 1024, return a memory chunk of least possible size, instead
98720         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98721         Use free/xmalloc instead of xrealloc to avoid copying for very long
98722         paths.
98723
98724 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98725
98726         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98727         the empty string.
98728
98729 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98730
98731         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98732         address, not strdup.  Include <stdlib.h> and don't declare free().
98733
98734 2000-06-19  Jim Meyering  <meyering@lucent.com>
98735
98736         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98737
98738 2000-06-18  Jim Meyering  <meyering@lucent.com>
98739
98740         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98741
98742         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98743         `checking whether...' message to be consistent with that of the
98744         lstat test.
98745
98746 2000-06-18  Jim Meyering  <meyering@lucent.com>
98747
98748         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98749         Besides, these days every porting target provides a mkdir function.
98750
98751         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98752         needed. (this snippet comes from src/system.h).
98753
98754 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98755
98756         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98757
98758 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98759
98760         * lib/human.c (adjust_value): New function.
98761         (human_readable_inexact): Apply rounding style even when
98762         printing approximate values.
98763
98764 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98765
98766         * lib/human.c (human_readable_inexact): Allow an input block
98767         size that is not a multiple of the output block size, and vice versa.
98768         Reported by Piergiorgio Sartor.
98769
98770 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98771
98772         * lib/getdate.y (get_date): Apply relative times after time
98773         zone indicator, not before.  Reported by Todd A. Jacobs.
98774
98775 2000-06-13  Jim Meyering  <meyering@lucent.com>
98776
98777         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98778
98779         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98780
98781 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98782
98783         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98784
98785 2000-06-12  Jim Meyering  <meyering@lucent.com>
98786
98787         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98788         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98789         optional argument.
98790         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98791         the optional argument, `lib'.
98792
98793 2000-06-08  Jim Meyering  <meyering@lucent.com>
98794
98795         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98796
98797 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98798
98799         Rewrite largefile configuration so that we don't need to run
98800         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98801         AC_CANONICAL_HOST in configure.in -- jmm]
98802
98803         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98804         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98805         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98806         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98807         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98808         All uses changed.
98809         Instead of inspecting the output of getconf, try to compile the
98810         test program without and with the macro definition.
98811         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98812         for getconf.  Instead, check for the needed flags by compiling
98813         test programs.
98814
98815 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98816
98817         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98818
98819 2000-06-04  Jim Meyering  <meyering@lucent.com>
98820
98821         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98822         SunOS 4.1.4 for which gid_t is an unsigned type.
98823
98824 2000-06-03  Jim Meyering  <meyering@lucent.com>
98825
98826         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98827         now that autoconf requires that.
98828
98829         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98830         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98831         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98832
98833 2000-06-03  Jim Meyering  <meyering@lucent.com>
98834
98835         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98836
98837 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98838
98839         * m4/glibc21.m4: New file.
98840         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98841
98842 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98843
98844         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98845         newer, don't install charset.alias.
98846         * lib/config.charset: Change the Linux/glibc rules so they become empty
98847         on glibc-2.1 or newer.
98848
98849 2000-06-02  Jim Meyering  <meyering@lucent.com>
98850
98851         * lib/mountlist.c: Back out last change.  Instead, do this...
98852         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98853         me_dummy member using the same `ignore'-testing code.
98854         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98855         fs_type strings.
98856         From Mark D. Roth.
98857
98858 2000-05-29  Jim Meyering  <meyering@lucent.com>
98859
98860         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98861         mounts with the `ignore' attribute.  Based on a patch from
98862         Mark D. Roth.
98863
98864 2000-05-28  Jim Meyering  <meyering@lucent.com>
98865
98866         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98867         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98868         * m4/stat.m4: Likewise.
98869         * m4/lstat.m4: Likewise.
98870         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98871
98872         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98873         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98874
98875 2000-05-26  Jim Meyering  <meyering@lucent.com>
98876
98877         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98878
98879 2000-05-24  Jim Meyering  <meyering@lucent.com>
98880
98881         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98882         autoconf requires that.
98883         * m4/lib-check.m4: Likewise.
98884         * m4/jm-macros.m4: Likewise.
98885         * m4/strftime.m4: Likewise.
98886
98887         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98888         AC_CHECK_DECLS, now that autoconf requires that.
98889
98890 2000-05-22  Jim Meyering  <meyering@lucent.com>
98891
98892         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98893         * m4/lstat.m4: Likewise.
98894
98895 2000-05-22  Jim Meyering  <meyering@lucent.com>
98896
98897         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98898
98899 2000-05-20  Jim Meyering  <meyering@lucent.com>
98900
98901         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98902         (jm_PREREQ): Use it.
98903
98904 2000-05-18  Jim Meyering  <meyering@lucent.com>
98905
98906         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98907         back, too, since it may have been modified by allocate_entry.
98908         (hash_delete): Rewrite to use neither the assignment operator
98909         nor the comma operator in an if-expression.
98910
98911 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98912
98913         * lib/closeout.c:
98914         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98915         Remove; no longer needed.
98916         "quotearg.h": Add include.
98917         (file_name): Do not bother to explicitly initialize to NULL; it's less
98918         efficient on some hosts.
98919         (close_stdout_status): Remove test as to whether stdout was already
98920         closed; it breaks for the case "echo x | sort >&-".
98921         Quote file name colons.
98922         Do not assume that _("write error") lacks format strings.
98923
98924 2000-05-15  Jim Meyering  <meyering@lucent.com>
98925
98926         * lib/version-etc.c (version_etc_copyright): Update the copyright
98927         string used in all --version output.
98928
98929 2000-05-14  Jim Meyering  <meyering@lucent.com>
98930
98931         * lib/closeout.c (close_stdout_set_file_name): New function.
98932         (close_stdout_status): Use new file-scoped global.
98933         Return right away if fstat says the stdout file descriptor is invalid.
98934         * lib/closeout.h (close_stdout_set_file_name): Declare.
98935
98936 2000-05-10  Jim Meyering  <meyering@lucent.com>
98937
98938         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98939         (close_stdout_set_status): New function.
98940         * lib/closeout.h (close_stdout_set_status): Declare.
98941
98942 2000-05-09  Jim Meyering  <meyering@lucent.com>
98943
98944         * m4/gettext.m4: Rename this...
98945         * m4/libintl.m4: ...to this.
98946
98947 2000-05-08  Jim Meyering  <meyering@lucent.com>
98948
98949         * lib/long-options.c: Don't include closeout.h.
98950         (parse_long_options): Don't call close_stdout for --version.
98951
98952 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98953
98954         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98955         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98956         2.1.3 bug.  This avoids a clash when files like regex.c define
98957         _GNU_SOURCE.
98958
98959 2000-05-06  Jim Meyering  <meyering@lucent.com>
98960
98961         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98962         (AC_REPLACE_FUNCS): Add strnlen.
98963
98964         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98965         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98966
98967         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98968         AC_SEARCH_LIBS call for nanosleep.
98969         (LIB_NANOSLEEP): Set and AC_SUBST.
98970
98971 2000-05-06  Jim Meyering  <meyering@lucent.com>
98972
98973         * lib/strnlen.c: Undefine __strnlen and strnlen.
98974         [!weak_alias]: Define __strnlen to strnlen.
98975
98976         * lib/atexit.c: New file, from libiberty.
98977
98978 2000-05-06  Jim Meyering  <meyering@lucent.com>
98979
98980         * lib/closeout.c (close_stdout_status): Also check for errors on the
98981         stderr stream.
98982
98983 2000-05-05  Jim Meyering  <meyering@lucent.com>
98984
98985         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98986         AC_SEARCH_LIBS call for clock_gettime.
98987         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98988
98989         * m4/search-libs.m4: Update from autoconf.
98990
98991         su doesn't work on Solaris 2.6.
98992         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98993         <shadow.h>.  Reported by Dragos Harabor.
98994
98995 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98996
98997         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98998         memcpy instead of xmalloc, xrealloc, path_concat.
98999         (locale_charset): Treat empty environment variables as absent.
99000         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
99001
99002 2000-05-04  Jim Meyering  <meyering@lucent.com>
99003
99004         * lib/getopt.c: Update from glibc.
99005         * lib/obstack.c: Likewise.
99006         * lib/obstack.h: Likewise.
99007         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
99008         file
99009
99010         * lib/regex.h: Likewise.
99011         * lib/strndup.c: Likewise.
99012         * lib/strnlen.c: New file, from glibc.
99013
99014 2000-05-03  Jim Meyering  <meyering@lucent.com>
99015
99016         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
99017
99018 2000-05-02  Paul Eggert  <eggert@twinsun.com>
99019
99020         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
99021         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
99022         compile-time test, rather than inspecting host and OS, to
99023         decide whether to define _LARGEFILE_SOURCE.
99024
99025 2000-05-01  Jim Meyering  <meyering@lucent.com>
99026
99027         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
99028
99029         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
99030         Based on a patch from Bruno Haible.
99031
99032 2000-05-01  Jim Meyering  <meyering@lucent.com>
99033
99034         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
99035
99036 2000-04-29  Jim Meyering  <meyering@lucent.com>
99037
99038         * lib/path-concat.c: Declare strdup only if it's not defined.
99039         * lib/canon-host.c: Likewise.
99040
99041 2000-04-28  Jim Meyering  <meyering@lucent.com>
99042
99043         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
99044         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
99045         is included first, then limits.h is included by locale.h by libintl.h.
99046         From John David Anglin.
99047
99048 2000-04-25  Jim Meyering  <meyering@lucent.com>
99049
99050         * lib/makepath.c (S_IRWXUGO): Define.
99051         (make_path): Always perform explicit chmod if MODE specifies any
99052         of the `special' permission bits.  Prompted by a bug report against
99053         install from Mate Wierdl and Joost van Baal.
99054
99055 2000-04-18  Jim Meyering  <meyering@lucent.com>
99056
99057         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
99058         (jm_PREREQ): Use it.
99059
99060 2000-04-18  Jim Meyering  <meyering@lucent.com>
99061
99062         * lib/README: New file.
99063
99064         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
99065         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
99066
99067 2000-04-17  Jim Meyering  <meyering@lucent.com>
99068
99069         Get it right :-)
99070         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
99071         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
99072         Suggestion from Akim Demaille.
99073
99074 2000-04-17  Jim Meyering  <meyering@lucent.com>
99075
99076         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
99077         the definition of it to rpl_strftime also defined-away the system's
99078         declaration.
99079
99080 2000-04-15  Jim Meyering  <meyering@lucent.com>
99081
99082         Use `C' to denote so-called `contiguous' files, the same way
99083         that tar does.
99084         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
99085         (ftypelet): Use S_ISCTG.
99086         From Michael Deutschmann.
99087
99088 2000-04-14  Jim Meyering  <meyering@lucent.com>
99089
99090         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
99091         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
99092         clobbered.
99093
99094 2000-04-14  Jim Meyering  <meyering@lucent.com>
99095
99096         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
99097
99098 2000-04-13  Jim Meyering  <meyering@lucent.com>
99099
99100         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
99101         AH_VERBATIM to insert required #ifndef into config.h.in.
99102         Suggestion from Akim Demaille.
99103
99104 2000-04-12  Jim Meyering  <meyering@lucent.com>
99105
99106         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
99107         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
99108         Christian Krackowizer.
99109
99110         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
99111         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
99112         (AC_SYS_LARGEFILE): Require.
99113         (AM_C_PROTOTYPES): Require.
99114
99115 2000-04-08  Jim Meyering  <meyering@lucent.com>
99116
99117         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
99118         names don't conflict.  Reported by Eli Zaretskii.
99119
99120 2000-04-07  Jim Meyering  <meyering@lucent.com>
99121
99122         * lib/putenv.c: Move inclusion of errno.h so it follows that of
99123         sys/types.h, to work around system header problems on AIX 3.2.5.
99124         From Bruno Haible.
99125
99126 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
99127
99128         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
99129         bug.  Deal with the different error behavior of Irix iconv.
99130
99131 2000-04-05  Paul Eggert  <eggert@twinsun.com>
99132
99133         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
99134         IRIX if the installer said otherwise.
99135
99136 2000-04-05  Jim Meyering  <meyering@lucent.com>
99137
99138         Portability tweaks required for ultrix4.3.
99139         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
99140         (jm_CHECK_DECLS): Add getutent to the list of functions.
99141         (_jm_DECL_HEADERS): Add utmpx.h.
99142         From John David Anglin.
99143
99144         * m4/strftime.m4: Back out the 2000-04-02 change.
99145         Instead of that change, simply undefine putenv in the test program.
99146
99147 2000-04-05  Jim Meyering  <meyering@lucent.com>
99148
99149         Portability tweaks required for ultrix4.3.
99150         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
99151         getutent.
99152         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
99153         * lib/canon-host.c: Declare strdup.
99154         * lib/path-concat.c: Likewise.
99155         From John David Anglin.
99156
99157 2000-04-04  Jim Meyering  <meyering@lucent.com>
99158
99159         Be more DOS 8.3-friendly.
99160         * lib/ref-add.sin: Renamed from ref-add.sed.in.
99161         * lib/ref-del.sin: Renamed from ref-del.sed.in.
99162         * lib/Makefile.am: Reflect renaming.
99163         Reported by Eli Zaretskii.
99164
99165         Use a temporary file name that won't clash with `charset.alias'
99166         in the DOS 8.3 name space.
99167         * lib/Makefile.am (charset_tmp): Define.
99168         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
99169         (uninstall-local): Likewise.
99170         Reported by Eli Zaretskii.
99171
99172 2000-04-03  Jim Meyering  <meyering@lucent.com>
99173
99174         * m4/gettext.m4: Fix typo in comment.
99175
99176         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
99177         textutils/configure.in).  Suggestion from Paul Eggert.
99178         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
99179
99180 2000-04-02  Paul Eggert  <eggert@twinsun.com>
99181
99182         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
99183         variable in the shell rather than using putenv, which isn't
99184         portable.  This avoids the configure-time inter-test dependency
99185         on the potentially-renamed putenv function.
99186
99187 2000-03-30  Paul Eggert  <eggert@twinsun.com>
99188
99189         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
99190         before checking struct stat.st_blksize, so that
99191         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
99192
99193 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99194
99195         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
99196         since strftime.c uses HAVE_STRFTIME to decide whether to use
99197         the underlying strftime.
99198
99199 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99200
99201         * lib/time/strftime.c (my_strftime): Make sure we call the system
99202         strftime, not ourselves, when invoking the underlying strftime.
99203
99204 2000-03-24  Jim Meyering  <meyering@lucent.com>
99205
99206         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
99207         (charset_alias): Define.
99208         (install-exec-local): Factor out common code.
99209         (uninstall-local): Split lines longer than 80.
99210         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
99211         (SUFFIXES): Define.
99212         (.sed.in.sed): New rule.  Don't redirect directly to $@.
99213         (CLEANFILES): Add ref-add.sed and ref-del.sed.
99214
99215 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
99216
99217         * lib/config.charset: Output a line containing "Packages using this
99218         file".
99219         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
99220         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
99221         ref-del.sed): New rules.
99222
99223 2000-03-17  Jim Meyering  <meyering@lucent.com>
99224
99225         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
99226         Otherwise, include <strings.h>
99227
99228 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
99229
99230         * lib/unicodeio.c (utf8_wctomb): New function.
99231         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
99232         format instead of in UCS-4 with platform dependent endianness.
99233
99234 2000-03-10  Jim Meyering  <meyering@lucent.com>
99235
99236         * m4/lib-check.m4: Look for getspnam in -lgen, too.
99237         From Marco Franzen.
99238
99239 2000-03-07  Paul Eggert  <eggert@twinsun.com>
99240
99241         * lib/savedir.c (savedir): Work even if directory size is
99242         negative; this can happen with some screwy NFS configurations.
99243
99244 2000-03-06  Jim Meyering  <meyering@lucent.com>
99245
99246         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
99247         if it's NULL (because we ran out of memory).  From Bruno Haible.
99248
99249 2000-03-05  Jim Meyering  <meyering@lucent.com>
99250
99251         * lib/localcharset.c ("path-concat.h"): Include.
99252         (get_charset_aliases): Use path_concat instead of ANSI string
99253         concatenation.
99254
99255         * lib/unicodeio.h (PARAMS): Define.
99256         Use it to guard prototype.
99257
99258 2000-03-04  Jim Meyering  <meyering@lucent.com>
99259
99260         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
99261         for lib/localcharset.c.
99262
99263 2000-03-04  Jim Meyering  <meyering@lucent.com>
99264
99265         * lib/Makefile.am (install-exec-local): Create $(libdir) before
99266         installing into it.
99267         (uninstall-local): Uncomment this rule so `make distcheck' works
99268         once again.
99269
99270         * lib/unicodeio.c (<errno.h>): Include it.
99271         (errno): Declare if not defined.
99272
99273         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
99274
99275         * lib/config.charset: New version, incorporating remarks from a linux
99276         i18n mailing list.  From Bruno Haible.
99277
99278 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
99279
99280         * m4/codeset.m4: New file.
99281         * m4/iconv.m4: New file.
99282         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
99283
99284 2000-03-03  Jim Meyering  <meyering@lucent.com>
99285
99286         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
99287
99288 2000-03-02  Jim Meyering  <meyering@lucent.com>
99289
99290         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
99291         the messages come out on separate lines.
99292
99293         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
99294         rather than jm_CHECK_DECLARATIONS.
99295         * m4/decl.m4: Remove now-unused file.
99296
99297         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
99298         geteuid.
99299
99300 2000-03-02  Jim Meyering  <meyering@lucent.com>
99301
99302         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
99303
99304 2000-03-01  Jim Meyering  <meyering@lucent.com>
99305
99306         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
99307         * lib/unicodeio.c: Likewise.
99308
99309 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
99310
99311         * lib/config.charset: New file.
99312         * lib/localcharset.c: New file.
99313         * lib/unicodeio.h, lib/unicodeio.c: New files.
99314         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
99315         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
99316         (noinst_HEADERS): Add unicodeio.h.
99317         (all-local, install-exec-local, charset.alias): New targets.
99318
99319 2000-02-28  Paul Eggert  <eggert@twinsun.com>
99320
99321         * lib/quotearg.c (ALERT_CHAR): New macro.
99322         (quotearg_buffer_restyled): Use it.
99323
99324 2000-02-27  Jim Meyering  <meyering@lucent.com>
99325
99326         * m4/check-decl.m4: Add getenv to the list.
99327
99328 2000-02-27  Jim Meyering  <meyering@lucent.com>
99329
99330         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
99331         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
99332
99333         * lib/backupfile.c: Guard inclusion of stdlib.h with
99334         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
99335         Declare malloc if needed.
99336
99337         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
99338         `#ifndef HAVE_DECL..'
99339         now that autoconf always defines the HAVE_DECL_ symbols.
99340         * lib/human.c: Likewise.
99341         * lib/same.c: Likewise.
99342         * lib/strtoumax.c: Likewise.
99343
99344         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
99345         declaration check was not run.
99346         * lib/hash.c: Likewise.
99347         * lib/human.c: Likewise.
99348         * lib/same.c: Likewise.
99349         * lib/strtoumax.c: Likewise.
99350
99351         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
99352         `.', then first look up the entire `.'-containing string as a login
99353         name.
99354
99355 2000-02-23  Jim Meyering  <meyering@lucent.com>
99356
99357         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
99358         in place of my hack.
99359
99360 2000-02-18  Paul Eggert  <eggert@twinsun.com>
99361
99362         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
99363         (textint): New typedef.
99364         (parser_control): Member year changed from int to textint.
99365         All uses changed.
99366         (YYSTYPE): Removed; replaced by %union with int and textint members.
99367         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
99368         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
99369         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
99370         (tSNUMBER, tUNUMBER): Now of type <textintval>.
99371         (date, number, to_year): Use width of number in digits, not its value,
99372         to determine whether it's a 2-digit year, or a 2-digit time.
99373         (yylex): Store number of digits of numeric tokens.
99374         Reported by John Kendall.
99375
99376         (parser_control): Changed from struct parser_control to typedef (for
99377         consistency).  All uses changed.
99378
99379         (tID): Removed; not used.
99380         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
99381
99382 2000-02-14  Paul Eggert  <eggert@twinsun.com>
99383
99384         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
99385         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
99386
99387 2000-02-12  Jim Meyering  <meyering@lucent.com>
99388
99389         * lib/userspec.c (ISDIGIT): Define it.
99390         (isdigit): Remove definition.
99391         (is_number): Use ISDIGIT, not isdigit.
99392         <libintl.h>: Include.
99393         (_ and N_): Define.
99394         (parse_user_spec): Mark translatable strings.
99395
99396 2000-02-10  Jim Meyering  <meyering@lucent.com>
99397
99398         With these changes, nanosleep.[ch] are finally enough like the other
99399         lib/* replacement files to compile on a few more losing systems.
99400
99401         * lib/nanosleep.h: Don't include config.h.
99402         Remove prototype from declaration of nanosleep.
99403         (PARAMS): Remove now-unneeded definition.
99404         * lib/nanosleep.c: #undef nanosleep.
99405         (rpl_nanosleep): Rename from nanosleep.
99406
99407 2000-02-10  Jim Meyering  <meyering@lucent.com>
99408
99409         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
99410         gnu_nanosleep to rpl_nanosleep.
99411
99412 2000-02-09  Jim Meyering  <meyering@lucent.com>
99413
99414         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
99415         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
99416
99417 2000-02-08  Akim Demaille  <akim@epita.fr>
99418
99419         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
99420         `[' and `]' and remove uses of `changequote'.
99421         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
99422         (AC_SYS_LARGEFILE): Likewise.
99423         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
99424         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
99425         of changequote.
99426         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
99427         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
99428         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
99429         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
99430
99431 2000-02-05  Jim Meyering  <meyering@lucent.com>
99432
99433         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
99434         Remove explicit use of AC_HEADER_TIME.  It is required by
99435         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
99436         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
99437         in autoconf whereby the expansion of the latter ended up preceding
99438         the expansion of its prerequisite, AC_HEADER_TIME.
99439         Reported by Volker Borchert.
99440
99441 2000-02-03  Jim Meyering  <meyering@lucent.com>
99442
99443         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
99444
99445 2000-02-03  Jim Meyering  <meyering@lucent.com>
99446
99447         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
99448         rather than with `#if HAVE_UTMPNAME'.
99449
99450 2000-02-02  Jim Meyering  <meyering@lucent.com>
99451
99452         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
99453         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
99454         Reported by Eli Zaretskii.
99455
99456 2000-02-01  Jim Meyering  <meyering@lucent.com>
99457
99458         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99459
99460 2000-01-31  Jim Meyering  <meyering@lucent.com>
99461
99462         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99463         functions.  Add the time.h and sys/time.h headers along with the
99464         AC_REQUIRE'ment of AC_HEADER_TIME.
99465
99466 2000-01-31  Jim Meyering  <meyering@lucent.com>
99467
99468         * lib/nanosleep.h (nanosleep): Guard declaration with
99469         `#if ! HAVE_DECL_NANOSLEEP'.
99470         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99471         the declaration in that vendor's sys/timers.h.
99472         Reported by Christian Krackowizer.
99473
99474         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99475         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99476         (ISPRINT): Likewise.
99477         Reported by Tom Tromey.
99478
99479 2000-01-30  Jim Meyering  <meyering@lucent.com>
99480
99481         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99482
99483         * m4/prereq.m4 (utmp_includes): Define.
99484         Check for ut_user and ut_name members in both struct utmpx
99485         and struct utmp.
99486
99487 2000-01-30  Jim Meyering  <meyering@lucent.com>
99488
99489         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99490         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99491         header files where only utmpx.ut_user is declared.
99492
99493         * lib/readutmp.h (UT_USER): Define.
99494
99495 2000-01-29  Jim Meyering  <meyering@lucent.com>
99496
99497         * m4/lib-check.m4: New file containing library-related checks from
99498         fileutils and sh-utils (textutils had none).
99499
99500 2000-01-28  Jim Meyering  <meyering@lucent.com>
99501
99502         * m4/perl.m4: Change format of warning message to look more like that
99503         from the missing script.  Suggestion from François Pinard.
99504
99505 2000-01-25  Jim Meyering  <meyering@lucent.com>
99506
99507         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99508         well as time.h in the compile check.
99509         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99510         Fix typo in cross-compiling case: s/yes/no/.
99511
99512 2000-01-23  Jim Meyering  <meyering@lucent.com>
99513
99514         * m4/jm-macros.m4: Move df-related tests here from
99515         fileutils/configure.in
99516
99517         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99518         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99519
99520         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99521         s/space/ac_fsusage_space/.
99522         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99523
99524         * m4/ftruncate.m4: New file (derived from part of
99525         fileutils/configure.in).
99526         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99527         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99528
99529         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99530         AC_SUBST these here, rather than just in sh-util/configure.in, so
99531         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99532         all the same.
99533         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99534         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99535         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99536         (AC_SUBST(POW_LIBM)): Likewise.
99537         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99538
99539 2000-01-23  Jim Meyering  <meyering@lucent.com>
99540
99541         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99542         obstack.c.
99543
99544 2000-01-22  Jim Meyering  <meyering@lucent.com>
99545
99546         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99547
99548         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99549
99550         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99551         configure.in
99552         (AC_CHECK_HEADERS): Likewise for sh-utils.
99553         (AC_CHECK_HEADERS): Likewise for textutils.
99554         Merge the three lists of headers.
99555
99556         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99557         from fileutils' configure.in.
99558
99559         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99560         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99561         check-decl.m4.
99562
99563         * m4/check-decl.m4: Use #if rather than #ifdef.
99564         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99565         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99566         (_jm_DECL_HEADERS): Define new function.
99567         (jm_CHECK_DECLARATIONS): Require it.
99568
99569 2000-01-22  Jim Meyering  <meyering@lucent.com>
99570
99571         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99572         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99573         Required for some AIX systems.  Reported by Christian Krackowizer.
99574         [TESTING] (main): New function.
99575
99576         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99577         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99578         letters.
99579
99580         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99581         iswprint.
99582
99583         * lib/strverscmp.c (ISDIGIT): Define.
99584         (strverscmp): Use ISDIGIT, not isdigit.
99585
99586 2000-01-19  Jim Meyering  <meyering@lucent.com>
99587
99588         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99589         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99590         defines `struct timespec' in <sys/time.h>
99591
99592         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99593         Thanks to Akim for explaining.
99594
99595 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99596
99597         * lib/nanosleep.c (nanosleep):
99598         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99599         POSIX.1 doesn't require SA_INTERRUPT and some systems
99600         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99601         it's been part of POSIX.1 since day 1 (in 1988).
99602
99603 2000-01-17  Jim Meyering  <meyering@lucent.com>
99604
99605         * lib/interlock: Remove unused file.  Reported by François Pinard.
99606
99607 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99608
99609         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99610         alert, backslash, formfeed, and vertical tab unnecessarily in
99611         shell quoting style.
99612
99613 2000-01-16  Jim Meyering  <meyering@lucent.com>
99614
99615         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99616         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99617         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99618         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99619
99620 2000-01-16  Jim Meyering  <meyering@lucent.com>
99621
99622         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99623         because the latter didn't work.
99624
99625 2000-01-15  Jim Meyering  <meyering@lucent.com>
99626
99627         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99628         (AC_REPLACE_FUNCS): Add memcpy and memset.
99629         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99630         Add strpbrk.
99631         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99632
99633 2000-01-12  Jim Meyering  <meyering@lucent.com>
99634
99635         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99636         (jm_PREREQ): Use it.
99637         (jm_PREREQ_READUTMP): New macro.
99638         (jm_PREREQ): Use it.
99639
99640 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99641
99642         Quote multibyte characters correctly.
99643         * m4/c-bs-a.m4: New file.
99644         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99645         (jm_PREREQ): Use it.
99646
99647 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99648
99649         * m4/uintmax_t.m4: Port to autoconf 2.13.
99650
99651 2000-01-08  Jim Meyering  <meyering@ascend.com>
99652
99653         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99654         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99655
99656 2000-01-04  Jim Meyering  <meyering@ascend.com>
99657
99658         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99659         jm_STRUCT_DIRENT_D_TYPE.
99660         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99661         jm_STRUCT_DIRENT_D_INO.
99662         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99663         jm_STRUCT_UTIMBUF.
99664         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99665         renamings.
99666         * m4/utime.m4: Likewise.
99667
99668         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99669         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99670
99671 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99672
99673         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99674         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99675
99676 2000-01-02  Jim Meyering  <meyering@ascend.com>
99677
99678         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99679         remember if this is necessary.
99680
99681 1999-12-26  Jim Meyering  <meyering@ascend.com>
99682
99683         * m4/jm-macros.m4: Use it here.
99684         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99685
99686 1999-12-23  Jim Meyering  <meyering@ascend.com>
99687
99688         * m4/jm-macros.m4: Check for clock_gettime (moved from
99689         fileutils/configure.in)
99690         Check for gettimeofday.
99691
99692 1999-12-20  Jim Meyering  <meyering@ascend.com>
99693
99694         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99695         autoconf-2.14a-1999-12-20.
99696
99697 1999-12-19  Jim Meyering  <meyering@ascend.com>
99698
99699         * m4/lstat-slash.m4: New file.
99700         * m4/jm-macros.m4: Use the new macro:
99701         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99702
99703 1999-12-07  Jim Meyering  <meyering@ascend.com>
99704
99705         * m4/perl.m4: Require that File::Compare be available, too.
99706         Too many systems seem to lack it.
99707
99708         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99709         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99710
99711 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99712
99713         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99714         problem with the QNX 4.25 shell, which doesn't propagate exit
99715         status of failed commands inside shell assignments.
99716
99717 1999-11-17  Jim Meyering  <meyering@ascend.com>
99718
99719         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99720
99721 1999-11-07  Jim Meyering  <meyering@ascend.com>
99722
99723         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99724
99725 1999-11-06  Jim Meyering  <meyering@ascend.com>
99726
99727         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99728         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99729
99730 1999-11-05  Jim Meyering  <meyering@ascend.com>
99731
99732         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99733         configure.in of textutils, fileutils, and sh-utils into this one
99734         (shared between those packages) file.
99735         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99736         AC_STRUCT_ST_BLKSIZE.
99737
99738 1999-11-03  Jim Meyering  <meyering@ascend.com>
99739
99740         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99741         of AC_CHECK_TYPE checks includes unistd.h.
99742         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99743         Suggestion from Akim Demaille.
99744
99745 1999-10-30  Jim Meyering  <meyering@ascend.com>
99746
99747         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99748         m4-quoted string.
99749         * m4/ls-mntd-fs.m4: Likewise.
99750         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99751         * m4/jm-winsz1.m4: Likewise.
99752
99753         * m4/const.m4: Remove file, since the fix made it into the experimental
99754         version of autoconf.
99755         * m4/mktime.m4: Likewise.
99756
99757         * m4/check-type.m4: Remove file, now that the latest version of
99758         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99759
99760         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99761         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99762         AC_CHECK_TYPE.
99763
99764 1999-10-04  Jim Meyering  <meyering@ascend.com>
99765
99766         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99767
99768 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99769
99770         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99771         2.95.1 bug with HP-UX 10.20.
99772
99773 1999-09-17  Jim Meyering  <meyering@ascend.com>
99774
99775         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99776         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99777         due to missing strdup (against sh-utils-2.0).
99778
99779 1999-08-29  Jim Meyering  <meyering@ascend.com>
99780
99781         * m4/jm-macros.m4: Require jm_BISON.
99782         * m4/bison.m4: New file.
99783
99784 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99785
99786         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99787         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99788
99789 1999-08-05  Jim Meyering  <meyering@ascend.com>
99790
99791         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99792         to avoid conflicts with `conftest' on 8+3 filesystems.
99793         Suggestion from Eli Zaretskii.
99794
99795 1999-08-04  Jim Meyering  <meyering@ascend.com>
99796
99797         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99798         fileutils and sh-utils (textutils's getline test was inadequate).
99799         (AM_FUNC_GETLINE): Run this test.
99800         (AC_CHECK_FUNCS): Check for getdelim.
99801         Reported by Bob Proulx.
99802
99803 1999-08-02  Jim Meyering  <meyering@ascend.com>
99804
99805         * m4/jm-macros.m4: Add a comment.
99806
99807 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99808
99809         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99810         <inttypes.h> defines strtoumax as a macro (and not as a
99811         function).
99812
99813 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99814
99815         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99816         that we can shift, multiply and divide unsigned long long
99817         values; Ultrix cc can't do it.
99818
99819 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99820
99821         * m4/mktime.m4: New file, which is a preview of what should appear
99822         in the next public autoconf release.
99823
99824 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99825
99826         * m4/lfs.m4: Remove this file.
99827         * m4/largefile.m4: New file.  It contains the old contents of
99828         lfs.m4, except that all names with prefix AC_LFS have been
99829         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99830         compatible with future autoconf versions.  Also, some minor m4
99831         quoting problems have been fixed.
99832
99833 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99834
99835         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99836         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99837         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99838         and simplify the shell code.
99839
99840 1999-08-01  Jim Meyering  <meyering@ascend.com>
99841
99842         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99843         m4.
99844
99845 1999-07-20  Jim Meyering  <meyering@ascend.com>
99846
99847         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99848
99849 1999-07-15  Jim Meyering  <meyering@ascend.com>
99850
99851         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99852
99853 1999-05-22  Jim Meyering  <meyering@ascend.com>
99854
99855         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99856
99857 1999-05-20  Jim Meyering  <meyering@ascend.com>
99858
99859         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99860         Add a colon after each `then' in case $4 is empty.
99861
99862 1999-05-16  Jim Meyering  <meyering@ascend.com>
99863
99864         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99865
99866 1999-05-10  Jim Meyering  <meyering@ascend.com>
99867
99868         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99869
99870         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99871         AC_FUNC_MKTIME.
99872
99873 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99874
99875         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99876
99877 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99878
99879         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99880         not CPPFLAGS, so that linking works correctly in IRIX.
99881
99882 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99883
99884         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99885
99886 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99887
99888         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99889         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99890         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99891         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99892         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99893
99894         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99895
99896 1999-04-20  Jim Meyering  <meyering@ascend.com>
99897
99898         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99899         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99900         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99901
99902 1999-04-18  Jim Meyering  <meyering@ascend.com>
99903
99904         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99905         * m4/jm-macros.m4: Use it.
99906
99907 1999-04-06  Jim Meyering  <meyering@ascend.com>
99908
99909         * m4/strftime.m4: Remove test for %f.
99910
99911 1999-03-29  Jim Meyering  <meyering@ascend.com>
99912
99913         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99914         superset of the AC_TYPE_* checks in the textutils, fileutils,
99915         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99916         AC_TYPE_PID_T.
99917
99918 1999-03-28  Jim Meyering  <meyering@ascend.com>
99919
99920         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99921         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99922         replaced e.g., in the *.sh files of the sh-utils.
99923
99924 1999-03-20  Jim Meyering  <meyering@ascend.com>
99925
99926         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99927         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99928         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99929
99930 1999-03-19  Jim Meyering  <meyering@ascend.com>
99931
99932         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99933
99934 1999-03-12  Jim Meyering  <meyering@ascend.com>
99935
99936         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99937
99938 1999-03-07  Jim Meyering  <meyering@ascend.com>
99939
99940         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99941         declared.
99942
99943 1999-02-17  Jim Meyering  <meyering@ascend.com>
99944
99945         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99946         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99947
99948 1999-02-07  Jim Meyering  <meyering@ascend.com>
99949
99950         * m4/group-member.m4: New file -- extracted from sh-utils'
99951         configure.in.
99952
99953         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99954         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99955
99956 1999-02-06  Jim Meyering  <meyering@ascend.com>
99957
99958         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99959         * m4/fnmatch.m4: Likewise.
99960         * m4/getgroups.m4: Likewise.
99961         * m4/lstat.m4: Likewise.
99962         * m4/malloc.m4: Likewise.
99963         * m4/putenv.m4: Likewise.
99964         * m4/realloc.m4: Likewise.
99965         * m4/regex.m4: Likewise.
99966         * m4/stat.m4: Likewise.
99967         * m4/strftime.m4: Likewise.
99968         Suggestion from Alain Magloire.
99969
99970         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99971         * m4/fnmatch.m4: Likewise.
99972         * m4/getgroups.m4: Likewise.
99973         * m4/getline.m4: Likewise.
99974         * m4/lstat.m4: Likewise.
99975         * m4/malloc.m4: Likewise.
99976         * m4/memcmp.m4: Likewise.
99977         * m4/putenv.m4: Likewise.
99978         * m4/realloc.m4: Likewise.
99979         * m4/regex.m4: Likewise.
99980         * m4/stat.m4: Likewise.
99981         * m4/strftime.m4: Likewise.
99982         Suggestion from Alain Magloire.
99983
99984         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99985         an argument.
99986
99987         * m4/regex.m4: Add a run-time Test for proper operation of
99988         re_compile_pattern.
99989
99990 1999-01-31  Jim Meyering  <meyering@ascend.com>
99991
99992         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99993
99994 1999-01-30  Jim Meyering  <meyering@ascend.com>
99995
99996         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99997
99998         * m4/jm-mktime.m4: Make this a wrapper around the official
99999         AM_FUNC_MKTIME rather than my private copy, now that the official one
100000         is up to date.
100001         * m4/mktime.m4: Remove file.
100002
100003         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
100004         * m4/uptime.m4: Likewise.
100005         * m4/uintmax_t.m4: Likewise.
100006
100007 1999-01-28  Jim Meyering  <meyering@ascend.com>
100008
100009         * m4/jm-macros.m4: Use jm_AFS.
100010         * m4/afs.m4: New file (from fileutils' configure.in).
100011
100012         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
100013         * m4/chown.m4: Likewise.
100014         * m4/d-ino.m4: Likewise.
100015         * m4/d-type.m4: Likewise.
100016         * m4/fnmatch.m4: Likewise.
100017         * m4/getgroups.m4: Likewise.
100018         * m4/gettext.m4: Likewise.
100019         * m4/jm-mktime.m4: Likewise.
100020         * m4/jm-winsz2.m4: Likewise.
100021         * m4/lcmessage.m4: Likewise.
100022         * m4/ls-mntd-fs.m4: Likewise.
100023         * m4/malloc.m4: Likewise.
100024         * m4/memcmp.m4: Likewise.
100025         * m4/putenv.m4: Likewise.
100026         * m4/realloc.m4: Likewise.
100027         * m4/st_mtim.m4: Likewise.
100028         * m4/strftime.m4: Likewise.
100029
100030 1999-01-16  Jim Meyering  <meyering@ascend.com>
100031
100032         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
100033         (ARGMATCH_DIE_DECL): Define.
100034
100035 1999-01-12  Jim Meyering  <meyering@ascend.com>
100036
100037         * m4/Makefile.am.in: Rewrite to avoid using fmt.
100038         Reported by Lars Hecking.
100039
100040 1999-01-10  Jim Meyering  <meyering@ascend.com>
100041
100042         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
100043         gross kludge.
100044         * m4/inttypes_h.m4: Likewise.
100045         * m4/lstat.m4: Likewise.
100046         * m4/malloc.m4: Likewise.
100047         * m4/readdir.m4: Likewise.
100048         * m4/realloc.m4: Likewise.
100049         * m4/st_dm_mode.m4: Likewise.
100050         * m4/stat.m4: Likewise.
100051         * m4/utimbuf.m4: Likewise.
100052         * m4/utimes.m4: Likewise.
100053
100054         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
100055         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
100056         comments in config.h.in are meaningful.
100057
100058         * m4/jm-macros.m4: Require autoconf-2.13 here.
100059
100060         * m4/regex.m4: By default, don't use the included regex.c on systems
100061         with glibc 2.  Suggestion from Uli Drepper.
100062
100063 1999-01-02  Jim Meyering  <meyering@ascend.com>
100064
100065         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
100066
100067 1998-12-18  Jim Meyering  <meyering@ascend.com>
100068
100069         * m4/Makefile.am.in (Makefile.am): Simplify rule.
100070         Based on a suggestion from Lars Hecking.
100071
100072 1998-11-16  Paul Eggert  <eggert@twinsun.com>
100073
100074         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
100075
100076 1998-11-16  Jim Meyering  <meyering@ascend.com>
100077
100078         * m4/lfs.m4: Double-quote the `uname...` expression.
100079
100080 1998-11-14  Jim Meyering  <meyering@ascend.com>
100081
100082         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
100083         * m4/stat.m4: Likewise.
100084
100085 1998-11-03  Jim Meyering  <meyering@ascend.com>
100086
100087         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
100088         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
100089
100090 1998-10-18  Jim Meyering  <meyering@ascend.com>
100091
100092         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
100093
100094 1998-10-17  Jim Meyering  <meyering@ascend.com>
100095
100096         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
100097         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
100098         calls for those previously hard-coded headers.  Instead, take a new
100099         parameter.
100100         (jm_CHECK_DECLARATIONS): Reflect interface change.
100101         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
100102         (jm_CHECK_DECL_LOCALTIME_R): New macro.
100103
100104         * m4/mktime.m4: Test for spring-forward gap before long-running test.
100105
100106 1998-10-14  Jim Meyering  <meyering@ascend.com>
100107
100108         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
100109         instead of "TZ=America/Vancouver".  From Paul Eggert.
100110
100111 1998-10-11  Jim Meyering  <meyering@ascend.com>
100112
100113         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
100114         This adds a test for a recently added compatibility fix for mktime.c.
100115         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
100116
100117 1998-09-27  Jim Meyering  <meyering@ascend.com>
100118
100119         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
100120
100121         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
100122         ../configure.in, including a change from Gordon Matzigkeit to allow
100123         cross-compiling for the Hurd.
100124
100125         * m4/glibc.m4: New file/macro to test for the GNU C Library
100126         versions 1 and 2.  From Gordon Matzigkeit.
100127         Indent.
100128
100129 1998-09-21  Jim Meyering  <meyering@ascend.com>
100130
100131         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
100132
100133 1998-08-18  Paul Eggert  <eggert@twinsun.com>
100134
100135         Port nanosecond-resolution times to UnixWare 2.1.2 and
100136         pedantic Solaris 2.6.
100137
100138         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
100139         AC_STRUCT_ST_MTIM.
100140         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
100141         Generate name of ns member, instead of just 1 or undef.
100142         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
100143
100144 1998-08-15  Jim Meyering  <meyering@ascend.com>
100145
100146         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
100147         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
100148         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
100149         instead of jm_TYPE_SSIZE_T.
100150
100151 1998-08-12  Jim Meyering  <meyering@ascend.com>
100152
100153         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
100154
100155 1998-08-02  Jim Meyering  <meyering@ascend.com>
100156
100157         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
100158         in acconfig.h manually.
100159
100160 1998-07-31  Paul Eggert  <eggert@twinsun.com>
100161
100162         * m4/st_mtim.m4: New file.
100163
100164 1998-07-28  Jim Meyering  <meyering@ascend.com>
100165
100166         * m4/utimes.m4: Undef stat.
100167
100168 1998-07-25  Jim Meyering  <meyering@ascend.com>
100169
100170         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
100171         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
100172
100173 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
100174
100175         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
100176         uid and gid actually remain unchanged.
100177
100178 1998-07-07  Jim Meyering  <meyering@ascend.com>
100179
100180         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
100181
100182 1998-07-04  Jim Meyering  <meyering@ascend.com>
100183
100184         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
100185         to prove that this macro can be used in packages without regex.c.
100186
100187 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
100188
100189         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
100190         is to be used.
100191
100192 1998-07-03  Jim Meyering  <meyering@ascend.com>
100193
100194         * m4/gettext.m4: Add -lintl if it's found to be necessary.
100195
100196         * m4/gettext.m4: New file -- from gettext-0.10.35.
100197         * m4/lcmessage.m4: Likewise.
100198         * m4/progtest.m4: Likewise.
100199
100200         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
100201         * m4/jm-macros.m4: Require the new macro.
100202
100203 1998-06-29  Jim Meyering  <meyering@ascend.com>
100204
100205         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
100206         for the definition of NGROUPS (used in a system header included
100207         by sys/mount.h).
100208
100209 1998-06-28  Jim Meyering  <meyering@ascend.com>
100210
100211         * m4/ls-mntd-fs.m4: New file.
100212         * m4/fstypename.m4: New file.
100213
100214         * m4/jm-macros.m4: Require the new macro.
100215         * m4/jm-glibc-io.m4: New file.
100216
100217 1998-05-19  Jim Meyering  <meyering@ascend.com>
100218
100219         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
100220         * m4/lchown.m4: New file.
100221
100222         * m4/Makefile.am.in: New file.
100223         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
100224
100225 1998-05-14  Jim Meyering  <meyering@ascend.com>
100226
100227         * m4/Makefile.am (EXTRA_DIST): Add them.
100228         * m4/jm-macros.m4: New file.
100229         * m4/utimbuf.m4: New file.
100230
100231 1998-05-12  Jim Meyering  <meyering@ascend.com>
100232
100233         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
100234
100235 1998-05-11  Jim Meyering  <meyering@ascend.com>
100236
100237         * m4/isc-posix.m4: New file.
100238
100239 1998-05-10  Jim Meyering  <meyering@ascend.com>
100240
100241         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
100242
100243 1998-05-09  Jim Meyering  <meyering@ascend.com>
100244
100245         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
100246         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
100247         with automake.
100248
100249         * m4/ssize_t.m4: New file.
100250         * m4/mktime.m4: Remove file -- the new automake has this now.
100251
100252 1998-04-26  Jim Meyering  <meyering@ascend.com>
100253
100254         * m4/assert.m4: New file.
100255         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
100256
100257 1998-04-05  Jim Meyering  <meyering@ascend.com>
100258
100259         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
100260         (jm_PREREQ): Use it here.
100261
100262 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
100263
100264         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
100265         in acconfig.h.
100266
100267 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
100268
100269         * m4/prereq.m4: New file.
100270         * m4/error.m4: New file.
100271         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
100272
100273 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
100274
100275         * m4/getline.m4: Don't set am_cv_func_working_getline before the
100276         cache-check for the same variable -- that defeated the purpose of
100277         the test; the test program was never run.  This was a problem only
100278         on systems with losing getline functions -- HP-UX 10.20 is one.
100279         Reported by Bjorn Helgaas.
100280
100281 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
100282
100283         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
100284
100285 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
100286
100287         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
100288
100289         * m4/const.m4: New file.  Use an initializer in this declaration
100290         typedef int charset[2]; const charset x;
100291         Reported by Bob Glickstein.
100292
100293 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
100294
100295         * m4/chown.m4: Fix reversed types on -1 args to chown.
100296         From Kaveh Ghazi.
100297
100298 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
100299
100300         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
100301         Add lseek and memchr.
100302
100303         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
100304         T.E.Dickey <dickey@clark.net> said that some older preprocessors
100305         have a 20-character limit on names.
100306
100307 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
100308
100309         * m4/inttypes_h.m4: New file.
100310         * m4/uintmax_t.m4: New file.
100311         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
100312
100313
100314         -----
100315
100316         Local Variables:
100317         coding: utf-8
100318         End:
100319
100320         Copyright (C) 1997-2013 Free Software Foundation, Inc.
100321
100322         Copying and distribution of this file, with or without
100323         modification, are permitted provided the copyright notice
100324         and this notice are preserved.